为什么通过在android真机上不能获取shared_prefs里的xml文件

通过这个InputStreamxml=newFileInputStream("data/data/cn.flexQinfo.server/shared_prefs/Add... 通过这个InputStream xml = new FileInputStream("data/data/cn.flexQinfo.server/shared_prefs/AddressPath.xml");
我在模拟机上就能找到文件,在真机上就找不到了,谁能tell me为什么!!!!
展开
 我来答
QQMSD8
2015-12-29 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

SharedPreferences生成的xml数据,要使用SharedPreferences这个轻量级存储器读取。


  1. SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整形、Int整形、String字符串型的保存。

  2. SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,android123提示最终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml 处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。

  3. 它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/< >/shared_prefs目录下。
    SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。

  4. 实现SharedPreferences存储的步骤如下:
    一、根据Context获取SharedPreferences对象
    二、利用edit()方法获取Editor对象。
    三、通过Editor对象存储key-value键值对数据。
    四、通过commit()方法提交数据。

我找不到你叻
2012-06-15 · TA获得超过152个赞
知道答主
回答量:44
采纳率:0%
帮助的人:29.4万
展开全部
如果流不行。 试试
SharedPreferences mSharedPreferences = getSharedPreferences("image",
Context.MODE_PRIVATE); 还是你的 getSharedPreferences的权限是 PRIVATE 的 ?
追问
Conetext上下文对象我用怕了,用他老是报空指针异常。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
俊岚天红
2012-06-15 · TA获得超过237个赞
知道答主
回答量:119
采纳率:0%
帮助的人:91.3万
展开全部
路径有问题,既然你需要在 真机上测试,路径必须是sdcard目录下!
更多追问追答
追问
Environment.getExternalStorageDirectory()。是这个吗,这个我也在前面加过了,还是不行。
追答
“data/data/cn.flexQinfo.server/shared_prefs/AddressPath.xml”你指定的路径在真机上是不存在的,当然找不到了!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式