Cours android

Cours avancé Android apprendre à programmer des applications


Télécharger Cours avancé Android apprendre à programmer des applications

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


Développement des applications

Android Avancées

PRÉPARÉ PAR: YASINE LAKHDARI CONSULTANT DÉVELOPPEUR

Agenda

u  Présentation de la plateforme de développement mobile « Android »

u  Design d’une interface utilisateur pour une application Android

u  Persistances des données: Manipulation des fichiers

u  Persistances des données: Manipulation des bases de données

u  Communication  Réseaux

Présentation Android

u  Android est un système d’exploitation basé sur une version modifiée de Linux.

u  Lancé par une startup appelée « Android Inc » pour acquérir le monde du web.

u  En 2005 le projet ainsi que l’équipe des développeurs sont rachetés par Google.

u  Plateforme de développement mobile free & Open Source.

Versions d’Android

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

Fonctionnalités Android

u  Storage: Avec usage du SQLite 

u  Connectivité: Support de GSM/GPRS,EDGE, UMTS 3G, 4G LTE, WiFi u Messagerie: Support du MMS,SMS. 

u  Navigateurs Web: Navigateurs par défaut installé avec support d’autres navigateur comme: Chrome, Opera..

u  Support Media: Codec par défaut 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

u  Support Matériel: GPS, Senseur Accelorometre, Boussole et Camera integrés.

u  Multi-touch.

u  Multi-Tâche

u  Support Flash: Android 2.3 supports Flash 10.1.

u  Tethering: Pour le partage sans/avec fil d’internet.

Architecture Android

 

Outils de développement Android

u  Java 2 Standard Edition (JDK)

u  Android SDK (Software Development Kit)

u  Eclipse for Java

u  Android Development Tools (ADT) plugin Android pour Eclipse 

Installation du ADT

 

Emulateur « Android Virtual Device »

u  Outil permet de simuler un smartphone, Tablette…etc, qui fonctionne avec le système d’exploitation Android, il permet aussi de paramétrer:

u  La taille de mémoire allouée.

u  Taille de l’écran

u  Type de processeur

u  Version de l’OS Android.

u  Taille d’espace de stockage interne  u et carte mémoire miniSD.

Créer votre première application « Android »

 

Créer votre première application « Android »

Activités & Intent

u  Activité: 

u  Une fenêtre qui contient une interface utilisateur, avec un ou plusieurs composants UI

u  Classe Java qui hérite de la classe « Activity »

 

u  Chaque activity charge les Composants UI via le fichier XML dénifie dans

Méthodes de base ”Activity”

u  onCreate(): appellee quand l’instance une fois crée.

u  onStart(): appellée quand l’activité est visible à l’utilisateur.

u  onResume(): appellée quand l’activité commence à interéagire avec l’utilisateur.

u  onPause(): appelé quand l’activité en cours est suspendu.

u  onStop(): appelé quand l’activité en cours est arrêtée.

u  onDestroy(): appelée quand l’activité est détruite par le système, nétoyée de la mémoire.

u  onRestart():appellée quand l’activité est redémarrée après un arrêt.

Diagramme d’état « Activité »

 

Intents

u  Ils sont des méchanismes de liaison entre les activités.

u  Une Application Android contient de 0 au N activité.

u  « intent » est considéré comme un moyen de navigation entre les différentes Activités.



u  Syntexe:

Layouts

u  C’est des composant UI 

u  Définie une structure visuelle pour les activités.

u  Peut être définie en mode:

u  Déclaratif XML

u  Impératif sur Java: en créant une instance du Layout dans le fichier classe java

u  RelativeLayout

u  LinearLayout

u  FrameLayout

u  GridLayout

u  TableLayout

Views

u  Représente un formalise de donnée sur l’interface utilisateur

ListView: pour un affichage séquentiel d’éléments

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 média images.

 

Contrôles UI communs

u  Button: Définie un bouton cliquable pour l’utilisateur peut executer une action

u  EditText, AutoCompleteTextView: un champs texte editable.

u  Checkbox: on/off switch permet au choix booléen.

u  RadioGroup, RadioButton: permet la sélection dans un choix multiple.

u  ToggleButton: c’est un bouton indiquant l’état on/off u Spinner: liste déroulante de valeur à sélectionner.

u  DatePicker, TimePicker: contrôles pour sélection de date et heure.

Menus

u Eléments d’expérience utilisateur.

 

Persistance des données

Préférence de utilisateurs

u   Mécanisme de sauvegarde des donnée de configuration des utilisateurs.

u   Exemple: Taille de la police.

u   Facilite la gestion des données hétérogènes de petites tailles.

u   L’objet « SharedPreferences  »  permet de saugevarder les données de l’utilisateurs dans un fichier XML.

u   L’objet « SharedPreferences  » permet aussi de retrouver les donnée avec facilité.

u   Le stockage est sous forme de paires « key,Value »

Stockage sur le fichiers

u  Il existe deux type de stockage de fichier:

u  Internal Storage (mémoire interne)

u  SD Storage ( carte mémoire )

u  Recommandé pour les données non structurés.

u  Ecriture:

u  Classe: FileOutputStream

u  Lecture:

u  Classe: FileInputStream

Modes d’accès des fichiers

u  MODE_WORLD_READABLE: Accessible pour tout le monde.

u  MODE_PRIVATE: accès réservé juste à l’application qui l’a créé.

u  MODE_APPEND: Ecrit le contenu à la fin du fichier quand il existe déjà.

u  MODE_WORLD_WRITABLE: fichier accessible en écriture à tout le monde

Stockage externe (SD Card)

u  Ajout de la permission « android.permission.WRITE_EXTERNAL_STORAGE »

u  Classe « File »

u  Récupération du chemin du répertoire des la carte mémoire.

u  Création du répertoire dans la carte mémoire.

u  Création du flux d’écriture « FileOutputStream »

u  Ecriture du contenu en utilisant la classe: «OutputStreamWriter»

 

u  Moyen efficace et simple pour le stockage des données.

u  Sélection des donnée performante via les requêtes SQL.

u  Assure l’intégrité des données.

u  Android utilise le système des bases de donnée SQLite

u  SQLite est un système de gestion des bases de donnée basé sur des fichiers

u  Les fichiers de base de données sont sauvegardés dans le repertoire:

Data/data/<nom du package>/databases

u  Classe de manipulation des bases de données hérite de la base de base : SQLiteOpenHelper

u  Bonne pratique est de créer une Classe DBHelper qui contient toutes les méthodes de création, insertion, modification et suppression des données.

u  Initialisation des variables:

                                                                

u  Création de la base de donnée si elle n’existe pas.


Manipulation des bases de données

 

u  Web Services sont un moyen de communication de donnée interplateformes

u  Communication basée sur les protocoles HTTP/HTTPS.

u  Format d’échange de donnée est basé sur SOAP (Simple Object Access Protocol).

u  Implémentation:

u  Inspection du  fichier descriptif du Web Service WSDL.

u  Ajout de la référence kSoap. u Ajout du fichier jar ksoap dans  le répertoire /libs 

u  Initialisation des variables: 

u  Namespace du Web Service

u  URL: adresse du Service Web

u  Enveloppe Soap avec la version

   

u  Les appels Web Services doivent être implémenté dans les thread séparés.

u  Les appels WS héritent des la classe AsyncTask<?,?,?> 

 



34