Démarrer avec AWS

Créer une application Android

Créer une application Android simple avec AWS Amplify

Module 2 : Initialisation d'Amplify

Dans ce module, vous installerez et configurerez l'interface de ligne de commande (CLI) Amplify.

Introduction

Maintenant que nous avons créé une application Android, nous voulons en poursuivre le développement et ajouter de nouvelles fonctionnalités.

Pour commencer à utiliser AWS Amplify dans votre application, vous devez installer la ligne de commande Amplify, initialiser le répertoire du projet Amplify, configurer votre projet pour utiliser les bibliothèques Amplify, et initialiser les bibliothèques Amplify au moment de l'exécution.

Ce que vous apprendrez

  • Initialisation d'un nouveau projet Amplify
  • Ajout de bibliothèques Amplify à votre projet
  • Initialisation des bibliothèques Amplify à l'exécution

Concepts clés

Interface de ligne de commande Amplify – L'interface de ligne de commande Amplify vous permet de créer, de gérer et de supprimer des services AWS directement à partir de votre terminal.

Bibliothèques Amplify  : ces bibliothèques vous permettent d'interagir avec les services AWS à partir d'une application mobile ou web.

 Durée

10 minutes

 Services utilisés

Implémentation

  • Installation de l'interface de ligne de commande Amplify

    L'interface de ligne de commande AWS Amplify dépend de Node.js ; reportez-vous à la section des prérequis dans l'introduction pour installer Node.js

    Pour installer l'interface de ligne de commande AWS Amplify, ouvrez un terminal et entrez la commande suivante :

    ## Install Amplify CLI
    npm install -g @aws-amplify/cli
    
    ## Verify installation and version
    amplify --version
    # Scanning for plugins...
    # Plugin scan successful
    # 4.29.4
  • Initialisation d'un backend Amplify

    Pour créer la structure de base de notre backend, nous devons d'abord initialiser le répertoire du projet Amplify et créer notre backend cloud.

    Ouvrez un terminal et basculez vers le répertoire de votre projet. Par exemple, si vous avez créé votre projet dans le dossier ~/AndroidStudioProjects/android-getting-started, vous pouvez saisir :

    cd ~/AndroidStudioProjects/android-getting-started  

    Vérifiez que vous êtes dans le bon répertoire ; celui-ci doit ressembler à ceci :

    ➜  android-getting-started git:(main) ✗ ls -al
    total 32
    drwxr-xr-x  14 stormacq  admin   448 Oct  6 14:06 .
    drwxr-xr-x  16 stormacq  admin   512 Oct  6 11:28 ..
    -rw-r--r--   1 stormacq  admin   208 Oct  6 14:04 .gitignore
    drwxr-xr-x   6 stormacq  admin   192 Oct  6 14:04 .gradle
    drwxr-xr-x  13 stormacq  admin   416 Oct  6 15:19 .idea
    drwxr-xr-x   8 stormacq  admin   256 Oct  6 14:06 app
    drwxr-xr-x   3 stormacq  admin    96 Oct  6 14:06 build
    -rw-r--r--   1 stormacq  admin   642 Oct  6 14:04 build.gradle
    drwxr-xr-x   3 stormacq  admin    96 Oct  6 14:04 gradle
    -rw-r--r--   1 stormacq  admin  1162 Oct  6 14:04 gradle.properties
    -rwxr--r--   1 stormacq  admin  5296 Oct  6 14:04 gradlew
    -rw-r--r--   1 stormacq  admin  2260 Oct  6 14:04 gradlew.bat
    -rw-r--r--   1 stormacq  admin   437 Oct  6 14:04 local.properties
    -rw-r--r--   1 stormacq  admin    59 Oct  6 14:04 settings.gradle

    Initialisez la structure et le fichier de configuration du projet Amplify et le fichier de configuration. Exécutez la commande suivante :

    amplify init
    
    ? Enter a name for your project (androidgettingstarted): accept the default, press enter
    ? Enter a name for the environment (dev): accept the default, press enter
    ? Choose your default editor: use the arrow key to select your favorite text editor an press enter
    ? Choose the type of app that you're building: android is already selected, press enter
    ? Where is your Res directory: accept the default, press enter
    ? Do you want to use an AWS profile?, Y, press enter
    ? Please choose the profile you want to use: use the arrow keys to select your profile and press enter.

    Vous pouvez créer un profil à l'aide de aws configure --profile <name> dans l'interface de ligne de commande AWS si vous n'en avez pas encore.

    Amplify initialise votre projet dans le cloud, ce qui peut prendre quelques minutes. Au bout de quelques minutes, vous devriez voir un message du type :

    ✔ Successfully created initial AWS cloud resources for deployments.
    ✔ Initialized provider successfully.
    Initialized your environment successfully.
    
    Your project has been successfully initialized and connected to the cloud!
  • Ajout de bibliothèques Amplify à votre projet

    Amplify pour Android est distribué par le biais des packages Apache Maven. Dans cette section, vous allez ajouter les packages et les autres directives requises à la configuration de votre génération.

    De retour dans Android Studio, développez Scripts Gradle et ouvrez build.gradle (Projet : Android_Getting_Started). Ajoutez la ligne mavenCentral() dans le bloc de référentiels parmi les blocs buildscript et allprojects.

    buildscript {
        ext.kotlin_version = "1.4.10"
        repositories {
            google()
            jcenter()
    
            // Add this line into `repositories` in `buildscript`
            mavenCentral()
        }
        dependencies {
            classpath "com.android.tools.build:gradle:4.0.1"
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            google()
            jcenter()
    
            // Add this line into `repositories` in `buildscript`
            mavenCentral()
        }
    }

    Dans Scripts Gradle, ouvrez build.gradle (Module : application) et ajoutez la dépendance centrale du cadre Amplify dans le bloc des mises en œuvre.

    dependencies {
        implementation fileTree(dir: "libs", include: ["*.jar"])
        implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
        implementation 'androidx.core:core-ktx:1.3.2'
        implementation 'androidx.appcompat:appcompat:1.2.0'
        implementation 'com.google.android.material:material:1.2.1'
        implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
        implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0'
        implementation 'androidx.navigation:navigation-ui-ktx:2.3.0'
        testImplementation 'junit:junit:4.13'
        androidTestImplementation 'androidx.test.ext:junit:1.1.2'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    
        // Amplify core dependency
        implementation 'com.amplifyframework:core:1.4.0'
    }

    Si vous développez dans Java ou que vous ciblez Android SDK 21 ou antérieur, veuillez consulter la documentation pour les changements de configuration supplémentaires à apporter.

    Maintenant, exécutez Gradle Sync (synchronisation Gradle).

    AndroidAppTutorial_Modiule2_Image1

    Après quelques instants, vous devriez voir

    BUILD SUCCESSFUL in 1s
  • Initialisation d'Amplify à l'exécution

    Créons une classe Backend pour regrouper le code afin d'interagir avec notre backend. J'utilise un modèle de conception unique afin que l'application y accède aisément et que les bibliothèques Amplify ne soient initialisées qu'une fois.

    L'initialiseur de classe s'occupe de l'initialisation des bibliothèques Amplify.

    Sous java/com.example.androidgettingstarted, créez un nouveau fichier Kotlin Backend.kt. Ouvrez-le puis ajoutez ce code :

    package com.example.androidgettingstarted
    
    import android.content.Context
    import android.util.Log
    import com.amplifyframework.AmplifyException
    import com.amplifyframework.core.Amplify
    
    object Backend {
    
        private const val TAG = "Backend"
    
        fun initialize(applicationContext: Context) : Backend {
            try {
                Amplify.configure(applicationContext)
                Log.i(TAG, "Initialized Amplify")
            } catch (e: AmplifyException) {
                Log.e(TAG, "Could not initialize Amplify", e)
            }
            return this
        }
    }

    Nous initialisons notre objet Backend unique lorsque l'application se lance.

    Sous java/com.example.androidgettingstarted, créez un nouveau fichier Kotlin Application.kt. Ouvrez-le puis ajoutez ce code :

    package com.example.androidgettingstarted
    
    import android.app.Application
    
    class AndroidGettingStartedApplication : Application() {
    
        override fun onCreate() {
            super.onCreate()
    
            // initialize Amplify when application is starting
            Backend.initialize(applicationContext)
        }
    }

    Sous manifests, ouvrez AndroidManifest.xml et ajoutez le nom de l'application au sein de l'élément <application>.

        <!-- add the android:name attribute to the application node  -->
        <application
            android:name="AndroidGettingStartedApplication"
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/Theme.GettingStartedAndroid">
    ...

    Pendant que ce fichier est ouvert, profitez-en pour ajouter deux permissions dont l'application aura besoin dans les futures étapes de ce tutoriel :

        <!-- add these nodes between manifest and application  -->
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  • Vérification de votre configuration

    Pour vérifier que tout fonctionne comme prévu, générez et exécutez le projet. Cliquez sur l'icône Exécuter ▶️ dans la barre d'outils ou tapez ^ R.

    Pour vérifier que tout fonctionne comme prévu, générez et exécutez le projet. Cliquez sur l'icône Exécuter ▶️ dans la barre d'outils ou tapez ^ R.
    AndroidAppTutorial_Modiule2_Image2

    Il ne devrait y avoir aucune erreur.

    BUILD SUCCESSFUL in 6s
    23 actionable tasks: 8 executed, 15 up-to-date

Conclusion

Vous venez d'initialiser le projet Amplify et vous êtes maintenant prêt à commencer l'ajout de fonctionnalités ! Dans le prochain module, nous ajouterons un flux complet d'authentification des utilisateurs avec seulement quelques lignes de code.

Ce module vous a-t-il été utile ?

Merci
Merci de nous indiquer ce que vous avez aimé.
Fermer
Nous sommes désolés de vous décevoir.
Quelque chose est-il obsolète, déroutant ou inexact ? Aidez-nous à améliorer ce didacticiel en fournissant des commentaires.
Fermer

Ajouter une authentification