Dveloppement
des applications
Android Avances
PRPAR PAR: YASINE LAKHDARI
CONSULTANT DVELOPPEUR
Agenda
Prsentation de la plateforme de
dveloppement mobile Android
Design dune interface utilisateur pour une
application Android
Persistances des donnes: Manipulation des
fichiers
Persistances des donnes: Manipulation des
bases de donnes
Communication Rseaux
Prsentation Android
Android est un systme dexploitation bas sur une version modifie de
Linux.
Lanc par une startup appele Android Inc pour acqurir le monde
du web.
En 2005 le projet ainsi que lquipe des dveloppeurs sont rachets par
Google.
Plateforme de dveloppement mobile free & Open Source.
Versions dAndroid
Code name
Version
API level
(no code name)
1.0
API level 1
(no code name)
1.1
API level 2
Cupcake
1.5
API level 3, NDK 1
Donut
1.6
API level 4, NDK 2
Eclair
2.0
API level 5
Eclair
2.0.1
API level 6
Eclair
2.1
API level 7, NDK 3
Froyo
2.2.x
API level 8, NDK 4
Gingerbread
2.3 - 2.3.2
API level 9, NDK 5
Gingerbread
2.3.3 - 2.3.7
API level 10
Honeycomb
3.0
API level 11
Honeycomb
3.1
API level 12, NDK 6
Honeycomb
3.2.x
API level 13
Ice Cream Sandwich
4.0.1 - 4.0.2
API level 14, NDK 7
Ice Cream Sandwich
4.0.3 - 4.0.4
API level 15, NDK 8
Jelly Bean
4.1.x
API level 16
Jelly Bean
4.2.x
API level 17
Jelly Bean
4.3.x
API level 18
KitKat
4.4 - 4.4.4
API level 19
Lollipop
5.0
API level 21
Fonctionnalits Android
Storage: Avec usage du SQLite
Connectivit: Support de GSM/GPRS,EDGE, UMTS 3G, 4G LTE, WiFi
Messagerie: Support du MMS,SMS.
Navigateurs Web: Navigateurs par dfaut install avec support dautres
navigateur comme: Chrome, Opera..
Support Media: Codec par dfaut install pour supporter: H.263, H.264 (sur
3GP or MP4), MPEG-4 SP, AMR, AMR-WB (sur 3GP), AAC, HE-AAC (sur MP4
3GP), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF et BMP
Support Matriel: GPS, Senseur Accelorometre, Boussole et Camera
integrs.
Multi-touch.
Multi-Tche
Support Flash: Android 2.3 supports Flash 10.1.
Tethering: Pour le partage sans/avec fil dinternet.
Architecture Android
Outils de dveloppement Android
Java 2 Standard Edition (JDK)
Android SDK (Software Development Kit)
Eclipse for Java
Android Development Tools (ADT) plugin Android
pour Eclipse
Installation du ADT
Emulateur Android Virtual Device
Outil permet de simuler un smartphone, Tabletteetc, qui fonctionne
avec le systme dexploitation Android, il permet aussi de paramtrer:
La taille de mmoire alloue.
Taille de lcran
Type de processeur
Version de lOS Android.
Taille despace de stockage interne
et carte mmoire miniSD.
Crer votre premire application
Android
Crer votre premire application
Android
Activits & Intent
Activit:
Une fentre qui contient une interface utilisateur, avec un ou plusieurs
composants UI
Classe Java qui hrite de la classe Activity
Chaque activity charge les Composants UI via le fichier XML dnifie dans
AndroidManifest.xml
Mthodes de base Activity
onCreate(): appellee quand linstance une fois cre.
onStart(): appelle quand lactivit est visible lutilisateur.
onResume(): appelle quand lactivit commence interagire avec
lutilisateur.
onPause(): appel quand lactivit en cours est suspendu.
onStop(): appel quand lactivit en cours est arrte.
onDestroy(): appele quand lactivit est dtruite par le systme,
ntoye de la mmoire.
onRestart():appelle quand lactivit est redmarre aprs un arrt.
Diagramme dtat Activit
Cration
onResume
onPause()
Excution
onStart()
onCreate()
onRestart()
onStop()
onDestroy
destruction
Intents
Ils sont des mchanismes de liaison entre les activits.
Une Application Android contient de 0 au N activit.
intent est considr comme un moyen de navigation entre les
diffrentes Activits.
Syntexe:
Layouts
Cest des composant UI
Dfinie une structure visuelle pour les activits.
Peut tre dfinie en mode:
Dclaratif XML
Impratif sur Java: en crant une instance du Layout dans le fichier classe
java
RelativeLayout
LinearLayout
FrameLayout
GridLayout
TableLayout
Views
Reprsente un formalise de donne sur linterface utilisateur
ListView: pour un affichage squentiel dlments
GridView: pour un affichage organis sous forme de grille.
WebView: pour un affichage des pages via des url web ou bien un
directement un flux HTML.
ImageView: pour affichage des mdia images.
Contrles UI communs
Button: Dfinie un bouton cliquable pour lutilisateur peut executer
une action
EditText, AutoCompleteTextView: un champs texte editable.
Checkbox: on/off switch permet au choix boolen.
RadioGroup, RadioButton: permet la slection dans un choix multiple.
ToggleButton: cest un bouton indiquant ltat on/off
Spinner: liste droulante de valeur slectionner.
DatePicker, TimePicker: contrles pour slection de date et heure.
Menus
Elments dexprience utilisateur.
Persistance des donnes
Prfrence de utilisateurs
Mcanisme de sauvegarde des donne de configuration des
utilisateurs.
Exemple: Taille de la police.
Facilite la gestion des donnes htrognes de petites tailles.
Lobjet SharedPreferences permet de saugevarder les donnes de
lutilisateurs dans un fichier XML.
Lobjet SharedPreferences permet aussi de retrouver les donne
avec facilit.
Le stockage est sous forme de paires key,Value
Stockage sur le fichiers
Il existe deux type de stockage de fichier:
Internal Storage (mmoire interne)
SD Storage ( carte mmoire )
Recommand pour les donnes non structurs.
Ecriture:
Classe: FileOutputStream
Lecture:
Classe: FileInputStream
Modes daccs des fichiers
MODE_WORLD_READABLE: Accessible pour tout le monde.
MODE_PRIVATE: accs rserv juste lapplication qui la cr.
MODE_APPEND: Ecrit le contenu la fin du fichier quand il existe dj.
MODE_WORLD_WRITABLE: fichier accessible en criture tout le monde
Stockage externe (SD Card)
Ajout de la permission android.permission.WRITE_EXTERNAL_STORAGE
Classe File
Rcupration du chemin du rpertoire des la carte mmoire.
Cration du rpertoire dans la carte mmoire.
Cration du flux dcriture FileOutputStream
Ecriture du contenu en utilisant la classe: OutputStreamWriter
Manipulation des bases de donnes
Moyen efficace et simple pour le stockage des donnes.
Slection des donne performante via les requtes SQL.
Assure lintgrit des donnes.
Android utilise le systme des bases de donne SQLite
SQLite est un systme de gestion des bases de donne bas sur des
fichiers
Les fichiers de base de donnes sont sauvegards dans le repertoire:
Data/data/<nom du package>/databases
Classe de manipulation des bases de donnes hrite de la base de
base : SQLiteOpenHelper
Bonne pratique est de crer une Classe DBHelper qui contient toutes les
mthodes de cration, insertion, modification et suppression des
donnes.
Manipulation des bases de donnes
Initialisation des variables:
Manipulation des bases de donnes
Cration de la base de donne si elle nexiste pas.
Manipulation des bases de donnes
Consommation des Web Services
Web Services sont un moyen de communication de donne interplateformes
Communication base sur les protocoles HTTP/HTTPS.
Format dchange de donne est bas sur SOAP (Simple Object
Access Protocol).
Consommation des Web Services
Implmentation:
Inspection du fichier descriptif du Web Service WSDL.
Ajout de la rfrence kSoap.
Ajout du fichier jar ksoap dans
le rpertoire /libs
Consommation des Web Services
Initialisation des variables:
Namespace du Web Service
URL: adresse du Service Web
Enveloppe Soap avec la version
Consommation des Web Services
Les appels Web Services doivent tre implment dans les thread
spars.
Les appels WS hritent des la classe AsyncTask<?,?,?>