Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用共享首选项存储数据_Android_Sharedpreferences - Fatal编程技术网

Android 使用共享首选项存储数据

Android 使用共享首选项存储数据,android,sharedpreferences,Android,Sharedpreferences,我在我的应用程序中内置了类别,我希望用户添加自己的类别。要添加类别,用户必须从可用的股票图像中选择一个图标,并添加自己的标题。如何使用共享首选项存储此数据 另外,如何添加我的库存图像以便用户可以看到它们?对于图像:- 你可以把它们放在资产中。。。或者稍后从服务器下载 用于数据 将添加的类别转换为JSON并将其作为字符串存储到SharedReferences。。然后在需要时解析它们。如果您没有可以存储类别图像的后端(我认为这是最好的主意),您可以使用android resources drawab

我在我的应用程序中内置了类别,我希望用户添加自己的类别。要添加类别,用户必须从可用的股票图像中选择一个图标,并添加自己的标题。如何使用
共享首选项存储此数据


另外,如何添加我的库存图像以便用户可以看到它们?

对于图像:-

你可以把它们放在资产中。。。或者稍后从服务器下载

用于数据


将添加的类别转换为JSON并将其作为字符串存储到SharedReferences。。然后在需要时解析它们。

如果您没有可以存储类别图像的后端(我认为这是最好的主意),您可以使用android resources drawable(或assets文件夹),在用户存储用户类别后,您可以将其存储在object中:

category: {
  "userId": "idString",
  "categoryId": "idCategory",
  "name": "name",
  "avatar": valueOfDrawableResource
}

由于图像将是应用程序资产的一部分,因此您无需将图像保存在SharedReference中,只需将其放在可绘制文件夹中,并有一个对象或至少一个整数列表来引用即可。如果您需要保存记录,则可以使用数据库存储用户可能输入的其他信息。SharedReference并不是为了保存大量数据,只是为了保存应用程序状态。

不建议将图像存储在
Sharepreferences
中,您应该将该图像存储到sdcard,然后将图像路径(来自sdcard)存储到
Sharepreferences

像这样

SharedPreferences shre = PreferenceManager.getDefaultSharedPreferences(this);
Editor edit=shre.edit();
edit.putString("imagepath","/sdcard/imh.jpeg");
edit.commit();
然后使用此路径从SD卡获取图像


希望它能帮助您

您希望在SP中存储什么?