Android - Démonstration de bout en bout

improve this page | report issue

Présentation

Cette démonstration présente un processus complet :

  1. Une application exemple fournie avec le kit SDK client MobileFirst est enregistrée et téléchargée à partir de la console MobileFirst Operations Console.
  2. Un nouvel adaptateur ou un adaptateur fourni est déployé sur la console MobileFirst Operations Console.
  3. La logique d’application est changée afin d’effectuer une demande de ressource.

Résultat final :

  • Interrogation par commande ping du serveur MobileFirst Server réussie.
  • Extraction réussie des données à l’aide d’un adaptateur.

Prérequis :

1. Démarrage du serveur MobileFirst Server

Assurez-vous d’avoir créé une instance Mobile Foundation, ou
Si vous utilisez le kit MobileFirst Developer Kit, accédez au dossier du serveur puis exécutez la commande ./run.sh sous Mac et Linux ou run.cmd sous Windows.

2. Création d’une application

Dans une fenêtre de navigateur, ouvrez la console MobileFirst Operations Console en entrant l’URL http://your-server-host:server-port/mfpconsole. Dans le cas d’une exécution locale, entrez l’URL http://localhost:9080/mfpconsole. Le nom d’utilisateur et le mot de passe sont admin/admin.

  1. Cliquez sur le bouton Nouveau en regard de l’option Applications
    • Sélectionnez la plateforme Android
    • Entrez com.ibm.mfpstarterandroid en tant qu’identificateur d’application
    • Entrez 1.0 dans la zone Version
    • Cliquez sur Enregistrer l’application

    Enregistrement d'une application

  2. Cliquez sur le titre Obtenir le code de démarrage puis indiquez que vous souhaitez télécharger l’application exemple Android.

    Téléchargement d'application exemple

3. Edition d’une logique d’application

  1. Ouvrez le projet Android Studio puis importez le projet.

  2. A partir du menu de la barre latérale Project, sélectionnez le fichier app → java → com.ibm.mfpstarterandroid → ServerConnectActivity.java et :

  • Ajoutez les importations suivantes :

    import java.net.URI;
    import java.net.URISyntaxException;
    import android.util.Log;
    
  • Collez le fragment de code suivant, en remplaçant l’appel WLAuthorizationManager.getInstance().obtainAccessToken :

    WLAuthorizationManager.getInstance().obtainAccessToken("", new WLAccessTokenListener() {
                  @Override
                  public void onSuccess(AccessToken token) {
                      System.out.println("Received the following access token value: " + token);
                      runOnUiThread(new Runnable() {
                          @Override
                          public void run() {
                              titleLabel.setText("Yay!");
                              connectionStatusLabel.setText("Connected to MobileFirst Server");
                          }
                      });
    
                      URI adapterPath = null;
                      try {
                          adapterPath = new URI("/adapters/javaAdapter/resource/greet");
                      } catch (URISyntaxException e) {
                          e.printStackTrace();
                      }
    
                      WLResourceRequest request = new WLResourceRequest(adapterPath, WLResourceRequest.GET);
    
                      request.setQueryParameter("name","world");
                      request.send(new WLResponseListener() {
                          @Override
                          public void onSuccess(WLResponse wlResponse) {
                              // Will print "Hello world" in LogCat.
                              Log.i("MobileFirst Quick Start", "Success: " + wlResponse.getResponseText());
                          }
    
                          @Override
                          public void onFailure(WLFailResponse wlFailResponse) {
                              Log.i("MobileFirst Quick Start", "Failure: " + wlFailResponse.getErrorMsg());
                          }
                      });
                  }
    
                  @Override
                  public void onFailure(WLFailResponse wlFailResponse) {
                      System.out.println("Did not receive an access token from server: " + wlFailResponse.getErrorMsg());
                      runOnUiThread(new Runnable() {
                          @Override
                          public void run() {
                              titleLabel.setText("Bummer...");
                              connectionStatusLabel.setText("Failed to connect to MobileFirst Server");
                          }
                      });
                  }
              });
    

4. Déploiement d’un adaptateur

Téléchargez cet artefact .adapter préparé et déployez-le à partir de la console MobileFirst Operations Console en sélectionnant Actions → Déployer un adaptateur.

Vous pouvez également cliquer sur le bouton Nouveau en regard de la zone Adaptateurs.

  1. Sélectionnez l’option Actions → Télécharger des exemples. Téléchargez l’adaptateur Java exemple “Hello World”.

    Si Maven et MobileFirst CLI ne sont pas installés, suivez les instructions de configuration de votre environnement de développement s’affichant à l’écran.

  2. A partir d’une fenêtre de ligne de commande**, accédez au dossier racine du projet Maven de l’adaptateur et exécutez la commande :

    mfpdev adapter build
    
  3. Une fois la génération terminée, déployez-la à partir de la console MobileFirst Operations Console en utilisant l’option Actions → Déployer un adaptateur. L’adaptateur est disponible dans le dossier [adaptateur]/target.

    Déploiement d'un adaptateur

application exemple

5. Test de l’application

  1. Dans Android Studio, à partir du menu latéral Project, sélectionnez le fichier app → src → main →assets → mfpclient.properties puis modifiez les propriétés protocol, host et port en indiquant les valeurs correctes de votre serveur MobileFirst Server.
    • Si vous utilisez un serveur MobileFirst Server local, les valeurs sont généralement http, localhost et 9080.
    • Si vous utilisez un serveur MobileFirst Server distant (sur IBM Cloud), les valeurs sont généralement https, your-server-address et 443.
    • Si vous utilisez un cluster Kubernetes sur IBM Cloud Private et si le déploiement est de type NodePort, la valeur du port est généralement celle de NodePort exposée par le service dans le cluster Kubernetes.

    Par ailleurs, si vous avez installé l’interface MobileFirst CLI, accédez au dossier racine du projet puis exécutez la commande mfpdev app register. Si un serveur MobileFirst Server distant est utilisé, exécutez la commande mfpdev server add pour ajouter le serveur, suivi par exemple de la commande mfpdev app register myIBMCloudServer.

  2. Cliquez sur le bouton Run App.


Résultats

  • Si vous cliquez sur Ping MobileFirst Server, la mention Connected to MobileFirst Server s’affiche.
  • Si l’application a pu se connecter au serveur MobileFirst Server, un appel de demande de ressource utilisant l’adaptateur Java déployé aura lieu.

La réponse s’affiche ensuite dans la vue LogCat d’Android Studio.

Image de l'application ayant appelé avec succès une ressource de MobileFirst Server

Etapes suivantes

Pour en savoir plus notamment sur l’utilisation d’adaptateurs dans des applications et sur le mode d’intégration de services supplémentaires (notifications Push, par exemple) à l’aide de l’infrastructure de sécurité MobileFirst :

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on July 12, 2019