android

23

Upload: peter-maas

Post on 25-May-2015

1.059 views

Category:

Technology


0 download

DESCRIPTION

Introduction to the Android platform

TRANSCRIPT

Page 1: Android
Page 2: Android

Agenda

• Wat is Android • Waarom Android• Waaruit bestaat een applicatie• Zelf aan de slag / voorbeelden

Page 3: Android

Wat is het

• Een modern operating systeem voor mobiele apparaten• Linux kernel 2.6 • Java 5 compatible VM• Open Source• Google / Open Handset Alliance

Page 4: Android

Waarom is het interessant?

• Open platform• Niet device gebonden• Open Source (http://android.git.kernel.org/)• Java• Mobiel!

Page 5: Android

de android stack

 

Page 6: Android

 

 

Page 7: Android

Java Framework

• J2SE ipv J2ME • Dalvik VM: snelle register gebaseerde VM

o eigen bytecode (.java => .class => .dex)o geen JIT

• modular app architecture o screens & services ipv black boxes

• Andere applicaties als 'service' benaderbaar• Apps draaien in hun eigen proces• Achtergrond processen (!!) • Alternatieve frameworks mogelijk

Page 8: Android

applicaties

 

Page 9: Android

 

myapp.apkéén of meer activitiesAndroidManifest.xml

ViewsLayouts

Intents & IntentReceiversPermissies

ServicesNotifications

Content providers

Page 10: Android

Een applicatie is dus een verzameling activities die

gebruik maken van services, beschikken over resources en

praten met de hardware.

Page 11: Android

Activity lifecycle

 

Page 12: Android

views

 

Page 13: Android

• Rijke Java UI API o layouts en widgets

• Gericht op 'maatwerk' o inherit and override a base

widgetso combine existing widgets o fully draw yourself

View::onDraw(Canvas canvas)

o 9-Patch Bitmaps • Ontworpen voor 'alternatieve'

controllers o padmode, touchmode o context menu with a long touch

• Animation framework  • OpenGL • Framework voor preferences• Skinning

 

Page 14: Android

controllers en sensors

 

Page 15: Android

 

• GPS• Beweging• Kompas• Camera• Thermometer

Page 16: Android

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)

Page 17: Android

Aan de slag

• installeer JDK 1.5 • installeer Android SDK

o Tooling zoals debugger, file sync, screen dumpero Emulatoro Eclipse design plugins

• installeer eclipse • bekijk SDK docs • bekijk de voorbeelden en API demos 

o let op, véél voorbeelden op het web gebruiken oudere versies van de SDK

Page 18: Android

voorbeeld: Hello World!

 

Page 19: Android

voorbeeld: tw33t0r

• messaging client• maakt gebruik van de twitter api• background service voor notificaties• offline storage in SQLLite

         ==> www.tw33t0r.com

Page 20: Android
Page 21: Android

Cool:

Wikitude AR Travel Guide: http://www.youtube.com/watch?v=tpaJBu4BEuA

Page 22: Android
Page 23: Android

Owja, de Android Market...

• Bestaat sinds oktober '08• Sinds februari '09 betaalde apps in de US/UK 

o Google Checkout system • $25 registration fee per developer • developer krijgt 70% van de verkopen • prijs moet tussen $0.99 - $200

o geen "I'm rich!"-apps • 13 jaar of ouder• Geld terug binnen 1 dag• Geen 'explicit' content • Upgrade systeem • User ratings • Uninstall percentage