Android

  • 1,000 views
Uploaded on

Introduction to the Android platform

Introduction to the Android platform

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,000
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
17
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1.  
  • 2. Agenda
      • Wat is Android
      • Waarom Android
      • Waaruit bestaat een applicatie
      • Zelf aan de slag / voorbeelden
  • 3. Wat is het
      • Een modern operating systeem voor mobiele apparaten
      • Linux kernel 2.6 
      • Java 5 compatible VM
      • Open Source
      • Google / Open Handset Alliance
  • 4. Waarom is het interessant?
      • Open platform
      • Niet device gebonden
      • Open Source (http://android.git.kernel.org/)
      • Java
      • Mobiel!
  • 5. de android stack  
  • 6.  
    •  
  • 7. Java Framework
      • J2SE ipv J2ME
      • Dalvik VM: snelle register gebaseerde VM
        • eigen bytecode (.java => .class => .dex)
        • geen JIT
      • modular app architecture
        • screens & services ipv black boxes
      • Andere applicaties als 'service' benaderbaar
      • Apps draaien in hun eigen proces
      • Achtergrond processen (!!)
      • Alternatieve frameworks mogelijk
  • 8. applicaties  
  • 9.  
    • myapp.apk één of meer activities AndroidManifest.xml Views Layouts Intents & IntentReceivers Permissies Services Notifications Content providers
  • 10. Een applicatie is dus een verzameling activities die gebruik maken van services, beschikken over resources en praten met de hardware.
  • 11. Activity lifecycle
    •  
  • 12. views  
  • 13.
      • Rijke Java UI API
        • layouts en widgets
      • Gericht op 'maatwerk'
        • inherit and override a base widgets
        • combine existing widgets
        • fully draw yourself
          • View::onDraw(Canvas canvas)
        • 9-Patch Bitmaps
      • Ontworpen voor 'alternatieve' controllers
        • padmode, touchmode
        • context menu with a long touch
      • Animation framework 
      • OpenGL
      • Framework voor preferences
      • Skinning
    •  
  • 14. controllers en sensors  
  • 15.  
      • GPS
      • Beweging
      • Kompas
      • Camera
      • Thermometer
  • 16. Performance?
      • Objecten maken is duur
      • Pas op je scopes!
      • Variabelen goedkoper dan object fields (bijv: array.length)
      • Final, final, final!
      • Virtual ipv Inteface (ArrayList list = new ArrayList())
      • Geen getters en setters... maak instance viariabelen final en public
      • Native methods waar mogelijk (substring, indexOf)
  • 17. Aan de slag
      • installeer JDK 1.5
      • installeer Android SDK
        • Tooling zoals debugger, file sync, screen dumper
        • Emulator
        • Eclipse design plugins
      • installeer eclipse
      • bekijk SDK docs
      • bekijk de voorbeelden en API demos 
        • let op, véél voorbeelden op het web gebruiken oudere versies van de SDK
  • 18. voorbeeld: Hello World!  
  • 19. voorbeeld: tw33t0r
      • messaging client
      • maakt gebruik van de twitter api
      • background service voor notificaties
      • offline storage in SQLLite
    •  
    •          ==> www.tw33t0r.com
  • 20.  
  • 21. Cool:
    • Wikitude AR Travel Guide:  
    • http://www.youtube.com/watch?v=tpaJBu4BEuA
  • 22.  
  • 23. Owja, de Android Market...
      • Bestaat sinds oktober '08
      • Sinds februari '09 betaalde apps in de US/UK 
        • Google Checkout system
      • $25 registration fee per developer
      • developer krijgt 70% van de verkopen
      • prijs moet tussen $0.99 - $200
        • geen "I'm rich!"-apps
      • 13 jaar of ouder
      • Geld terug binnen 1 dag
      • Geen 'explicit' content
      • Upgrade systeem
      • User ratings
      • Uninstall percentage