当前位置: 首页 > 知识库问答 >
问题:

Android:无法编写共享偏好[重复]

仲孙鸿飞
2023-03-14

经过大量研究,我最终决定在这里发布以下问题。对于大学项目,我想通过SharedReferences保存我的应用程序设置。然而,无论我做什么,它都不起作用。

对于一个简单的测试,我尝试在我的主要活动的oncreate方法中编写一些testdata,如下所示:

    SharedPreferences prefs = this.getSharedPreferences("Test", 0);
    SharedPreferences.Editor editor = prefs.edit();
    editor.putBoolean("Test", true);
    editor.commit();

当我在调试模式下检查prefs对象时,它会向我显示应该创建文件的路径:/data/user/0//共享优先/测试。xml

然而,当我在手机上导航到那里时,它并不在那里。

我正在使用Android版本7的Galaxy S6作为测试设备,我必须补充一点,我完全是Android编程的初学者。你能给我指个方向吗?

共有1个答案

郎刚捷
2023-03-14

从Android Studio,启动Android设备监视器,转到文件资源管理器,并浏览"/data/data/

如果你有一个非根深蒂固的设备,它不可能直接从Android Studio做到这一点。但是,只要您的应用程序是调试版本,您就可以使用adb shell访问该文件。

adb shell
run-as your.app.id`
chmod 777 shared_prefs/your.app.id_preferences.xml
exit # return to default user
cp /data/data/your.app.id/shared_prefs/your.app.id_preferences.xml /sdcard

之后,您可以使用adb从/sdcard目录中提取该文件。

正如这里已经回答的那样

 类似资料:
  • 我有一个这样的旋转器: 当用户点击时,我希望它保存状态: 它将位置保存在SharedPref中,但微调器将返回默认值。有人看到什么了吗?

  • 当单元测试共享首选项时,值是否为get refresh every test?

  • 我试图在kotlin中的两个活动之间传递一个值,但如果我使用下面的代码,那么我只得到“Hello World”默认值,而不是PREFERENCE_NAME值。我的文本ID名称是android: id="@id/tv_count"感谢任何帮助。

  • 我正在尝试在Mac上运行iOS上的Flutter应用程序。当我试图构建项目时,它给我这个错误: Xcode的输出:↳ ===使用配置Debug ===在/Users/(username)/包含的文件中构建项目Pods的目标shared_preferences。pub-cache/hosted/pub . dartlang . org/shared _ preferences-0 . 2 . 4/I

  • 公共静态无效setisInvalidDob(Boolean dob){SharedPretions首选项=PreferenceManager.getDefaultSharedPreferences(CreditMantriApplication.getCreditMantri());最终SharedPreferences.Editoredit=preferences.edit();edit.put

  • 问题内容: 我试图在共享内存上发布一些随机的东西;出于某些奇怪的原因,阅读器没有选择发件人写的东西 这是发件人: 这是读者: 如果重新启动阅读器,则阅读器确实能够读取发送方已写入的最后一个值。 但是,如果我先启动阅读器,然后再启动发送器,则阅读器不会拾取发送器写入的所有值。 为了使这个更奇怪,如果我在SHM :: read()中取消对printf语句的注释,那么读者有时可以使用。 任何的想法? G