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 创建 android 项目目标 23 ,如何更改?
mfp cli 7.1 for android 平台中的cordova 缺少文件
Gradle "com.android.dex.DexException" 构建一个涉及 cordova-plugin-googlemaps 和 ibm-mfp-push 插件的应