使用 Context.getSharedPreferences 读不到 xml 里面的内容,但在应用的 Settings 页面是正常可以更改 xml 内容
2014-10-17 10:26
411 查看
============问题描述============
Hi,
在 android 项目里面,在其中一个类(或多个类)里面使用以下方法取不到 Settings 页面里面的参数值,请帮忙看下是什么原因,谢谢。
下面的 result 返回值是 false, 但是我直接在手机上去到这个应用 data/data/com.example.app/shared_prefs/test_perference_file.xml 下打开这个 xml 文件,在 xml 里面对应的是 <boolean name="test_key" value="true"/> 这个值是 true .
请帮忙解释一下为什么会这样??
另外,如果我把下面代码的 defaultValue 改为 true ,则运行后 result 的值就会变成 true, 这个好像应该是只有在 xml 里面没有 "test_key" 这个值的时候才会赋默认值的吧??从这一点是否说明代码里面取得的 SharedPreferences 并没有加载到 data/data/com.example.app/shared_prefs/test_perference_file.xml 吗???
请教下是什么原因导致,谢谢。
============解决方案1============
....getApplictionContext()
Hi,
在 android 项目里面,在其中一个类(或多个类)里面使用以下方法取不到 Settings 页面里面的参数值,请帮忙看下是什么原因,谢谢。
下面的 result 返回值是 false, 但是我直接在手机上去到这个应用 data/data/com.example.app/shared_prefs/test_perference_file.xml 下打开这个 xml 文件,在 xml 里面对应的是 <boolean name="test_key" value="true"/> 这个值是 true .
请帮忙解释一下为什么会这样??
另外,如果我把下面代码的 defaultValue 改为 true ,则运行后 result 的值就会变成 true, 这个好像应该是只有在 xml 里面没有 "test_key" 这个值的时候才会赋默认值的吧??从这一点是否说明代码里面取得的 SharedPreferences 并没有加载到 data/data/com.example.app/shared_prefs/test_perference_file.xml 吗???
请教下是什么原因导致,谢谢。
public void test_function(Context context) { // parse Preference file SharedPreferences preferences = context.getSharedPreferences("test_perference_file", Context.MODE_PRIVATE); // get values from Map boolean defaultValue = false; boolean result = preferences.getBoolean("test_key", defaultValue); }
============解决方案1============
....getApplictionContext()
相关文章推荐
- 使用jQuery.get(url,[data],[callback])不能获取返回的页面XML内容
- 读取XML数据时,已超过最大字符串内容长度配额(8192)。可以通过更改创建XML阅读器时使用的XmlDictionaryReaderQuotas对象上的MaxStringContentLength属
- 在看官方的例子时候由一个grid实例,在每一行之前有个加号,展开可以显示内容,在实际应用中还是非常有用的,照搬例子的代码,发现老是提示对象不存在,查阅资料后发现是没有加载插件,这里和大家分享下Ext.grid.RowExpander插件的使用,
- IE6789浏览器使用console.log类似的方法输出调试内容但又不影响页面正常运行
- ubuntu System Settings 里面的内容显示不正常
- xml应用(1):使用xmldom在服务器端生成静态html页面
- 使用PHP向Mysql数据库插入信息,页面中文内容显示正常,但在数据库里却是乱码,这个怎么解决?
- php file_get_contents计时读取一个文件/页面 防止读取不到内容
- 使用web服务时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLen
- VC使用Http Get方法获取页面内容
- ashx页面中使用session【ashx中context.Session取不到值】
- 读取xml实现问卷调查,关于问卷调查的内容全部放在了xml里面,使用了jQuery
- 在web.xml定义,在网页中使用变量实例 使用所有Servlet都可以访问的<context-param>方式
- 当file_get_contents获取不到网页内容时,以下方法可使用
- 当file_get_contents获取不到网页内容时,以下方法可使用
- 可以在一个页面里面使用多个uitableview ,并使用同一个delegate
- phpcms v9使用GET调用指定id文章内容、页面数据方法(get标签什么方法)
- Android 存储文件方式之一---SharedPreferences 内容提供者,以xml 的方式进行数据 存储。是一种轻量级的文件数据存储
- 如何获得web.xml里面的<context-param>内容
- 打开一个iframe,从iframe更改父窗口parent里面的内容,jquery弹出窗口插件fancybox的使用