0% ont trouvé ce document utile (0 vote)
65 vues8 pages

Cours sur le développement d'applications Android

Ce document décrit un cours sur le développement d'applications mobiles sous Android. Il présente les concepts généraux d'Android, les types d'applications mobiles, et les différences entre applications natives, cross-platform et hybrides.

Transféré par

fezai rayen
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)
65 vues8 pages

Cours sur le développement d'applications Android

Ce document décrit un cours sur le développement d'applications mobiles sous Android. Il présente les concepts généraux d'Android, les types d'applications mobiles, et les différences entre applications natives, cross-platform et hybrides.

Transféré par

fezai rayen
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

07/02/2024

COURS
COURS Il s'agit d'étudier et de développer une application mobile sous
Android??

DEVELOPPEMENT MOBILE Avec l'avancé et l'émergence des technologies mobiles, les


développements embarqués sont de plus
en plus demandés sur le marché.
Année Universitaire 2023/2024
Avoir un Smartphone est devenu incontournable pour les
2ème année Licence IOT utilisateurs de nos jours.
 D'où nait l'idée de développement mobile
IsitCom Hammam-Sousse

Chapitre 1 Un monde ouvert


Introduction
Première plateforme ouverte pour
appareils mobiles.
ANDROID
Concepts Un système d’exploitation open source
libre pour appareils mobiles;
Généraux

1
07/02/2024

Concurrents
Un monde ouvert
Symbian OS: un système d’exploitation
Un environnement de développement pour téléphone portable. Hérité de
Epoc32, il est crée par différents
ouvert construit sur un noyau Linux open constructeurs (Psion, Nokia, Motorola);
source;
iOS(iphone OS): Un système mobile
Offre la possibilité de developper/corriger développé par Apple;
des interfaces utilisateurs natives, offre
également la conception d’une application Windows mobile: C’est le nom
générique donné à différentes versions de
Microsoft Windows.
5 6

Application mobile ?? Application mobile


 Elles sont distribuées depuis des plateformes de
 Une application mobile est un logiciel téléchargement (parfois elles-mêmes contrôlées
applicatif/interactif par les fabricants de smartphones) telles que
 Un programme autonome conçu pour  l'App Store (plateforme d'Apple),
s’exécuter sur un terminal mobile  le Google Play (plateforme de Google / Android),
 Assistant personnel, un téléphone  Microsoft Store (plateforme de Microsoft pour
Windows 10 Mobile).
portable, un smartphone, un baladeur
numérique, une tablette tactile, PC Remarque : Les applications distribuées à partir des magasins

porable d'applications sont soit payantes, soit gratuites, mais généralement avec
des publicités.

2
07/02/2024

Application mobile ou site mobile ? Application mobile ou site mobile ?

 L’application est un programme


 Une application mobile n’est pas comparable,
sur le plan technique, à un site mobile. autonome qui s’installe et s’exécute sur
le smartphone ou la tablette de
 Ce dernier reste un site web, lu par un
l’utilisateur.
navigateur et stocké sur un serveur.

 Ilne peut donc pas interagir avec les autres  Elle a donc accès à toutes les fonctions
composants logiciels du smartphone ou de la « natives » de ces appareils : GPS,
tablette. gyroscope, appareil photo, etc.

Application mobile ou site mobile ? Application mobile ou site mobile ?


 Les spécificités techniques d’une application lui
 Comme tout programme, elle doit donc être confèrent de nombreux avantages par rapport aux
téléchargée au préalable pour être installée, sites mobiles et responsifs :
à part qql apps  L’exécution est plus rapide : les éléments d’interface
 (généralement des jeux qui peuvent être n’ont pas besoin d’être téléchargés depuis un serveur.
 Lespossibilités fonctionnelles sont beaucoup plus
testés avant d’être installés ).
étendues.
 L’accès aux données de l’utilisateur est facilité.
 Lesapplications peuvent émettre des notifications
pour plus d’interactions avec l’utilisateur mobile.
 Certaines applications peuvent fonctionner hors ligne.

3
07/02/2024

Application mobile ou site mobile ? Typologie des applications


 Jeux,
 Réseaux sociaux,
 Contrairement à un site mobile, une
 Email,
application nécessite des mises à jour
 Utilitaires (Santé –
régulières, avec une action de l’utilisateur. Education – Enseignement –
Mobilité – Services – Sport,
etc)
 Une application est conçue pour  Sites d’information

fonctionner sur un système d’exploitation  Applications diverses.


donné (OS), alors qu’un site mobile sera
lisible sur tous les navigateurs web mobiles.

Application native, cross-platform ou Application native, cross-platform ou


hybride : définitions (1) hybride : définitions (2)
 Nous utilisons des applications  deux systèmes d’exploitation dominent le
 natives marché :
 Android (développé par Google)
 cross-platform ou hybrides
 iOS (les équipements mobiles d’Apple)
 Sices deux OS sont différents, ils offrent des
fonctionnalités similaires, mais dans une interface
et un design qui ont leurs spécificités.

4
07/02/2024

Une application native, qu’est-ce que c’est ? Une application native, qu’est-ce que c’est ?

 Les applications mobiles sont dites « natives »


lorsqu’elles utilisent les outils de développement  Remarque 2 : Ces langages sont compilés par
de leur système d’exploitation, nature, ce qui signifie qu’ils sont exécutables
 Exemples : directement par la machine et optimisés pour
 plateformes et langages Android Studio, Java ou
le terminal mobile.
Kotlin pour Android
 xCode, Swift ou Objective-C pour iOS.  Si on fait le choix du natif et on souhaite que
Remarque 1 : Les langages de développement de ces l’application soit disponible sur Android et sur
2 plateformes sont très différents : les développeurs iOS, il sera donc nécessaire de développer
maitrisent en général l’un ou l’autre de ces deux fois l’application.  
environnements.

Et une application hybride, alors ? Et une application hybride, alors ?

 Une application mobile hybride est une application  Ils’agit donc, comme toute application
dont le code source permet de générer deux
Web, d’un code « interprété» qui nécessite
applications : l’une pour Android et l’autre pour iOS.
d’être traduit par la machine à chaque
 Elle s’appuie pour cela sur des technologies « Web »
exécution, ce qui réduit la performance de
telles que le Javascript, HTML ou encore CSS.
l’application.

 Son contenu s’exécute dans un « conteneur » natif,


une webview (c’est-à-dire une page internet), grâce à
une framework (Cordova, Capacitor), pour pouvoir
être utilisée comme une application native.

5
07/02/2024

Historique Remarques sur les versions d’API


 Né en 2004, racheté par Google en 2005, version
1.5 publiée en 2007  Chaque API apporte des fonctionnalités supplémentaires. Il y a
compatibilité ascendante. Certaines fonctionnalités deviennent
 De nombreuses versions depuis. On en est à la dépréciées au fil du temps, mais restent généralement
version 12. La version 12, est le numéro pour le disponibles.
grand public, et les versions d’API sont pour les
développeurs. Exemples  On souhaite toujours programmer avec la dernière API (fonctions
plus complètes et modernes), mais les utilisateurs ont souvent des
 4.1 JellyBean = API 16,
smartphones plus anciens, qui n’ont pas cette API, Or Android ne
 6.x Marshmallow = API 23, propose aucune mise à jour majeure.
 9.x Pie = API 28
 Les smartphones restent toute leur vie avec l’API qu’ils ont à la
Une API (Application Programming Interface) est un naissance.
ensemble de bibliothèques de classes pour
programmer des applications.  Les développeurs doivent donc choisir une API qui correspond à la
majorité des smartphones existant sur le marché.
[Link]/studio/releases/platforms

Architecture ANDROID
Android et Java
 Android ressemble fortement à Java mais il en
est pas.

 Les applications Android sont écrites en Java


mais ne sont pas exécutées par une machine
virtuelle Java.

 Les applications Android sont exécutées par


une machine virtuelle spécifique Dalvik et non
par une JVM classique.
Constituants d’Android

6
07/02/2024

Android et Java Android et Java


 Packages.
 Androidinclus une implémentation Open
source spécifique de java basée non pas sur
OpenJdk, mais sur le projet Harmony
(implémentation java 5 de la fondation
apache).

 Google a adapté Harmony et a supprimé


certains packages non nécessaires pour
l’environnement mobile.

[Link] – Formation ANDROID 26

Android et C Android et Linux


 Avec Android, il est possible d’écrire des
applications en C/C++ qui sont exécutées  Lamachine Dalvik utilise le noyau
directement par le système d’exploitation Linux. Linux pour gérer les fonctionnalités de
bas niveau y compris la sécurité, le
 Android fournit un kit de développement natif threading et la gestion des processus
(NDK). et de la mémoire.
 Ce NDK permet de créer des bibliothèques C++ à
l’aide des bibliothèques libc et libm et donne un
accès natif à OpenGL (Open Graphics Library)

7
07/02/2024

Android et Linux Programmation d’applications


 Répertoire Tools. Rappel
Actuellement, les applications sont :
 Natives: c’est à dire programmées en Java, C++, Kotlin,
compilées et fournies avec leurs données sous la forme
d’une archive Jar (fichier APK).
 Web app: c’est une application pour navigateur internet,
développée en HTML5, CSS3, JavaScript, dans un cadre
logiciel (framework) tel que [Link], Angular ou React.
 Hybrides: elles sont développées dans un framework
comme Ionic, Flutter, React Native. . .
 Ces frameworks font abstraction des particularités du système : la
même application peut tourner à l’identique sur différentes
plateformes (Android, iOS, Windows, Linux. . . ).
[Link] – Formation ANDROID 29

Android pour développeur Android pour développeur


 Andoid est conçu par des développeurs pour des Facilité d’accès au matériel de bas niveau avec
développeurs. une série d’API disponible.

 Andoid ne nécessite aucune certification pour devenir Android fonctionne sur plusieurs marques de
développeur. smartphones.

 Avec Android on peut distribuer et monétiser des applications


sur Android Market. L’interaction entre applications est transparente.

 Puissant et intuitif, Andoid facilite le développement mobile. Intégration de Google Maps et utilisation de
services d’arrière plan dans les applications.
 Ouvert, un SDK simple et puissant. L’absence de coût de
licence attire plus de développeur. Les applications natives et tierces utilisent les
31 mêmes API. [Link] – Formation ANDROID 32

Vous aimerez peut-être aussi