Android 端到端演示

improve this page | report issue

概述

本演示的目的是展示端到端流程:

  1. 在 MobileFirst Operations Console 中注册并下载与 MobileFirst 客户机 SDK 预捆绑的样本应用程序。
  2. 将新的或提供的适配器部署到 MobileFirst Operations Console。
  3. 应用程序逻辑更改为发出资源请求。

最终结果

  • 成功 ping MobileFirst Server。
  • 成功地使用适配器检索数据。

先决条件:

  • Android Studio
  • 可选。MobileFirst CLI(下载
  • 可选。单机MobileFirst Server(下载

1. 启动 MobileFirst Server

确保您已创建 Mobile Foundation 实例,或者
如果使用 MobileFirst Developer Kit,请导航至服务器的文件夹并运行命令 ./run.sh(在 Mac 和 Linux 中)或 run.cmd(在 Windows 中)。

2. 创建应用程序

在浏览器窗口中,通过加载以下 URL 打开 MobileFirst Operations Console:http://your-server-host:server-port/mfpconsole。如果是本地运行,请使用:http://localhost:9080/mfpconsole。用户名/密码为 admin/admin

  1. 单击应用程序旁的新建按钮
    • 选择 Android 平台
    • com.ibm.mfpstarterandroid 输入为应用程序标识
    • 1.0 输入为版本
    • 单击注册应用程序

    注册应用程序

  2. 单击获取起动器代码磁贴,并选择下载 Android 样本应用程序。

    下载样本应用程序

3. 编辑应用程序逻辑

  1. 打开 Android Studio 项目并导入项目。

  2. 项目侧边栏菜单中,选择 app → java → com.ibm.mfpstarterandroid → ServerConnectActivity.java 文件,然后:

  • 添加以下导入:

    import java.net.URI;
    import java.net.URISyntaxException;
    import android.util.Log;
    
  • 粘贴以下代码片段,以替换对 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. 部署适配器

下载这一准备好的适配器工件,并通过操作 → 部署适配器操作从 MobileFirst Operations Console 进行部署。

或者,单击适配器旁边的新建按钮。

  1. 选择操作 → 下载样本选项。下载“Hello World”Java 适配器样本。

    如果未安装 Maven 和 MobileFirst CLI,请遵循屏幕上的设置开发环境指示信息。

  2. 命令行窗口中,导航至适配器的 Maven 项目根文件夹并运行以下命令:

    mfpdev adapter build
    
  3. 构建完成时,通过操作 → 部署适配器操作从 MobileFirst Operations Console 进行部署。适配器可在 [adapter]/target 文件夹中找到。

    部署适配器

样本应用程序

5. 测试应用程序

  1. 在 Android Studio 中,从项目侧边栏菜单选择 app → src → main →assets → mfpclient.properties 文件,然后将 protocolhostport 属性编辑为针对 MobileFirst Server 的正确的值。
    • 如果使用本地 MobileFirst Server,这些值通常是 httplocalhost9080
    • 如果使用远程 MobileFirst Server(在 Bluemix 中),这些值通常是 httpsyour-server-address443

    或者,如果已安装 MobileFirst CLI,那么导航至项目根文件夹并运行命令 mfpdev app register。如果使用远程 MobileFirst Server,那么运行命令 mfpdev server add 来添加服务器,后跟(例如)mfpdev app register myBluemixServer

  2. 单击运行应用程序按钮。


结果

  • 单击 Ping MobileFirst Server 按钮将显示已连接到 MobileFirst Server
  • 如果应用程序能够连接到 MobileFirst Server,那么将使用部署的 Java 适配器进行资源请求调用。

然后,适配器响应将列显在 Android Studio 的 LogCat 视图中。

成功从 MobileFirst Server 调用了资源的应用程序的图像

后续步骤

要了解有关在应用程序中使用适配器,如何集成附加服务(如推送通知),使用 MobileFirst 安全框架及其他内容的更多信息,请:

Last modified on October 05, 2017