Android Intégrer Google Drive dans Android


Exemple

Créer un nouveau projet sur Google Developer Console

Pour intégrer une application Android à Google Drive, créez les informations d'identification du projet dans Google Developers Console. Nous devons donc créer un projet sur la console de développement Google.

Pour créer un projet sur Google Developer Console, procédez comme suit:

  • Accédez à Google Developer Console pour Android. Remplissez votre nom du projet dans le champ de saisie et cliquez sur le bouton Créer pour créer un nouveau projet sur la console Google Developer. entrer la description de l'image ici

  • Nous devons créer des informations d'identification pour accéder à l'API. Alors, cliquez sur le bouton Créer des identifiants . entrer la description de l'image ici

  • Maintenant, une fenêtre pop s'ouvrira. Cliquez sur l'option Clé API dans la liste pour créer une clé API. entrer la description de l'image ici

  • Nous avons besoin d'une clé API pour appeler les API Google pour Android. Alors, cliquez sur la touche Android pour identifier votre projet Android. entrer la description de l'image ici

  • Ensuite, nous devons ajouter le nom du package du projet Android et l' empreinte SHA-1 dans les champs d'entrée pour créer une clé API. entrer la description de l'image ici

  • Nous devons générer une empreinte SHA-1 . Ouvrez donc votre terminal et lancez l' utilitaire Keytool pour obtenir l'empreinte SHA1. Lors de l'exécution de l'utilitaire Keytool, vous devez fournir un mot de passe pour le fichier de clés. Le mot de passe de développement par défaut est «Android» . keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -list -v entrer la description de l'image ici

  • Maintenant, ajoutez le nom du package et l' empreinte SHA-1 dans les champs de saisie de la page d'informations d'identification. Enfin, cliquez sur le bouton Créer pour créer une clé API. entrer la description de l'image ici

  • Cela va créer une clé API pour Android. Nous utiliserons cette clé API pour intégrer l'application Android à Google Drive. entrer la description de l'image ici

Activer l'API Google Drive

Nous devons activer Google Drive Api pour accéder aux fichiers stockés sur Google Drive depuis une application Android. Pour activer l'API Google Drive, suivez les étapes ci-dessous:

  • Accédez à votre tableau de bord de la console de développeur Google et cliquez sur Activer les API pour obtenir des informations d'identification telles que des clés. Vous verrez alors les populaires API Google. entrer la description de l'image ici

  • Cliquez sur le lien API du lecteur pour ouvrir la page de présentation de l'API Google Drive. entrer la description de l'image ici

  • Cliquez sur le bouton Activer pour activer l'API Google Drive. Il permet un accès client à Google Drive. entrer la description de l'image ici

Ajouter une autorisation Internet

App nécessite un accès Internet aux fichiers Google Drive. Utilisez le code suivant pour configurer les autorisations Internet dans le fichier AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" />

Ajouter des services Google Play

Nous utiliserons l' API de services Google Play qui comprend l' API Google Drive Android . Nous devons donc configurer les services de jeu Google SDK dans une application Android. Ouvrez votre build.gradle (module d'application) et ajoutez le SDK de services Google play en tant que dépendances.

dependencies {
  ....
    compile 'com.google.android.gms:play-services:<latest_version>'
  ....
}

Ajouter une clé API dans le fichier manifeste

Pour utiliser l'API Google dans une application Android, nous devons ajouter la clé API et la version du service Google Play dans le fichier AndroidManifest.xml. Ajoutez les balises de métadonnées correctes à l'intérieur de la balise du fichier AndroidManifest.xml.

Connectez-vous et autorisez l'API Google Drive Android

Nous devons nous authentifier et connecter l' API Google Drive Android à une application Android. L'autorisation de Google Drive Android API est gérée par GoogleApiClient . Nous utiliserons GoogleApiClient dans la méthode onResume () .

/**
 * Called when the activity will start interacting with the user.
 * At this point your activity is at the top of the activity stack,
 * with user input going to it.
 */
@Override
protected void onResume() {
   super.onResume();
   if (mGoogleApiClient == null) {

       /**
        * Create the API client and bind it to an instance variable.
        * We use this instance as the callback for connection and connection failures.
        * Since no account name is passed, the user is prompted to choose.
        */
         mGoogleApiClient = new GoogleApiClient.Builder(this)
                 .addApi(Drive.API)
                 .addScope(Drive.SCOPE_FILE)
                 .addConnectionCallbacks(this)
                 .addOnConnectionFailedListener(this)
                 .build();
        }

        mGoogleApiClient.connect();
    }

Déconnecter l'API Android de Google Deive

Lorsque l'activité s'arrête, nous allons déconnecter la connexion API Google Drive Android avec l'application Android en appelant la méthode disconnect () dans la méthode onStop () de l'activité .

@Override
protected void onStop() {
    super.onStop();
    if (mGoogleApiClient != null) {

         // disconnect Google Android Drive API connection.
         mGoogleApiClient.disconnect();
    }
    super.onPause();
}

Implémenter des rappels de connexion et un écouteur avec échec de connexion

Nous implémenterons les callbacks de connexion et le listener d'échec de connexion du client API Google dans le fichier MainActivity.java pour connaître l'état de la connexion du client API Google. Ces écouteurs fournissent la méthode onConnected (), onConnectionFailed (), onConnectionSuspended () pour gérer les problèmes de connexion entre l'application et le lecteur.

Si l'utilisateur a autorisé l'application, la méthode onConnected () est appelée. Si l'utilisateur n'a pas autorisé l'application, la méthode onConnectionFailed () est appelée et une boîte de dialogue s'affiche pour indiquer que votre application n'est pas autorisée à accéder à Google Drive. Si la connexion est suspendue, la méthode onConnectionSuspended () est appelée.

Vous devez implémenter ConnectionCallbacks et OnConnectionFailedListener dans votre activité. Utilisez le code suivant dans votre fichier Java.

@Override
    public void onConnectionFailed(ConnectionResult result) {

        // Called whenever the API client fails to connect.
        Log.i(TAG, "GoogleApiClient connection failed:" + result.toString());

        if (!result.hasResolution()) {

            // show the localized error dialog.
            GoogleApiAvailability.getInstance().getErrorDialog(this, result.getErrorCode(), 0).show();
            return;
        }

        /**
         *  The failure has a resolution. Resolve it.
         *  Called typically when the app is not yet authorized, and an  authorization
         *  dialog is displayed to the user.
         */

        try {

            result.startResolutionForResult(this, REQUEST_CODE_RESOLUTION);

        } catch (SendIntentException e) {

            Log.e(TAG, "Exception while starting resolution activity", e);
        }
    }

   /**
    * It invoked when Google API client connected
    * @param connectionHint
    */
    @Override
    public void onConnected(Bundle connectionHint) {

        Toast.makeText(getApplicationContext(), "Connected", Toast.LENGTH_LONG).show();
    }

   /**
    * It invoked when connection suspended
    * @param cause
    */
    @Override
    public void onConnectionSuspended(int cause) {

        Log.i(TAG, "GoogleApiClient connection suspended");
    }