Android Architecture Components - Mise en pratique (Part 1 - Configuration de l’environnement)

Si c'est la première fois que vous entendez parler des Android Architecture Components (AAC), je vous invite à lire l'article suivant. Il présente par la théorie en quoi ces librairies consistent.

TL;DR : Elles ont été publiées fin 2017 par Google. Elles offrent aux développeurs une architecture structurée et assez complète, mise en avant sur leur site.

Cet article est la 1ère partie d'un lot de 7 tutoriels. Ils présentent par la pratique les AAC. Nous allons créer une application de tracking de cryptomonnaies. Nous suivrons chaque étape via un répertoire GitHub dédié. Nous nous baserons sur l'API (gratuite - sans authentification) de coinmarket. L'objectif est de fournir un socle architectural Android. A terme, l'application :

  • Consommera des webservices,
  • Disposera d'un cache local sous forme de base de données,
  • Utilisera de l'injection de dépendances.

NB : La solution de cette partie est disponible sur le commit 1-Initialization

Stack technique utilisée

Voici l'environnement de développement utilisé pour cet exemple :

  • Google Chrome
  • Android Studio. Vous pouvez le télécharger ici.
  • Android SDK (le bundle IDE + SDK est proposé par défaut).
  • Kotlin
  • Git

Nous utiliserons aussi les librairies suivantes :

  • AndroidX (nouvelles conventions de nommage et de versioning pour les platform libraries android)
  • Android Architecture Components (le sujet de ce billet de blog)
  • Dagger 2 : injection de dépendances (github)
  • Stetho : inspection de base de données SQLite dans google chrome (github)
  • Fuel : appels REST à des webservices (github)
  • Kotlin coroutines : asynchronicité, pattern producer / consumer (github)
  • Timber : logging facilité pour le développeur (fainéant) (github)

Initialisation

A cette étape, le projet reprend le Hello-World généré par Android Studio. Notons que nous utilisons des dépendances en androidx.xxx.xxx (voir app/build.gradle). Nous devons pour cela spécifier les propriétés gradle suivantes (voir gradle.properties) :

Ces spécificités permettent d'utiliser AndroidX, une récente nouveauté.

Conclusion

Ce premier article présente le socle de notre future application. La stack technique peut effrayer par le nombre de dépendances qu'elle embarque. Pourtant, nous verrons que tous les outils s'intègrent et s'utilisent facilement. Nous mettrons en place des outils de logs et de monitoring dans la prochaine étape

Sources


Vous avez trouvé cette publication utile? Cliquer sur
Author image
Nantes
Ippon
Ippon est un cabinet de conseil en technologies, créé en 2002 par un sportif de Haut Niveau et un polytechnicien, avec pour ambition de devenir leader sur les solutions Digitales, Cloud et BigData.

Ippon accompagne les entreprises dans le développement et la transformation de leur système d’information avec des applications performantes et des solutions robustes.

Ippon propose une offre de services à 360° pour répondre à l’ensemble des besoins en innovation technologique : Conseil, Design, Développement, Hébergement et Formation.

Nous avons réalisé, en 2017, un chiffre d’affaires de 31 M€ en croissance organique de 30%. Nous sommes aujourd’hui un groupe international riche de plus de 320 consultants répartis en France, aux USA, en Australie et au Maroc.
FRANCE Website LinkedIn