Android Programming
& NFC Technology Course 1
Nour EL MADHOUN
nour.el-madhoun@lip6.fr
Outline
• What’s Android
• Android Architecture
• Android Application Components
• ‘Hello World’ on Android
• What’s NFC Technology
2
What’s Android
Motorola Cliq HTC G1 Samsung i7500 HTC Hero
Sony X10
What’s Android
4
• Android is a software stack for mobile devices that includes an operating system, middleware and key applications
• Android is based on JAVA and all its applications are developed in JAVA
• Android SDK offers rich tools for android application development and many useful APIs
Android Architecture
Android Application Components
6
Activity
◦ Present a visual user interface for one focused endeavor the user can undertake
◦ Example: a list of menu items users can choose from
Services
◦ Run in the background for an indefinite period of time
◦ Example: calculate and provide the result to activities that need it
Android Application Components
Broadcast Receivers
◦ Receive and react to broadcast announcements
◦ Example: announcements that the time zone has changed
Content Providers
◦ Store and retrieve data and make it accessible to all applications
◦ Example: Android ships with a number of content providers for common data types (e.g., audio, video, images, personal contact information, etc.)
Android Application Components
8
Intents
◦ Hold the content of a message
◦ Example: convey (transmet) a request for an activity to present an image to the user or let the user edit some text
Android Application Components
Activities
- Une application Android est généralement composée de plusieurs activités liées les unes aux autres
- L’activité affichée au lancement de l’application est appelée « activité main »
- Chaque activité peut en lancer une autre pour effectuer différentes actions et respecte un cycle de vie
Android Application Components
10
Cycle de vie d’une activité
Android Application Components
Cycle de vie d’une activité
Android Application Components
12
- onCreate() : est appelée au premier lancement de l’activité, ou si celle-ci est ressuscitée
- onStart() : est exécutée après chaque onCreate() ou onRestart(), elle permet de charger les données lorsque l’activité est visible par l’utilisateur
- onRestart() : est lancée lorsque l’activité repasse au
premier plan après avoir été arrêtée via onStop()
Android Application Components
- onResume() : est exécutée lorsque l’activité est passée en avant plan (permet la mise à jour des données)
- onPause() : est appelée chaque fois que l’utilisateur change d’activité ou quand celui-ci ferme l'activité (permet la sauvegarde des données)
- onStop() : est lancée avant chaque mise en sommeil de
l’activité (permet la libération des ressources)
Android Application Components
14
- onDestroy() : est exécutée lors de l’arrêt de
l’activité, elle met fin au cycle de vie.
Android Application Components
Layout
- La structure visuelle d’une activité est décrite dans un fichier .xml appelé layout
- Chaque activité a son propre fichier layout pour la décrire - Par exemple, on associera l’activité MainActivity au fichier
activity_main.xml qui est généré automatiquement lors de la création de l’activité
Android Application Components
16
Fichier Manifest
- Le fichier Manifest indique au système qu’un composant qui veut se lancer existe déjà
- L’application doit déclarer tous ses composants, notamment les activités, dans un fichier AndroidManifest.xml
Android Application Components
Fichier Manifest
- Ce fichier comprend également:
*les informations concernant les permissions requises par l’application,
*le niveau minimum de l’API,
* les caractéristiques logicielles et matérielles et les
Android Application Components
18
Android Application Components
Ressources de l’application
- En complément du code, une application Android a besoin de ressources séparées du code comme:
des images, des fichiers son, etc.
Android Application Components
20
Ressources de l’application
- Pour chaque ressource inclue dans l’application:
*les outils de construction SDK définissent un unique entier nommé ID
* Cet ID est utilisé pour faire référence à la ressource à partir du code ou d’autres ressources .xml
‘Hello World’ On Android
‘Hello World’ On Android
22
‘Hello World’ On Android
‘Hello World’ On Android
24
‘Hello World’ On Android
‘Hello World’ On Android
26
‘Hello World’ On Android
‘Hello World’ On Android
28
‘Hello World’ On Android
‘Hello World’ On Android
30
What’s NFC Technology
- Le NFC (Near Field Communication) est une technologie permettant d'échanger des données à une distances très faible (moins de 5cm), entre deux appareils équipés de NFC sans contact
- Le NFC est intégré dans certains téléphones portables sous forme d’une antenne, ainsi que sur certaines cartes de transport ou de paiement (permettant le paiement sans contact)
Next Course
What’s NFC Technology
32