📘

Introduction Ă  Android

Mise en place

Systùmes d’exploitation :

Android est présent sous mobile, dans les montres connectées, les tablettes, les smart TV, les voitures (Android auto et CarPlay).

Architecture :

Le Kernel Linux tout en bas s’occupe de la gestion de l’énergie du tĂ©lĂ©phone, des drivers


> La couche au-dessus hardware abstraction layer permet de ne pas avoir Ă  spĂ©cifier le modĂšle de l’appareil.

> Les couches suivantes sont Android Runtime (machine virtuelle) && les librairies natives (C/C++)

> La couche qui nous concerne est le framework Java API (interface de programmation, SDK pour software development kit)

> En haut du schéma se trouvent les applications (email, calendrier, caméra
).

JetPack :

C’est une suite de bibliothĂšques qui permet aux dĂ©veloppeurs de suivre les bonnes pratiques, de rĂ©duire le code rĂ©current et d'Ă©crire du code qui fonctionne de maniĂšre cohĂ©rente sur toutes les versions d'Android et sur tous les appareils.

Versions d’Android :

BP : on Ă©vite l’obsolescence programmĂ©e en essayant de garder une bonne anciennetĂ©.

Compilation d’une application :

En APK (Android Package Kit) [désuet]

D’une part, il y a le module application, avec le code source, les ressources et autres fichiers. D’autre part, il y a les dĂ©pendances, avec les codes sources et les ressources de toutes les librairies.

Les codes sources sont compilés et des fichiers DEX (Dalvik Executable) sont créés. Les ressources sont compilées à part.

A l’aide d’une clĂ© (identifiant unique au projet), un exĂ©cutable .apk est créé : il peut ĂȘtre directement utilisĂ© sur un mobile.

En AAB (Android App Bundle)

Format recommandĂ© par Google pour remplacer l’APK, il nĂ©cessite de passer par un store pour ĂȘtre installer sur un mobile (F-Droid est gratuit, par exemple).

📌
Pour aller plus loin : https://www.phonandroid.com/tout-savoir-sur-format-aab-android-app-bundles-google-play-store.html

⚙
Outils : Kotlin Java Android Studio (issu du moteur IntelliJ) Gradle (gestionnaire de dépendances, qui vient de Maven)
⚠
Ce cours est en Kotlin mais il est interopérable avec Java puisque Kotlin est issu de Java, en plus simple et moins verbeux.

Hello World


Projet GitHub : https://github.com/LSarribouette/MumblingInKotlin

Dans Android Studio,

â„č
A l’ouverture du projet, il y a des tĂ©lĂ©chargements comme Gradle et le compilateur.
â„č
Un device n’est pas propre Ă  un projet, donc on ne le refait pas Ă  chaque fois. Par contre, on peut avoir plusieurs devices pour tester diffĂ©rentes tailles d’écran.

On voit l’application qui s’ouvre sur le mobile et affiche “Hello World”.