0% ont trouvé ce document utile (0 vote)
38 vues21 pages

Cycle de Vie et Machine Virtuelle Android

Ce cours sur le développement mobile se concentre sur la programmation Android et les spécificités du développement d'applications pour dispositifs mobiles. Il couvre des sujets tels que le cycle de vie des activités, la persistance des données, et l'accès aux services web, tout en introduisant l'environnement de développement Android et les outils nécessaires. Le plan du cours inclut des modules sur les interfaces graphiques, la programmation concurrente et des annexes pour les outils et les codes sources.

Transféré par

Khawla khawla
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
0% ont trouvé ce document utile (0 vote)
38 vues21 pages

Cycle de Vie et Machine Virtuelle Android

Ce cours sur le développement mobile se concentre sur la programmation Android et les spécificités du développement d'applications pour dispositifs mobiles. Il couvre des sujets tels que le cycle de vie des activités, la persistance des données, et l'accès aux services web, tout en introduisant l'environnement de développement Android et les outils nécessaires. Le plan du cours inclut des modules sur les interfaces graphiques, la programmation concurrente et des annexes pour les outils et les codes sources.

Transféré par

Khawla khawla
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

Développement

Mobile

Manal EL BAJTA
2023/2024
But de cours
Le but de ce cours est de découvrir la programmation Mobile en se basant sur
l’exemple Android, sa plate-forme de développement et les spécificités du
développement sur smartphone ou tout autre dispositif mobile. Le cours vise
aussi à se familiariser avec l’architecture distribuée des applications mobile
basée sur la consommation de services Web.

Les principales notions abordées dans ce cours sont:

● Cycle de vie d’une activité. ● Les Intent.

● Les gabarits : LinearLayout, RelativeLayout, ConstraintLayout ● Persistence des données : Sqlite.

● Les Vues de base. ● Les services.

● ListView personnalisée et Galeries ● Accès aux services web.

3
Plan du cours
1 Introduction 7 Connectivité

2 L’environnement Android 8 Les services Web

3 Interfaces graphiques 9 Divers

4 Les Intents 10 Annexes: outils

5 Persistance des données 11 Annexes: codes sources

6 Programmation concurrente 12 Bibliographie

4
1- Introduction: Evolution des OS Mobile

5
Particularités du développement d’applications
Mobiles
Interfaces Interactives

Mémoire vive et Stockage


Utilisation des

CPU et Batterie

Utilisation du
Toujours

Utilisation
de la
penser
optimisation

Utilisation des

Ressources Réseau

6
2- L’environnement ● 2.1 Introduction
● 2.2 Android

Android ●

2.3
2.4
Les ressources
Les activités

7
Evolution
Il est important de prendre la mesure des
choses :

● juillet 2011: 550 000 activations par jour


● décembre 2011: 700 000 activations par
jour
● sept. 2012: 1.3 millions d'activations par
jour (Wikipedia)
● avril 2013: 1.5 millions d'activations par jour
(Wikipedia)
● Il y aurait actuellement un parc de plus de
2.5 milliard d'appareils équipés du système
Android ([Link]). 8
Historique des versions Honeycomb 3.0 11 02/2011

Ice Cream Sandwich 4.0 14 10/2011


Le nombre de release est
Jelly Bean 4.1 16 07/2012
impressionnant [Version]:
Kit Kat 4.4 19 10/2013

Lollipop 5.0 21 10/2014


Nom Version API Date
Marshmallow 6.0 23 10/2015
Android 1.0 1 09/2008
Nougat 7.0 24 08/2016
Petit Four 1.1 2 02/2009
Oreo 8.0 26 08/2017
Cupcake 1.5 3 04/2009
Pie 9.0 28 08/2018
Donut 1.6 4 09/2009
Android 10 10.0 29 09/2019
Gingerbread 2.3 9 12/2010
Android 11 11.0 30 09/2020
9
Le système d’exploitation
Android
Android est un système de la famille Linux, pour une fois sans les outils GNU. L'OS s'appuie sur:

● un noyau Linux (et ses drivers)


● une couche d'abstraction pour l'accès aux capteurs (HAL)
● une machine virtuelle: Dalvik Virtual Machine
● des applications (navigateur, gestion des contacts, application de téléphonie...)
● des bibliothèques (SSL, SQLite, OpenGL ES, etc...)

[Dalvik] est le nom de la machine virtuelle open-source utilisée sur les systèmes Android. Cette
machine virtuelle exécute des fichiers .dex, plus compactes que les .class classiques. Ce format évite
par exemple la duplication des String constantes. La machine virtuelle utilise elle-même moins
d'espace mémoire et l'adressage des constantes se fait par un pointeur de 32 bits.

[Dalvik] n'est pas compatible avec une JVM du type Java SE ou même Java ME. La librairie d'accès est
donc redéfinie entièrement par Google.
10
11
Coder pour Android?
L'écosystème d'Android s'appuie sur deux piliers:

● le langage Java (depuis son apparition)


● le SDK facilitant la tâche du développeur

⇝ récemment
● le langage Kotlin (par Jetbrains )
Le kit de développement donne accès à des exemples, de la documentation mais surtout à l'API de
programmation du système et à des émulateurs pour tester ses applications.

Stratégiquement, Google utilise la licence Apache pour Android ce qui permet la redistribution du
code sous forme libre ou non et d'en faire un usage commercial.

Le plugin Android Development Tool permet d'intégrer les fonctionnalités du SDK à Eclipse.

Android Studio offre un environnement de développement Android complet qui remplace l’ADT.
12
Environnement de développement : IDE

Eclipse+ADT vs Android Studio

13
Il faut disposer d’une vrais station de travail. Les
Ǫuel matériel ? recommandations matérielles sont les suivantes, mais
plus la machine est performante moins on a de
problèmes :

14
Ǫue faut-il installer ?
Pour éviter d’avoir des problèmes et perdre du temps pendant nos séances de TP, et pour faciliter le
transfert de vos projets entre vos machines et celles des salles ou celles de vos collègues, il vaut
mieux suivre les mêmes procédures et installer les mêmes composantes ci dessous :

1) Android Studio, dernière version toujours.


2) à la fin de l’installation, ouvrir le SDK Manager (Menu Tools ⇢ SDK Manager)
3) Dans l’onglet “SDK Plateforme” installer le SDK de la dernière API (V. 30), celui de l’API 21, API 23, et
éventuellement celui de l’API de votre propre téléphone si vous avez un Smartphone Android.
4) Installer les Images Système des versions ci-dessus.
5) On peut éventuellement installer les Google APIs si on prévoit de développer des applications basées
sur des services Google (Maps par exemple, mais nous n’en avons pas besoin dans ce cours)
6) Dans l’onglet “SDK Tools”, installer tout sauf NDK, Command-Line Tools, LLDB et CMake. Pour les
Build-Tools installer la dernière version pour chaque numéro d’API que vous avez précédemment
installé.
7) Dans le AVD Manager (Menu Tools ⇢ AVD Manager) créer au moins un émulateur pour API 23 et un
pour API 30. Réduire la configuration de la mémoire si votre machine n’en dispose pas de quantité
suffisante. Si vous n’y arrivez pas, installez un émulateur externe comme Genymotion par exemple.
15
Installation d’android Studio
● Liens utiles:
Tutoriel: [Link]
Téléchargement de JAVA:
[Link]
Téléchargement d’android studio (4.1.2 for Windows 64-bit) et les outils
SDK:
[Link]

16
SDK MANAGER

17
Composant d’une application Android

18
Android Virtual Device

●Pour tester vos applications Android vous


aurez besoin d’un Emulateur Android.
●Les gestion des Emulateur Android sont
accessibles par le menu Tools> AVD Manager.
●Avec le bouton Create Virtual device, vous
pouvez ajouter différents versions d’émulateurs
virtuel.
●Le démarrage d’un émulateur consomme
beaucoup de
ressources. Donc il faut savoir quand le
démarrer et quand l’arrêter.

19
Structure d’un projet android studio

20
Structure d’un projet android studio

21
Environnement de développement
defaultConfig {
Projet : applicationId "[Link]"
minSdkVersion 21
targetSdkVersion 30
● minSdkVersion (obligatoire) versionCode 1
● targetSdkVersion (non obligatoire) }
versionName "1.0"

● maxSdkVersion (déconseillé)

Android Studio organise le projet suivant les différentes parties les plus
importantes d’une application Android :

● les “manifests”,
● les fichiers “java”,
● les fichiers “ressources”,
● les scripts “gradle” 22

Vous aimerez peut-être aussi