Xamarin 端到端演示

improve this page | report issue

概述

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

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

最终结果

  • 成功 ping MobileFirst Server。

先决条件:

  • Xamarin Studio
  • 可选。单机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.mfpstarterxamarin 输入为应用程序标识(取决于您在下一步中下载的应用程序框架)
    • 1.0 输入为版本
    • 单击注册应用程序

    注册应用程序

3. 编辑应用程序逻辑

  • 创建一个 Xamarin 项目。
  • 添加 SDK 教程中所述添加 Xamarin SDK。
  • 按如下所示,在任何类文件中添加一个类型为 IWorklightClient 的属性。

     /// <summary>
     /// Gets or sets the worklight sample client.
     /// </summary>
     /// <value>The worklight client.</value>
     public static IWorklightClient WorklightClient {get; set;}
    
  • 如果您正在 iOS 环境下进行开发,请将以下代码粘贴到 AppDelegate.cs 文件的 FinishedLaunching 方法中:

     <ClassName>.WorklightClient = WorklightClient.CreateInstance();
    

    <ClassName> 替换为您的类名。

  • 如果您正在 Android 环境下进行开发,请在 MainActivity.cs 文件的 OnCreate 方法中包含以下代码行:

     <ClassName>.WorklightClient = WorklightClient.CreateInstance(this);
    

    <ClassName> 替换为您的类名。

  • 定义一个方法来获取访问标记并向 MFP Server 发出资源请求,如下所示。

      public async void ObtainToken()
             {
              try
                     {
           
                         IWorklightClient _newClient = App.WorklightClient;
                         WorklightAccessToken accessToken = await _newClient.AuthorizationManager.ObtainAccessToken("");
           
                         if (accessToken.Value != null &&  accessToken.Value != "")
                         {
                             System.Diagnostics.Debug.WriteLine("Received the following access token value: " + accessToken.Value);
                             StringBuilder uriBuilder = new StringBuilder().Append("/adapters/javaAdapter/resource/greet");
           
                             WorklightResourceRequest request = _newClient.ResourceRequest(new Uri(uriBuilder.ToString(), UriKind.Relative), "GET");
                             request.SetQueryParameter("name", "world");
                             WorklightResponse response = await request.Send();
           
                             System.Diagnostics.Debug.WriteLine("Success: " + response.ResponseText);
                         }
                     }
                     catch (Exception e)
                     {
                         System.Diagnostics.Debug.WriteLine("An error occurred: '{0}'", e);
                     }
                 }
             }
      }
    
  • 在类构造函数中调用 ObtainToken 方法,或者通过单击某个按钮来调用。

4. 部署适配器

下载 此准备好的 .adapter 工件,然后在 MobileFirst Operations Console 中使用 操作 → 部署适配器 操作进行部署。 或者,单击 适配器 旁边的 新建 按钮。

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

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

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

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

    部署适配器

5. 测试应用程序

  1. 在 Xamarin Studio 中,选择 mfpclient.properties 文件并使用 MobileFirst Server 的正确值来编辑 protocolhostport 属性。
    • 如果使用本地 MobileFirst Server,这些值通常是 httplocalhost9080
    • 如果使用远程 MobileFirst Server(在 Bluemix 中),这些值通常是 https您的服务器地址443
  2. 播放 按钮。


结果

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

然后,适配器响应将列显在 Xamarin Studio 控制台中。成功从 MobileFirst Server 调用了资源的应用程序的图像

下一步

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

Last modified on October 05, 2017