IBM MFP 7.1 从原生 Android 应用程序传递参数 - 始终未定义

Posted

技术标签:

【中文标题】IBM MFP 7.1 从原生 Android 应用程序传递参数 - 始终未定义【英文标题】:IBM MFP 7.1 passing parameter from native Android Application - always undefined 【发布时间】:2016-12-01 16:59:00 【问题描述】:

我正在使用 android Studio 2.1.2 和 IBM MFP 7.1。我已经按照https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/7.1/quick-start/android-quick-start/https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/7.1/quick-start/android-quick-start/

的文档中的说明配置了本机工作室应用程序

我能够成功连接到 MF 服务器。

我遇到的问题是将参数传递给适配器。我在适配器代码中放置了 Logger 点,如下所示:

function listTasksByUserName(username)

var baseUrl = "/Rest/v1/tasks";

WL.Logger.info("The username passed to the listTasksByUserName is: " + username);

var input = 
        method : 'get',
        returnedContentType : 'json',
        path : baseUrl,
        parameters : 
            "mUserName" : username
        
    ;

    return WL.Server.invokeHttp(input);

我的java实现是:

//create the adapter URI
    URI adapterPath = null;
    try 
        adapterPath = new URI("/adapters/TasksAdapter/listTasksByUserName");
     catch (URISyntaxException e) 
        e.printStackTrace();
    

    //create the request
    String username="caseworker";
    WLResourceRequest request = new WLResourceRequest(adapterPath,WLResourceRequest.GET);
    request.setQueryParameter("params", username);
    request.send(new MyInvokeListener());

日志的输出如下: [12/1/16 11:53:44:992 EST] 0000013f ht.integration.js.javascriptIntegrationLibraryImplementation I 传递给 listTasksByUserName 的用户名是:未定义 [project AndroidNativeApiTest] [12/1/16 11:53:58:999 EST] 00000085 ht.integration.js.JavaScriptIntegrationLibraryImplementation I 传递给 listTasksByUserName 的用户名是:undefined [project AndroidNativeApiTest]

感谢任何帮助。

【问题讨论】:

【参考方案1】:

必须使用正确的参数名称,并将值作为文字提供!!!!!

request.setQueryParameter("params", "[\'"+ 用户名 + "\']");

【讨论】:

以上是关于IBM MFP 7.1 从原生 Android 应用程序传递参数 - 始终未定义的主要内容,如果未能解决你的问题,请参考以下文章

MFP CLI 7.1 和 El Capitan

IBM MobileFirst 7.1 中生成密钥库的位置

MFP CLI 7.1 创建 android 项目目标 23 ,如何更改?

mfp cli 7.1 for android 平台中的cordova 缺少文件

Gradle "com.android.dex.DexException" 构建一个涉及 cordova-plugin-googlemaps 和 ibm-mfp-push 插件的应

从独立的 IBM MFP 客户端应用程序调用 MFP 适配器