Android Development CCSS2011



Vergelijkbare documenten
04. Tablets kun je niet meer negeren

DIT is TV Deluxe 4K aansluiten. HDMI kabel/aansluiting. B Internetkabel/aansluiting Geen internetkabel? Stel dan uw WiFi in (zie onderaan deze pagina)

Correspondentie inzake overnemen of reproductie kunt u richten aan:

KPN ÉÉN Software Integratie Outlook. Handleiding

Het gebruik van de smartphone in België

Hoe te werken met Word en SmarTeam?

Hoofdstuk 1: Uw ipad voorbereiden voor optimaal gebruik tijdens Testafnames

LIVE WEBINAR UITZENDEN

Verder met Twitter - Hoe beantwoorden, retweeten + favorieten toevoegen

Een korte handleiding voor het maken van een website met MS Publisher.

ICT-trends, kansen en bedreigingen voor de mkb-accountant

W H I T E P A P E R I N 5 M I N U T E N J U N I De app in een goede mobiele strategie

Basisvaardigheden Microsoft WORD 2010

Handleiding voor het installeren van Serviceapplicatie

DIT IS JOUW HANDLEIDING.

Clair: heldere Europese oplossing voor online kantoorautomatisering

ManualMaster Systeem 6.1 (ManualMaster Administrator, ManualMaster WebAccess en ManualMaster WebEdit)

Inhoud introductie. Introductie tot de cursus

Boekje met opdrachten

Cloud Computing voor het MKB: eigen server of Cloud server?

Snel aan de slag Installatiegids (versie 4.2)

Gebruikershandleiding E-Zorg Remote Access op ipad.

Handleiding Nero Burning ROM

Het is een feit dat in de medische wereld de inzet en toepassing. Daar is ook een app voor! Over medische bibliotheken, mobiel en apps

Nieuw in versie 3.2 1

Importeren loonaangifte uit ander salarispakket

Inhoudsopgave. Mededeling... 2

Algemene opmerkingen Word

Leren vernieuwen. Zo! Open standaarden en open source software in het mbo. Hoe? Open standaarden en open source software in het mbo, Hoe? Zo!

Transcriptie:

Android Development Voor dummies, door dummies... Challenges in Computer Science Seminar LIACS, Universiteit Leiden 15 Februari 2011

Inhoud 1 Introductie 2 Development Environment 3 Programmeren voor Android 4 Demo

Heuh? Android? Open source platform voor smartphones. Gebaseerd op Java en de Linux kernel. Opgezet door Android, Inc. In 2005 overgenomen door Google.

Mobile Operating Systems Marktaandeel wereldwijd van verschillende mobiele besturingssystemen: Operating System Vendor Marktaandeel Q3 2010 Symbian Nokia 36.6 % Android Google 25.5 % ios Apple 16.7 % BlackBerry OS Research In Motion 14.8 % Windows Mobile Microsoft 2.8 % Overig 3.6 % Bron: Gartner, November 2010 - http://www.gartner.com/it/page.jsp?id=1466313

Wat doet een Mobile Operating System? Een mobile OS doet in principe hetzelfde als een desktop OS, dus: Stuurt hardware rechtstreeks aan. Verantwoordelijk voor het opstarten en beheren van applicaties. Biedt services aan applicaties, die het werk van een applicatie-programmeur aanzienlijk vereenvoudigen. Echter: (smartphone desktop computer): Beperkte processorkracht en opslagcapaciteit. Stroomverbruik belangrijk (batterij). Andere manier van interactie met gebruiker/omgeving (GSM, touchscreen, camera, GPS,...).

Mobile Applicaties Een mobile applicatie wordt doorgaans een app genoemd. Een mobile OS en mobile apps dienen efficient om te gaan met de beperkte bronnen. Liever geen while (true) {...} constructies dus.

Mobile Applicaties Een mobile applicatie wordt doorgaans een app genoemd. Een mobile OS en mobile apps dienen efficient om te gaan met de beperkte bronnen. Liever geen while (true) {...} constructies dus. Q: Hoe programmeer je een mobile OS? A: http://android.git.kernel.org/

Mobile Applicaties Een mobile applicatie wordt doorgaans een app genoemd. Een mobile OS en mobile apps dienen efficient om te gaan met de beperkte bronnen. Liever geen while (true) {...} constructies dus. Q: Hoe programmeer je een mobile OS? A: http://android.git.kernel.org/ Q: Hoe programmeer je een Android app? A: http://developer.android.com/ en deze slides.

Development Environment Wat is er nodig om Android apps te maken? Java Development Kit (JDK). Android Software Development Kit (SDK). Iets van een editor (vim, Eclipse,...).

Development Environment Wat is er nodig om Android apps te maken? Java Development Kit (JDK). Android Software Development Kit (SDK). Iets van een editor (vim, Eclipse,...). Om te testen: Een emulator (onderdeel van de Android SDK), of: Een Android smartphone (niet in de Android SDK).

Development Environment Wat is er nodig om Android apps te maken? Java Development Kit (JDK). Android Software Development Kit (SDK). Iets van een editor (vim, Eclipse,...). Om te testen: Een emulator (onderdeel van de Android SDK), of: Een Android smartphone (niet in de Android SDK). Ook nog handig: Documentatie (http://developer.android.com/guide/).

Emulator

Java, moet dat nou? Alternatieve manieren om Android apps te ontwikkelen: Android Native Development Kit (NDK): bedoeld voor tijdskritieke code die je schrijft in C/C++. Sluit aan op de Android SDK. Gebruik een cross-compiler om C/C++ te compileren. Schrijf zelf ARM assembly. Maar: In general, you should only use native code if it is essential to your application, not just because you prefer to program in C/C++. NDK Documentation

Wat is een Android App (niet)? Er is geen public static void main() functie. Je kunt een gecompileerde app niet rechtstreeks executeren op een gewone computer. Android OS kan besluiten je app te pauzeren of zelfs af te sluiten. Je zult dus meer aandacht moeten schenken aan save/restore van de app toestand. System.out en System.err uitvoer gaat standaard naar /dev/null. Gebruik: import android.util.log; log.v("myapp", "Nog steeds niet gecrasht"); log.e("myapp", "Deling door 0"); En dan in een terminal: adb logcat

Waaruit bestaat een Android App? Componenten: bijv. Java broncode. AndroidManifest.xml: lijst van alle componenten in een app + andere meta-info over de app. Layout XML: beschrijving van de User Interface (UI). Welke textlabels, buttons, checkboxes zijn er, wat is hun positie op het scherm, etc. Andere resources, bijv. icoontjes, strings, geluid.

Component types 4 Verschillende componenten: Activity: interactie met gebruiker. Bijv.: afspeellijst venster met play/pause/stop knoppen. Service: draait op achtergrond. Bijv.: daadwerkelijk afspelen van de afspeellijst. Broadcast receiver: luistert naar (systeem-)mededelingen. Bijv.: stop muziek als batterij bijna leeg is. Content provider: levert data aan applicaties. Bijv.: Android levert standaard content providers voor audio, video, afbeeldingen. Een applicatie kan bestaan uit een willekeurig aantal van deze componenten.

Activity componenten Een Activity heeft 3 mogelijke toestanden: Active / Running: De activity heeft de focus. Paused: De activity heeft geen focus, maar is nog wel (deels) zichtbaar. Stopped: De activity heeft geen focus, en is volledig verborgen onder andere apps/activities. Bij iedere toestandsverandering roept het OS een speciale methode aan. Bijv.: onstart(), onpause(), onresume().

Java en Android De meeste standaard Java classes zijn beschikbaar, bijv. java.io.printstream java.util.vector Daarnaast nog een serie Android-specifieke classes, o.a.: android.bluetooth.bluetoothsocket android.hardware.camera android.hardware.sensor android.location.gpsstatus android.media.mediaplayer android.speech.tts.texttospeech android.telephony.smsmanager... Zie verder http://developer.android.com/reference/.

Ontwikkelproces 1 Schrijf de Java code. 2 Verzamel alle benodigde resources (afbeeldingen, XML,...). 3 Compileer de Java code. 4 Produceer een Android PacKage (APK). 5 Signeer de APK met je eigen key of een debug key. 6 Installeer de APK in een smartphone of emulator. 7 Start de applicatie.

Ontwikkelproces 1 Schrijf de Java code. 2 Verzamel alle benodigde resources (afbeeldingen, XML,...). 3 Compileer de Java code. 4 Produceer een Android PacKage (APK). 5 Signeer de APK met je eigen key of een debug key. 6 Installeer de APK in een smartphone of emulator. 7 Start de applicatie. 8 Herhaal 1 7 totdat je het zat bent.

Demo s Eclipse. Android projecten in Eclipse. Gebruik Android emulator/smartphone vanuit Eclipse.