resumé android
DESCRIPTION
toutes les bases d'androidTRANSCRIPT
Chapitre 1 : Initiation au développement d’applications Android
• Un périphérique mobile : Pas de disque dur mais une ROM, Fonctionne sur batterie, Moyensde communication variés , Pas de clavier/souris
• Android: un système d'exploitation open source pour Smartphones, PDA et terminauxmobiles
Architecture de la plateforme
De quoi on a besoin?
• Java , SDK Android
• IDE Eclipse + plugin ADT (Android Developement Tools) -> réduit le temps dedéveloppement et test
EMULATEUR : AVD(Android Virtuel Device)
• L’émulateur sert à exécuter le code Java et xml que nous avons développer sans avoir besoinde brancher un téléphone réel
Concepts fondamentaux
Concepts fondamentaux à préciser :
• les activités
Une activité peut être assimilée à un écran structuré par un ensemble de vues et decontrôles composant son interface de façon logique : elle est composée d’unehiérarchie de vues contenant elles-mêmes d’autres vues.
Une application comportant plusieurs écrans, possédera donc autant d’activités
• les vues et contrôles (et leur mise en page)
Les vues sont les éléments de l’interface graphique que l’utilisateur voit et surlesquels il pourra agir. Les vues contiennent des composants, organisés selon diversesmises en page (les uns à la suite des autres, en grille…).
Les contrôles (boutons, champs de saisie, case à cocher, etc.) sont eux-mêmes unsous-ensembles des vues. Ils ont besoin d’accéder aux textes et aux images qu’ilsaffichent (par exemple un bouton représentant un téléphone aura besoin de l’image dutéléphone correspondante). Ces textes et ces images seront puisés dans les fichiersressources de l’application.
• les ressources ;
• le fichier de configuration appelé également "manifeste"
Le fichier de configuration XML de l’application. C’est un fichier indispensable àchaque application qui décrit entre autres :
le point d’entrée de votre application (quel code doit être exécuté au démarrage del’application) ;
quels composants constituent ce programme ; les permissions nécessaires à l’exécution du programme (accès à Internet, accès à
l’appareil photo...)..
Composantes d’une application Android
▫ Composants applicatifs : activités , services , fournisseurs de contenu , gadgets
Activity (Activité):représente le bloc de base d’une application. Elle correspond àla partie présentation de l’application et fonctionne par le biais de vues quiaffichent des interfaces graphiques et répondent aux actions utilisateur. Uneactivité correspond à un écran mais elle peut contenir plusieurs vues.Content providers (fournisseurs de contenus): permet de gérer et de partagerdes informations. Un même fournisseur permet d’accéder à des données au seind’une application et entre applications (partage des données).Le service est un composant qui fonctionne en tâche de fond, de manièreinvisible.Ses principales utilisations sont la mise à jour de sources de donnéesainsi que d’activités visibles et le déclenchement de notifications.Le gadget est un composant graphique qui s’installe sur le bureau Android. Lecalendrier qui affiche de l’information ou le lecteur audio qui permet de contrôlerla lecture de fichiers sont deux exemples de gadgets que l’on trouve souvent surun écran d’accueil.
▫ Éléments d’interaction : objets Intent , récepteurs d’Intents , notifications.
Intents (intentions): Les intentions sont des messages système. Elles sontémises par le terminal pour prévenir les applications de la survenue dedifférents événements, exp: une modification matérielle (comme l’insertiond’une carte SD) ou l’arrivée de données (telle la réception d’un SMS)
Récepteur d’Intents : il permet à une application d’être à l’écoute des autresafin de répondre aux objets Intent qui lui sont destinés et qui sont envoyéspar d’autres composants applicatifsNotification : une notification signale une information à l’utilisateur sansinterrompre ses actions en cours
Cycle de Vie d’une application Android Une activité possède trois états :
Active (running) : Quand l'activité est au premier planet reçoit les actions utilisateur.
Stopped : Quand elle n'est plus visible ( Toujoursvivante Mais sera tuée des que des ressources serontnécessaires. )
Paused : Quand elle est toujours visible mais n'a pas lefocus (autre activité transparente par dessus ouactivité ne prenant pas tout l‘écran) ( Toujours vivanteMais peut être tuée en cas de ressources très limitées)
Le système tue les activités en état "stopped" (ou"paused« ) de deux manières :
En appelant la méthode finish()
En tuant le processus tout simplement
Quand l‘activité sera a nouveau demandée :
Doit être complètement reconstruite
Doit Potentiellement recharger son dernier état
Une activité est notifiée de ses changement d‘état parl'appel à ces méthodes :
void onCreate(Bundle savedInstanceState)
void onStart(), void onRestart(), void onResume()
void onPause(), void onStop(), void onDestroy()
Afin de sauvegarder le contexte le système appelle"onSaveInstanceState()" avant de rendre l'applicationpotentiellement tuable (paused...)
Cet appel fournit un bundle "clé/valeurs" pour que ledéveloppeur puisse sauvegarder l‘état Au prochainappel de "onCreate()" ce bundle sera fournit
L'appel a la sauvegarde n'est faite qu'en cas de risquede terminaison de l‘activité par le système et non sicela vient d'une action utilisateur (back)
Récepteur d’Intents : il permet à une application d’être à l’écoute des autresafin de répondre aux objets Intent qui lui sont destinés et qui sont envoyéspar d’autres composants applicatifsNotification : une notification signale une information à l’utilisateur sansinterrompre ses actions en cours
Cycle de Vie d’une application Android Une activité possède trois états :
Active (running) : Quand l'activité est au premier planet reçoit les actions utilisateur.
Stopped : Quand elle n'est plus visible ( Toujoursvivante Mais sera tuée des que des ressources serontnécessaires. )
Paused : Quand elle est toujours visible mais n'a pas lefocus (autre activité transparente par dessus ouactivité ne prenant pas tout l‘écran) ( Toujours vivanteMais peut être tuée en cas de ressources très limitées)
Le système tue les activités en état "stopped" (ou"paused« ) de deux manières :
En appelant la méthode finish()
En tuant le processus tout simplement
Quand l‘activité sera a nouveau demandée :
Doit être complètement reconstruite
Doit Potentiellement recharger son dernier état
Une activité est notifiée de ses changement d‘état parl'appel à ces méthodes :
void onCreate(Bundle savedInstanceState)
void onStart(), void onRestart(), void onResume()
void onPause(), void onStop(), void onDestroy()
Afin de sauvegarder le contexte le système appelle"onSaveInstanceState()" avant de rendre l'applicationpotentiellement tuable (paused...)
Cet appel fournit un bundle "clé/valeurs" pour que ledéveloppeur puisse sauvegarder l‘état Au prochainappel de "onCreate()" ce bundle sera fournit
L'appel a la sauvegarde n'est faite qu'en cas de risquede terminaison de l‘activité par le système et non sicela vient d'une action utilisateur (back)
Récepteur d’Intents : il permet à une application d’être à l’écoute des autresafin de répondre aux objets Intent qui lui sont destinés et qui sont envoyéspar d’autres composants applicatifsNotification : une notification signale une information à l’utilisateur sansinterrompre ses actions en cours
Cycle de Vie d’une application Android Une activité possède trois états :
Active (running) : Quand l'activité est au premier planet reçoit les actions utilisateur.
Stopped : Quand elle n'est plus visible ( Toujoursvivante Mais sera tuée des que des ressources serontnécessaires. )
Paused : Quand elle est toujours visible mais n'a pas lefocus (autre activité transparente par dessus ouactivité ne prenant pas tout l‘écran) ( Toujours vivanteMais peut être tuée en cas de ressources très limitées)
Le système tue les activités en état "stopped" (ou"paused« ) de deux manières :
En appelant la méthode finish()
En tuant le processus tout simplement
Quand l‘activité sera a nouveau demandée :
Doit être complètement reconstruite
Doit Potentiellement recharger son dernier état
Une activité est notifiée de ses changement d‘état parl'appel à ces méthodes :
void onCreate(Bundle savedInstanceState)
void onStart(), void onRestart(), void onResume()
void onPause(), void onStop(), void onDestroy()
Afin de sauvegarder le contexte le système appelle"onSaveInstanceState()" avant de rendre l'applicationpotentiellement tuable (paused...)
Cet appel fournit un bundle "clé/valeurs" pour que ledéveloppeur puisse sauvegarder l‘état Au prochainappel de "onCreate()" ce bundle sera fournit
L'appel a la sauvegarde n'est faite qu'en cas de risquede terminaison de l‘activité par le système et non sicela vient d'une action utilisateur (back)
Première application Android
• Package Name : Par convention, le nom du package s’écrit de cette forme suivante :extension_de_votre_domaine.nom_du_domaine.nom_du_projet exp: com.LFI3.HelloWorld
• Create Activity : c'est l'Activity principale de l'application, on peut la nommer :HelloWorldActivity , cette Activity est représentée par une classe JavaHelloWorldActivity.java
• gen : dossier qui contiendra le fichier R.java (cefichier est généré automatiquement à partir devos vues et fichiers de ressource généré par le SDKAndroid à chaque précompilation.).
• assets : contient des données qui pourront êtreutilisées dans votre application (images, vidéos,licence, etc.).
• res : c'est le dossier qui contiendra les ressourcesde votre application (images, vidéos, styles).
drawable-hpdi (mdpi/ldpi): contient toutes les images,bitmaps dont vous avez besoin pour votre application enhaute(medium/low ) résolution
Icon.png : l'icône de votre application, cette icône seraaffichée sur le bureau
• layout : le SDK Android offre une technique decréation d'interfaces graphiques à l'aide defichiers XML. C'est dans ce dossier que vousinclurez l'ensemble des fichiers décrivant vosinterfaces
• Main.xml : le fichier principal de votre interface.
• values : ce dossier contient un ensemble defichiers décrivant les valeurs (pseudovariables)utilisées par votre application. On peut, parexemple, y mettre des chaînes de caractères(strings.xml), des tableaux (arrays.xml), desentiers, des couleurs, etc.
• Strings.xml : fichier qui contient vos déclarationsde chaînes de caractères.
• AndroidManifest.xml : définit le comportementde votre application au système Android. Cefichier définit par exemple le nom, l'icône, laversion min du SDK, les activités, les services, etc.Précise le nom du package java utilisantl'application. Cela sert d'identifiant unique !
Chapitre 2
AndroidManifest.xml
Fichier XML
Précise l'architecture de l'application
Chaque application doit en avoir un
AndroidManifest.xml a la racine du projet
Il décrit les composants de l'application
Liste des activités, services, broadcast receivers
Précise les classes qui les implémentent
Précise leurs capacités (a quels intents ils réagissent)
Ceci permet au système de savoir comment lancer chaque partie de l'application afin desatisfaire au principe de réutilisabilité.
Définit les permissions de l'application
Droit de passer des appels
Droit d'accéder a Internet
Droit d'accéder au GPS,…
Précise la version d'Android minimum nécessaire
Déclare les librairies utilisées
Conventions :
Seuls deux éléments sont obligatoire
< manifest > : contient le package, la version... Englobe tout le fichier
< application > : décrit l'application et contiendra la liste de ses composants.
Les données sont passées en tant qu'attribut et non en tant que contenu
Tous les attributs commencent par "android:" (sauf quelques un dans < manifest >)
Les ressources
Au lieu de contenir les données en tant que tel, le fichier manifest peut faire appel a desressources: < activityandroid : icon ="@drawable=smallPic"::: >
Ces ressources sont définies dans le répertoire "res" de l'application.
Permissions :
Une application ne peux pas utiliser certaines fonctionnalités sauf si c’est précisé dans lefichier Manifest
Il faut donc préciser les permissions nécessaires grâce a :< uses - permission >
Il est possible de définir ses propres permissions
Il existe des permission standard :
android.permission.CALL EMERGENCY NUMBERS
android.permission.READ OWNER DATA
android.permission.SET WALLPAPER
android.permission.DEVICE POWER
Intent Filter :
Ils informent le système a quelle intents les composants peuvent réagir
Un composant peut avoir plusieurs filtres
Editeur de texte
Filtre pour éditer un document existant
Filtre pour initier un nouveau document
Un filtre doit posséder une "action" qui définit a quoi il correspond
Déboguer une application Android(Le recherche des bugs...Généralement un débogage consiste àrechercher puis à corriger les erreurs ayant occasionné l'exécution erronée ou le plantage d'uneapplication.Le plus simple, les erreurs de syntaxe... par ex. de banales fautes de frappe ou le nonrespect des règles d'écriture d'un programme informatique dans un langage donné.)
Le débogage est une étape essentielle dans le cycle de vie du développement d’uneapplication.
Communications entre applications
La communication interne du système Android est basée sur ; l’envoi et la réception de messagesexprimant l’intention d’une action, la description abstraite d’une opération à effectuer , lacommunication entre deux composants de la même application ou entre deux composants de deuxapplications différentes.La communication entre applications est Issu de la classe Intent, ce message permet de véhiculertoutes les informations nécessaires à la réalisation de l’action :
◦ • informations à destination du composant qui le réceptionnera (action à effectueret les données avec lesquelles agir) ;
◦ • informations nécessaires au système pour son traitement (catégorie du composantcible du message et instructions d’exécution de l’action).
Deux façons d’envoyer des intents:
1. Mode explicite : en ciblant un composant précis d’une application,
2. Mode implicite : en laissant le système déléguer le traitement (ou non) de cette demande aucomposant le plus approprié
Un système de filtres permet à chaque application de filtrer et de gérer uniquement lesIntents qui sont pertinents pour celle-ci.
Une application peut ainsi être dans un état d’inactivité, tout en restant à l’écoute desintentions circulant dans le système
Principe de fonctionnement(des objets Intent)
Les objets Intent ont essentiellement trois utilisations : ils permettent de démarrer uneactivité au sein de l’application courante((une à la fois)utilisée pour la navigation entreécrans d’une interface graphique et l’appel d’une boîte de dialogue.) ou de solliciter (réclamer ) d’autres applications(Lorsqu’un besoin ne peut être satisfait par l’application elle-même, elle peut solliciter une autre application pour y répondre ) et d’envoyer desinformations.
Autres utilisations (des objets Intent)
démarrage d’un service : Le mécanisme relatif aux objets Intent et leur utilisation sont eneffet indispensables pour les applications fonctionnant en arrière plan telles que les services,
recevoir des actions à effectuer ou communiquer avec d’autres applications.
L’objet Intent
Un objet Intent véhicule toutes les informations nécessaires à la réalisation d’une action (ou à laréception d’information)
le nom du composant ciblé : cette information facultative permet de spécifier de façon nonambigüe le nom du composant qui sera utilisé pour réaliser l’opération.
l’action : une chaîne de caractères définissant l’action à réaliser ou qui s’est produite et pourlaquelle le système ou l’application informe toutes les autres ;
les données : le type de contenu MIME sous la forme d’une chaîne de caractères et lecontenu ciblé sous la forme d’un URI
Exemple : ACTION_VIEW et un URI de la forme http://<adresse du site> ;
la catégorie : cette information complémentaire permet de cibler plus précisément qui devragérer l’Intent émis
Exemple: CATEGORY_BROWSABLE : navigateur
les drapeaux : principalement utilisés pour spécifier comment le système doitdémarrer une activité.Exemple : FLAG_ACTIVITY_NO_ANIMATION
Navigation entre ecrans
Il existe deux méthodes pour démarrer une activité, en fonction de la logique de l’interface
◦ besoin de savoir comment s’est déroulée l’activité (et obtenir un retour lors de sonarrêt),
◦ Ou sans retour.
Démarrer une activité
startActivity :démarrer une activité sans attendre de retour.
Syntaxe:
Intent intent = new Intent(this,ActiviteADemarrer.class);
startActivity(intent);
Le constructeur de la classe Intent prend les paramètres suivants :
• Context PackageContext : le contexte à partir duquel l’Intent est créé et sera envoyé. Ceparamètre fait référence la plupart du temps à l’activité en cours pointée par le mot clef this
• Class<?> cls : un type de classe Java héritant de la classe Activity et pointé ici par le mot clefActiviteADemarrer.class.
erreur du type ActivityNotFoundException déclarer l’activité à démarrer dans le fichier deconfiguration AndroidManifest.xml de l’application
Démarrer une activité et obtenir un retour
startActivityForResult : lorsque l’activité enfant aura terminé sa tâche, elle en avertiral’activité parent.
Syntaxe : (coté activité parent )
private static final int CODE_MON_ACTIVITE = 1;...
Intent intent = new Intent(this,activite2.class);
startActivityForResult(intent, CODE_MON_ACTIVITE);
Syntaxe : (coté activité enfant)
public void onClick(View v) {
switch(v.getId()){
case R.id.button1:
setResult(RESULT_OK);
finish();
break;
case R.id.button2:
setResult(RESULT_CANCELED);
finish();
break; }
Récupérer la valeur de retour
Int requestCode : valeur identifiant quelle activité a appelé la méthode
int resultCode : représente la valeur de retour envoyée par la sous-activité pour signalerson état à la fin de la transaction. C’est une constante définie dans la classe Activity(RESULT_OK, RESULT_CANCELED, etc.) ou par le développeur ;
Intent data : cet objet permet d’échanger des données
Remarques:
si l’activité parent est définie avec l’attribut android:launchMode=«singleInstance» , laméthode OnActivityResult de l’activité parent sera appelée dès le lancement de la sous-activité et non à la fin de l’exécution de l’activité enfant ;
Int requestCode : valeur identifiant quelle activité a appelé la méthode
int resultCode : représente la valeur de retour envoyée par la sous-activité pour signalerson état à la fin de la transaction. C’est une constante définie dans la classe Activity(RESULT_OK, RESULT_CANCELED, etc.) ou par le développeur ;
Intent data : cet objet permet d’échanger des données
Remarques:
si l’activité parent est définie avec l’attribut android:launchMode=«singleInstance» , laméthode OnActivityResult de l’activité parent sera appelée dès le lancement de la sous-activité et non à la fin de l’exécution de l’activité enfant ;
Int requestCode : valeur identifiant quelle activité a appelé la méthode
int resultCode : représente la valeur de retour envoyée par la sous-activité pour signalerson état à la fin de la transaction. C’est une constante définie dans la classe Activity(RESULT_OK, RESULT_CANCELED, etc.) ou par le développeur ;
Intent data : cet objet permet d’échanger des données
Remarques:
si l’activité parent est définie avec l’attribut android:launchMode=«singleInstance» , laméthode OnActivityResult de l’activité parent sera appelée dès le lancement de la sous-activité et non à la fin de l’exécution de l’activité enfant ;
Déléguer (Charger ) au système le choix de l’application
envoyer une intention et demander au système de choisir le composant le plus appropriépour exécuter l’action transmise.
Exemple:
Uri uri = Uri.parse("tel:0612345678");
Intent intent = new Intent(Intent.ACTION_DIAL, uri);
startActivity(intent)
Déléguer (Charger ) au système le choix de l’application
envoyer une intention et demander au système de choisir le composant le plus appropriépour exécuter l’action transmise.
Exemple:
Uri uri = Uri.parse("tel:0612345678");
Intent intent = new Intent(Intent.ACTION_DIAL, uri);
startActivity(intent)
Déléguer (Charger ) au système le choix de l’application
envoyer une intention et demander au système de choisir le composant le plus appropriépour exécuter l’action transmise.
Exemple:
Uri uri = Uri.parse("tel:0612345678");
Intent intent = new Intent(Intent.ACTION_DIAL, uri);
startActivity(intent)
Chapitre 3: Interfaces graphiques
Les élements graphiques héritent de la classe View.
On peut regrouper des éléments graphiques dans une ViewGroup.
Des ViewGroup particuliers sont prédéfinis: ce sont des layouts (gabarits) qui proposent uneprédispositions des objets graphiques:
LinearLayout: dispose les éléments de gauche à droite ou du haut vers le bas
RelativeLayout: les éléments enfants les uns par rapport aux autres
TableLayout: disposition matricielle
FrameLayout: disposition en haut à gauche en empilant les éléments
Les plus importants sont:
android:layout_width et android:layout_height:
◦ ="fill_parent": l'élément remplit tout l'élément parent
◦ ="wrap_content": prend la place nécessaire à l'affichage
◦ android:orientation: définit l'orientation d'empilement
android:gravity: définit l'alignement des éléments
L'interface comme ressource
Une interface graphique définie en XML sera aussi générée comme une ressource dans laclasse statiqueR.
Le nom du fichier xml, par example accueil.xml permet de retrouver le layout dans le codejava au travers de R.layout.accueil.
Associer la première vue graphique à l'activité principale de l'application :
Le layout reste modifiable au travers du code, comme tous les autres objets graphiques,Pourcela, il est important de spécifier un id dans la définition XML du layout(android:id="@+id/accueilid") ,Ainsi, on peut accéder à cet élément par son id et agir dessusau travers du code Java:
Les éléments graphiques de base
Un Layout peut contenir des éléments graphiques, ou d'autres Layout.
Les labels de texte
◦ En XML:
◦ Par la programmation
Les images
◦ Par Xml
◦ Par la programmation:
Les Zones textes
◦ Par XML
◦ Par la programmation
Les boutons :
◦ En XML:
La gestion des événements de click se font par l'intermédiaire d'un listener:
Les listes:
Au sein d'un Layout, on peut implanter une liste que l'on pourra dérouler si le nombred'éléments est important.
pour afficher une liste d’items dans celle-ci, il lui faut un adaptateur de données.
Dans notre activité principale, nous allons récupérer notre ListView et lui affecter unadaptateur grâce à la méthode setAdapter,
Ajoutons-y un objet de type ArrayAdapter, contenant une liste de String avec un layoutgénérique d’item que fournit la plateforme par défaut et enfin la liste des données.
Remarque:
Syntaxe : ArrayAdapter<Type de données>(le contexte,le style des items,les données);
Les onglets: La réalisation d'onglets permet de mieux utiliser l'espace réduit de l'écran.
Main.xml :
TabWidget : contiendra les onglets
FrameLayout contiendra le contenu de ses onglets
Ensuite on va des fichiers XML qui contiendra l'interface du contenu de chaque ongletOnglet1.xml
Partie JAVA :
On commence par créer notre activité principale TabAndroidActivity.java
On place tout les imports nécessaires :
Ensuite on va des fichiers XML qui contiendra l'interface du contenu de chaque ongletOnglet1.xml
Partie JAVA :
On commence par créer notre activité principale TabAndroidActivity.java
On place tout les imports nécessaires :
Ensuite on va des fichiers XML qui contiendra l'interface du contenu de chaque ongletOnglet1.xml
Partie JAVA :
On commence par créer notre activité principale TabAndroidActivity.java
On place tout les imports nécessaires :
Lier le premier onglet à l’activité principale:
On peut définir l’onglet par défaut avec : tabHost.setCurrentTab(0);
Création des classes pour les onglets :
Ne pas oublier de déclarer les activités des onglets dans l’android manifest
Chapitre 4: Les Services
Les applications qui s’exécutent fréquemment ou continuellement sans nécessiter constammentune interaction avec l’utilisateur peuvent être implémentées sous la forme d’un service. (: Lesapplications qui récupèrent des informations (informations, météo, résultats sportifs, etc.) via desflux RSS/Atom )
Ils ne disposent pas d'interface utilisateur.
fonctionnent en arrière plan pour une période de temps indéfinie
Il existe deux types de services :
Services locaux (LocalService) :
Services qui s’exécutent dans le même processus que votre application.
Un service Local n'est accessible que par les Activity de l'application.
s'exécute dans le processus de l'application et plus particulièrement dans le threadprincipal.
Services distants (RemoteService)
s'exécutent dans un processus totalement différent de celui de votre application .
Un RemoteService peut être sollicité par plusieurs applications différentes.
Le Cycle de vie d’un service
le service n’a pas de durée de vie définie , fonctionne tant que c’estnécessaire.
Android fournit des services prédéfinis aux quels on peut accéder via laméthode getSystemService().
Tout autre service doit être déclarer dans le fichier AndroidManifest.xmlvia <service android:name="yourclasss"> </service>
OnCreate() : cette méthode est appelée à la création du service et est engénéral utilisée pour initialiser ce qui sera nécessaire à votre service ;
OnStart(Intent i) : le service démarre. Valable uniquement pour lesversions du SDK inférieur à 2.0 ;
OnStartCommand(Intent i, int flags, int startId) : le service démarre. Valable uniquementpour les versions du SDK supérieur à 2.0 ;
OnDestroy() : appelé à la fermeture du service.
pour créer un service, il suffit d’implémenter une classe qui hérite de la classe Service
Une activité peut démarrer un Service via la méthode startService() et le stopper viastopService()
La méthode onBind sert quand on veut faire communiquer le service avec un autreservice,ou avec une activité ..etc.
Exemple : Géolocalisation du téléphone (Voir Cours 4 : Diapo 11)
requestLocationUpdates(String, long, float, LocationListener).Cette méthode possède 4 arguments :
Le provider utilisé pour recevoir les mises à jour des coordonnées utilisateurs (GPS /NETWORK …)
Un intervalle minimum entre deux notifications (en millisecondes)
Un intervalle minimum entre deux notifications (en mètre)
L’instance de votre LocationListener
Chapitre 5 : Intégration de Google Map sous Android (j'ai commencé a partirdu diapo14)
La méthode IsRouteDisplayed sert à indiquer si votre application affiche des itinéraires(utilisé pour la navigation).
Afin de permettre à l’utilisateur de zoomer à l’aide de bouton, il faut d’utiliser la méthodesetBuiltInZoomControls sous le oncreate() , on met :
Si on souhaite ajuster le niveau de zoom défini lors de l’initialisation de notre carte, onutilise la méthode setZoom
Pour afficher une vision satellite d’une carte, on utilise la méthode setSatellite enindiquant si on souhaite afficher la vision satellite (true) ou non (false).
nous allons faire en sorte qu’au moment où l’utilisateur appuie sur le bouton VOLUME_UP(augmenter le volume) la vision satellite s’active. Même chose pour lebouton VOLUME_DOWN (vision satellite désactivée).
Mise à jour de la position sur la carte
Afficher une boussole
une classe existe dans l’API Google Map d’Android qui permet d’indiquer la position, ils’agit de MyLocationOverlay
Créer notre variable,Instancier la classe,Affichage d’une boussole
Réagir au positionnement de l’utilisateur
Chapitre 6 : Application sur les listview et les Broadcast Receivers
Les Broadcast Receivers
Un BroadcastReceiver ne possède qu’une seule méthode onReceive() que votre classedevra implémenter.
Un BroadcastReceiver ne vit que le temps de traiter votre onReceive() .
lorsque le BroadcastReceiver est implémenté sur un composant qui a une durée de vieassez longue, comme une activité ou un service : dans ce cas, le récepteur vivra aussilongtemps que son « hôte »
faut appeler registerReceiver() dans la méthode onResume() ou onCreate() de l’activitépour annoncer son intérêt pour une intention,
Le système Android envoie l’intention à tous les BroadCast Receiver abonnées par ordre depriorité (priorité de votre BroadCast dans le fichierAndroidManifest.xml).
Si un BroadCast souhaite interrompre la réception du Broadcast à ceux d’un niveauinferieure de priorité, il faut utiliser la méthode abortBroadcast().
Exemple: Un BR qui « écoute » la réception d’un sms
Le Broadcast Receiver doit être déclarer dans le fichier manifest.xml
Application ( voir cours 6 diapo 9 )