guyskk
guyskk
  • 发布:2015-05-17 01:03
  • 更新:2015-05-20 14:11
  • 阅读:6799

Native.js中plus.android.invoke总是返回null

分类:Native.js

我在做一个app要保存用户登录信息,写了下面两个方法,savePref没有异常,但是getPref总是返回null,
调试发现plus.android.invoke(setting, "getString", key);这句总是返回null。
另外:

  1. 直接用setting.edit(),editor.putString(),setting.getString()都会报错,提示这些方法不存在。
  2. getPref里面的 var str = plus.android.invoke(setting, "getString", key);这行
    如果改成var str = plus.android.invoke(setting, "getString", key,"");
    会报Uncaught SyntaxError: Unexpected identifier,不知道什么原因

设备信息:手机红米note,android4.4,电脑win8.1,浏览器chrome

function savePref(key, data) {
var str = JSON.stringify(data);
var Main = plus.android.runtimeMainActivity();
var Pref = plus.android.importClass("android.content.SharedPreferences");
var Editor = plus.android.importClass("android.content.SharedPreferences.Editor");
var setting = Main.getSharedPreferences(key, Main.MODE_PRIVATE | Main.MODE_APPEND)
var editor = plus.android.invoke(setting, "edit");
plus.android.invoke(editor, "putString", key, str);
plus.android.invoke(editor, "commit");
}

function getPref(key) {
var Main = plus.android.runtimeMainActivity();
var Pref = plus.android.importClass("android.content.SharedPreferences");
var p = new Pref();
var setting = Main.getSharedPreferences(key, Main.MODE_PRIVATE)

复制代码var str = plus.android.invoke(setting, "getString", key);  
if (str == null || str == "") {  
    return null;  
} else {  
    return JSON.parse(str);  
}  

}

2015-05-17 01:03 负责人:无 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

少了一个参数导致为空的 getString(key,defaultl);
defaultl:如果为空或不存在需要返回的默认值
var str = plus.android.invoke(setting, "getString", key,"");

还有一些无用代码去掉吧
var Editor = plus.android.importClass("android.content.SharedPreferences.Editor");
var p = new Pref();

该问题目前已经被锁定, 无法添加新回复

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容