100% ont trouvé ce document utile (1 vote)
151 vues22 pages

Cours Complet de Programmation Android

Ce document décrit le développement d'applications Android en utilisant l'environnement de développement Android Studio. Il explique comment installer Android Studio, décrit les composants de base d'un projet Android comme le manifeste et les dossiers de ressources, et donne des détails sur la création d'interfaces graphiques.

Transféré par

eugenioayewa31
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
151 vues22 pages

Cours Complet de Programmation Android

Ce document décrit le développement d'applications Android en utilisant l'environnement de développement Android Studio. Il explique comment installer Android Studio, décrit les composants de base d'un projet Android comme le manifeste et les dossiers de ressources, et donne des détails sur la création d'interfaces graphiques.

Transféré par

eugenioayewa31
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

PROGRAMMATION

ANDROID
COURS LICENCE

Réalisation : Dr. Amadou Tidjani SANDA MAHAMA


Le développement mobile prend de plus en plus de l’importance vu que l’utilisation des
smartphones se démocratise et beaucoup de services sont offerts à travers ce canal.

Le développement d’applications android est relativement facile vu que de nombreux outils


existent pour faciliter la vie aux développeurs.

L’un des IDE, freeware largement utilisé pour le développent android est android studio.

De nombreuses applications vont voir le jour et cela donnera aussi par la même occasion
naissance à des startup rentables.

Exemple : snapchat proposé par deux étudiants, parti d’un projet d’étudiants (TP en classe) est
devenu très rapidement une application convoitée sur applestore dans un premier temps en 2012
puis en 2013 sur playstore pour android et enfin propostion de rachat par facebook a 3 millards
de dollars.

Un retour sur Android

Android est un système d’exploitation open source pour mobiles


(smartphones,tablettes, …) à noyaux basé sur Linux. Android a été développé par
Open Handset Alliance conduit par Google et autres compagnies.
Android offre une approche unifiée de développement d’application pour mobile ce
qui signifie que les développeurs ont uniquement de Android pour développer leurs
applications qui vont s’exécuter sur tous les périphériques Android.
La première version de Android Software Development Kit (SDK) publiée par Google
a vu le jour en 2007 , la version commerciale Android 1.0 a été disponible 2008.
Dans ce cours, nous allons utiliser l’IDE Android Studio pour développer des
applications Android.
Les raisons du choix de Android sont :

1
- Android est open source
- Grande communauté de développeurs
- Coût de développement réduit
- Plus grand succès
- Environnement de développement assez riche
- Marché plus en plus important

Les niveaux des API


Le niveau de l’API est une valeur entire qui identifie de manière unique la plateforme d’API offerte
par une version d’Android.

Platform Version API Level VERSION_CODE

Android 6.0 23 MARSHMALLOW

Android 5.1 22 LOLLIPOP_MR1

Android 5.0 21 LOLLIPOP

Android 4.4W 20 KITKAT_WATCH

Android 4.4 19 KITKAT

Android 4.3 18 JELLY_BEAN_MR2

2
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1

Android 4.1, 4.1.1 16 JELLY_BEAN

Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1

Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH

Android 3.2 13 HONEYCOMB_MR2

Android 3.1.x 12 HONEYCOMB_MR1

Android 3.0.x 11 HONEYCOMB

Android 2.3.4 10 GINGERBREAD_MR1


Android 2.3.3

Android 2.3.2 9 GINGERBREAD


Android 2.3.1
Android 2.3

Android 2.2.x 8 FROYO

Android 2.1.x 7 ECLAIR_MR1

Android 2.0.1 6 ECLAIR_0_1

Android 2.0 5 ECLAIR

Android 1.6 4 DONUT

Android 1.5 3 CUPCAKE

Android 1.1 2 BASE_1_1

Android 1.0 1 BASE

Comment installer Android Studio sur PC ou sur


Linux

Au départ cette suite est conçue avant tout pour les développeurs d’applications Android. Mais
avec le temps elle a amené vers elle un public plus large, en quête d’une utilisation plus avancée
du système d’exploitation mobile ou d’émulation sur PC. Android Studio c’est en effet (liste
non-exhaustive) :

3
 Une suite tout-en-un pour créer vos applications de A à Z, les tester et les publier sur le
Google Play Store
 Un outil pour exécuter n’importe quelle application ou projet sur n’importe quel appareil
Android compatible
 Un éditeur de code Kotlin, Java et C/C++ intelligent

Procédure d’installation de android studio


 Installation de jdk sur le site de oracle si vous n’avez pas encore un jdk installé sur votre
ordinateur
 Se rendre sur le site officiel de android studio [Link]
 Cliquez sur Download Android Studio
 Lancez le programme d’installation tout en suivant la procédure d’installation
correspondant à votre système d’exploitation

 Il est important de disposer d’une connexion à internet afin de télécharger les composants
qui sont complétés lors de l’installation.
 A la fin de l’installation vous avez la fenêtre d’accueil que voici

4
 Configuration de l’ide androi studio

5
 Choisir l’option SDK manager
 Le but est de préciser pour quel API version d’Android donc génération de téléphones
vous voulez développer l’application.
 Attention il faut faire un compromis ne pas choisir une version trop vieille (pas au-delà
de l’API 15) mais pas trop récente non plus sinon vous exclurai les anciens téléphones.

 Sélectionner l’API 15 (entièrement) et l’API 23 et sélectionner tous les API android Wear
ARM EABI… System image.
 Lancer l’installation ; accepter l’installation puis attendre patiemment la fin de
l’installation puis cliquer sur finish à la fin.

 Lancement de android studio
 Le lancement de l’IDE doit toujours se faire en mode administrateur.

6
7
Juste après le choix, il génère les fichiers nécessaires à la construction de l’application. Si tout
va bien, l’éditeur n’afficher aucune erreur, dans le cas contraire des erreurs vous invitant à
installer des API manquants.

Au cas ou il aurait une erreur affichée au bas de l’écran, il faudrait télécharger les API
manquants pour résoudre le problème.

8
[Link] fichier contenant la structure en xml de l’application.

Dans le groupe java, ne s’occuper que de la première ligne, [Link] qui contient le code java
de l’application.

Le groupe RES qui contient toutes les ressources accessibles par le projet :

- Drawable qui contient les images


- Layout qui contient les interfaces graphiques ;
- Les valeurs qui contiennent des valeurs constantes fixées avec des instructions xml.
- ….

Avant d’exécuter l’application générée automatiquement sur notre ordinateur, il faut configurer
l’émulateur d’affichage AVD (Android Virtual Devise) manager.

Choisir le type de téléphone (Nexus s par exemple). Pour la première fois il faut configurer l’émulateur
AVD manager.

9
Après avoir cliqué sur le bouton create virtual device, choisir le type de téléphone approprié.

10
Lancer l’AVD manager puis le garder ouvert pendant le temps de la programmation.
Maintenant vous pouvez maintenant lancer votre application hello word.

11
Description de l’environnement de développement

No. Description

1 Java
Contient les codes sources .java. par défaut contient [Link]

res/drawable-hdpi
2
c’est un repertoire qui contient les objets “dessinables”, les images.

12
res/layout
3
Ce dossier contient les fichiers qui définissent les interfaces utilisatrices de votre application.

res/values
4 Ce dossier contient une collection de ressources xml telles que les chaines de caractères et la
définition des couleurs.

[Link]
5 Ce fichier appelé fichier manifest décrit les caractéristiques fondamentales de l’application ainsi
que de ses composantes.

[Link]
6 C’est un fichier généré automatiquement qui contient le compilateur Sdk, les outils de d’édition de
liens et un certain nombre d’informations sur l’application.

Réalisation de l’interface graphique (Activity)

RESERVATION BENIN INTERVILLE

DATE VOYAGE
INTERVILLE

HEURE DEPART

DESTINATION

Femme
Homme

ENVOYER QUITTER

13
Une interface graphique est encore appelée dans le jargon Activity. Nous allons dans un
premier temps, disposer les layout (gestionnaires de disposition des éléments) puis ensuite
placer les widgets.

RESERVATION BENIN INTERVILLE

DATE VOYAGE
INTERVILLE

HEURE DEPART
Vertical
layout

horizontal layout
DESTINATION

Femme
Homme

ENVOYER QUITTER

14
Utiliser la palette et les différents objets widgets dans la palette pour réaliser l’interface.

Définition
Une activité est une interface (une vue unique) comme une fenêtre dans les applications sur PC.

Similaire à la méthode principale main() dans un programme C ou C++ ou Java, la méthode


onCreate() est la méthode principale pour une Activity. Une série de méthodes sont évoquées
dans le cadre de la réalisation d’une activité.

15
No Description des méthodes

1 onCreate()
première méthode appellee lorsque l’activité est

2 onStart()

16
est appellee lorsque l’activité est visible pour l’utilisateur.

onResume()
3
est appelée lorsque l’utilisateur commence par interagir avec l’application

onPause()
4
est appelée lorsque l’activité courante passe à l’état d’attente. Dans ce cas elle ne reçoit pas de
données ni n’exécute de code. Pour devenir actif la méthode onResume() sera appelée.

onStop()
5
est appelée lorsque l’activité n’est plus visible (accessible)

onDestroy()
6
est appelée juste avant que l’activité soit supprimé du système.

onRestart()
7 est appelée lorsque l’activité est réactivée suite à une mise aux arrêts onStop().

Gestion des événements

Elle se fait exactement comme ce qui a été vu avec le Java l’édition standard.

Option Tout en un : classes anonymes

b1=(Button)findViewById([Link]);
[Link](new [Link]() {

@Override
public void onClick(View v) {
// code à executer
}
});

Ou simplement implémenter l’interface OnClickListener.

17
Gestion de la communication entre activités

La communication entre activités est assurée par des objets de la classe Intent. On peut classer
les objets Intent en deux catégories : ceux qui sont explicites et ceux qui sont implicites. Les
intents explicites permettent de relier deux activités connues d’avance. Avec un Intent implicite,
si la première activité est connue la seconde ne l’est pas.
Soit deux activités telles qu’illustrées dans la figure ci-dessous :

Les différentes étapes de création et de mise en relation des deux activités.


1- Créer une classe java [Link]
2- Modifier la fichier [Link] en insérant le code suivant constatant
l’ajout d’une nouvelle activité :
<activity android:name=".secondActivity">
<intent-filter>
<action
android:name="[Link].Activite2" />

<category android:name="[Link]" />


</intent-filter>
</activity>

3- Créer le fichier [Link] par copie de [Link] puis modifier ce


fichier en conséquence

<?xml version="1.0" encoding="utf-8"?>


<[Link]
xmlns:android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
android:layout_width="match_parent"

18
android:layout_height="match_parent"
tools:context="[Link]">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_horizontal|center_vertical"
android:orientation="horizontal">

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal|center_vertical"
android:text="JE SUIS LE TABLEAU DEUX" />

</LinearLayout>

</[Link]>

4- Connecter l’activité principale à l’activité secondActivity


Le code ci-dessous permet de créer un objet de la classe Intent et d’appeler la
méthode de création d’un objet de la classe secondActivity.

// creation d’un objet Intent connaissant les activités reliées


Intent i = new Intent([Link], [Link]);

// démarrage de l’activité cible


startActivity(i);

Echanges d’informations entre activités


L’échange d’information entre activités se fera grâce au champ Extra de l’Intent qui va permettre de
conserver de la donnée à échanger

19
Le champ Composant est renseigné lorsqu’il s’agit d’un Intent explicite donc les activités en
communications sont connues

Le champ action spécifie l’action à exécuter souhaitée par l’activité destinataire

Le champ Catégorie : permet d'apporter des informations supplémentaires sur l'action à exécuter et
le type de composant qui devra gérer l’intent.

Le champ Données : sur quelles données le destinataire doit effectuer son action

Le champ Type : pour indiquer quel est le type des données incluses. Normalement ce type est
contenu dans les données, mais en précisant cet attribut vous pouvez désactiver cette vérification
automatique et imposer un type particulier.

Le champ Extras : pour ajouter du contenu à vos intents afin de les faire circuler entre les
composants.

Le champ Flags : permettent de modifier le comportement de l'intent.

L’échange entre les activités se fera dans un premier temps lors de la création de l’intent avec la
méthode Intent putExtra(String key, X value). Key est une clé d’identification de la donnée ; x la
valeur de la clé qui n’est rien d’autre que l’information à échanger.

20
Intent int_exemple = new Intent(Activite_de_depart.this, Activite_de_destination.class);
int_exemple.putExtra(clé, valeur) ;
startActivity(int_exemple);

La récupération de la valeur se fera dans l’activité destinatrice avec la méthode Bundle getExtras().

Dans la méthode onCreate() de l’activité de destination, on récupère l’intent puis ensuite la valeur
échangée.

Intent int_exemple = getIntent();

type donnee_recuperee = int_exemple.getIntExtra(clé, valeur_par_defaut);

Les intents implicites

Ce sont des intents dont le destinataire n’est pas connu de manière explicite.

Quelques activités particulières : envoie de SMS

Intent intent = new Intent(Intent.ACTION_SENDTO, [Link]("[Link]

[Link]("sms_body", "Vous allez à la réunion?");

startActivity(intent);

Quelques activités particulières : envoie d’un appel téléphonique

Uri telnumber = [Link]("[Link]

Intent call = new Intent(Intent.ACTION_DIAL, telnumber);

startActivity(call);

Quelques activités particulières : envoie d’un email

Intent intent = new Intent(Intent.ACTION_SENDTO);


[Link] = "text/plain"
[Link](Intent.EXTRA_EMAIL, "hello@[Link]")
[Link](Intent.EXTRA_SUBJECT, getString([Link].subject_feedback))
[Link](Intent.EXTRA_TEXT, "mon_message")

startActivity([Link](intent, " Email application"))

21

Vous aimerez peut-être aussi