cours Informatique mobile (android et ios)

Informatique mobile 

NADIA BEL HADJ AISSA 

Environnement de développement 

Java Development Kit (JDK) 

Eclipse IDE 

Android Development Tools (ADT) plug-in 

SDK starter package 

Platforms (1.0, 2.0, 3.0, 4.1, …) 

Tools (debug, …) 

Android SDK 

Eclipse Plug-in 

ADT 

JDK 

Reference: http://developer.android.com/sdk/installing.html 

Processus de développement 

Vue sur l’application… 

Organisation des dossiers : 

src : sources gen : code généré 

res : ressources 

drawable : images layout : layout 

values : constantes 

Manifest 

AndroidManifest.xml 

Chaque projet contient à sa racine un fichier AndroidManifest.xml 

Déclare les Déclarer Nommer d’identificateur l’application le le l’application. niveau paquetage composants applicatifs services, receivers, providers) minimum 

unique qui broadcast 

sert 

content de 

(activities, Java de 

de 

de compatibilité l’application du SDK pour 

et leurs que l’application filtres fonctionne. 

si nécessaire (à quels intents ils réagissent) 

Les ressources R.java 

Les ressources de l’applications sont utilisées dans le code au travers de la classe statique R

ADT re-génère automatiquement la classe statique R à chaque changement dans le projet. 

Toutes les ressources sont accessibles au travers de R, dés qu’elles sont déclarées dans le fichier 

XML ou que le fichier associé est déposé dans le répertoire adéquat. 

Values 

Les chaines constantes de l’application sont situées dans res/values/strings.xml

Plusieurs fichies xml peuvent être placés dans res/values. Cela permet de définit des chaines, 

des couleurs, des tableaux. L’assistant de création permet de créer de nouveaux fichiers de ressources 

D’autres ressources sont spécifiables dans res

les menus 

les images (R.drawable

des dimensions (R.dimen

des couleurs (R.color

Activité 

L’activité est le premier composant essentiel permettant de gérer le cycle de vie d’une 

application et l’interactivité avec l’utilisateur moyennant une interface graphique 

Une activité ≈ un écran graphique 

Une application est formée de n activités 

Une seule activité est lancée à la fois 

Exemple : une application de téléphonie 

1) Numéroteur 

2) Annuaire des contacts 

3) Fiche d’un contact 

4) Ajout d’un contact 

Activité : point de vue Java 

Étend la classe android.app.Activity 

Lors du démarrage d’une activité, 3 méthodes sont appelées automatiquement : 

« onCreate », « onStart » et « onResume ». 

– Lorsque l’on quitte l’activité, 3 méthodes sont appelées automatiquement : 

« onPause », « onStop » et « onDestroy ». 

Ces méthodes sont définies dans la classe « Activity » et devront être redéfinies si c’est 

nécessaire. 

Activité : Cycle de vie 

– Active (running) : Quand l’activité est au 

premier plan et recoit les actions utilisateur. 

– Paused : Quand elle est toujours visible mais 

n’a pas le focus (autre activité transparente par dessus ou activité ne prenant pas tout l’écran) 

– Stopped : Quand elle n’est plus visible 

10 

11 

Lancer une activité 

toute activité doit être préalablement déclarée dans le manifeste 

Une activité est désignée comme activité initiale de l’application (MainActivity) dans le 

manifeste 

Lancer une activité 

Méthode startActivity(…) 

Lancer une activité en vue d’obtenir un résultat en retour 

Méthode startActivityForResult(…) 

Interfaces graphiques 

Une API Java riche 

Des layouts et des widgets (appelés « Vues ») 

Programmation déclarative à la XML 

Sépare la vue du code métier 

Fonctionnalité de personnalisation 

Hériter et redéfinir un widget de base 

Combiner des widgets existants 

Dessin 100% personnalisé – View::onDraw(Canvas canvas) 

Rendu 2D/3D (non abordé dans ce cours) 

OpenGL, Renderscript 

12 

13 

Vues et Layouts 

Les éléments 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 gabarits (layout) qui proposent une prédispositions des objets graphiques: 

LinearLayout: dispose les éléments de gauche à droite ou du haut vers le bas 

RelativeLayout: les éléments enfants sont placés les uns par rapport aux autres 

TableLayout: disposition matricielle 

FrameLayout: disposition en haut à gauche en empilant les éléments 

Les déclarations se font principalement en XML, ce qui évite de passer par les instanciations 

Java. 

14 

Attributs des Layouts 

Les attributs des gabarits permettent de spécifier des attributs supplémentaires. 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 minimum nécessaire à l’affichage 

android:orientation: définit l’orientation d’empilement 

android:gravity: définit l’alignement des éléments 

<LinearLayout xmlns:android=« http://schemas.android.com/a pk/res/android » android:orientation=« vertical » android:layout_width=« fill_parent » android:layout_height=« fill_parent » android:gravity=« center » android:id=« @+id/accueilid » > </LinearLayout> 

15 

L’interface comme ressource 

Une interface graphique définie en XML sera aussi générée comme une ressource dans la classe statique R. Le nom du fichier xml, par exemple accueil.xml permet de retrouver le layout dans le code java au travers de R.layout.accueil. Ainsi, pour associer la première vue graphique à l’activité principale de l’application, il faut faire: 

Le layout reste modifiable au travers du code, comme tous les autres objets graphiques. Pour cela, il est important de spécifier un id dans la définition XML du gabarit (android:id= »@+id/accueilid »). Cette remarque est aussi valable pour tous les autres objets graphiques. Ainsi, on peut accéder à cet élément par son id et agir dessus au travers du code Java: 

public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.acceuil); } 

LinearLayout l=(LinearLayout)findViewById(R.id.accueilid); l.setBackgroundColor(Color.BLACK); 

16 

Les éléments graphiques 

Un gabarit peut contenir des éléments graphiques, ou d’autres gabarits. On retrouve le même 

principe que les tableaux imbriqués de l’HTML. 

Les interfaces peuvent aussi inclure d’autres interfaces, permettant de factoriser des morceaux 

d’interface. On utilise dans ce cas le mot clef include

 télécharger gratuitement cours de l’ Informatique mobile (android et ios)

Quitter la version mobile