我正在尝试创建一个用户特定的sharedPreference。我想存储的所有内容都是布局背景,具体取决于设置菜单中的内容。如何根据所使用的帐户存储和加载sharedPrefence?如何创建用户特定的SharedPreference?
回答
您可以添加一个包含用户信息的值字段吗?然后你会搜索用户名,并检查它的孩子是否有相应的信息。您可能必须将信息存储为对象。
如果您使用共享首选项,它应该只包含少量的键值对。由于您使用的是本地数据库,因此建议您将值存储在那里。你可以为你想存储的每种类型的信息设置一个表格,比如High Scores。您需要一个“USERID”字段,以便在您对数据库执行搜索时,可以使用where
子句指定要搜索的USERID。一旦您搜索了用户的信息,您就可以将其存储到共享首选项中,以便更轻松地使用并且只有少量数据,而不是每个人的数据。一旦你完成了使用这些信息,你将把信息保存回数据库。
我正在使用数据库作为帐户。即时通讯新的Android开发,并没有发现任何可以理解的如何正确地做一个sharedPrefence,所以我不知道如何链接这两个 – Chanter
如果你使用的数据库,那么你不能存储任何共享首选项在那里?共享首选项用于在本地存储少量的键值对。我发现这个链接很好地描述了它,并告诉你如何读/写。 https://developer.android.com/training/basics/data-storage/shared-preferences.html查看我的编辑了解更多详情。 – Developer
感谢您的帮助:)非常感谢队友 – Chanter
您可以将您的用户ID用作SharedPreference的键,然后将您的用户详细信息作为对象保存在其值中。 用这种方法可以在本地存储所有用户的用户数据。
/*Save the object in shared Preferences*/
public void saveObjectToPreferences(String key, Object value) {
final SharedPreferences prefs = getSharedPreferences(ApplicationConstants.PREF_FILE_CONFIG, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
String jsonValue = new Gson().toJson(value);
editor.putString(key, jsonValue);
editor.apply();
}
/*Get the object from shared Preferences*/
public Object getObjectFromPreferences(String key, Object defaultObj) {
final SharedPreferences prefs = getSharedPreferences(ApplicationConstants.PREF_FILE_CONFIG, Context.MODE_PRIVATE);
String value = prefs.getString(key, "");
Object object = new Gson().fromJson(value, defaultObj.getClass());
return object;
}
在这些方法中传递密钥中的用户标识和对象中的详细信息。它会工作。
您可以做到这一点。您必须转换为GSON等格式才能将对象存储到SharedPrefs中。 –
为了获取对象,你可以传递null。 – Shivam
- 1. SharedPreference:如何创建sharedPreference类
- 2. 从xml创建SharedPreference
- 3. 如何创建用户特定的登录重定向
- 4. 创建用户特定的日历
- 5. 使用asp.net为特定用户创建特定重定向url#
- 6. Django:如何创建用户特定的日志?
- 7. 如何识别在jenkins上创建特定工作的用户?
- 8. 如何创建特定类型的用户控件
- 9. 如何为特定时区的用户创建mysql SELECT
- 10. 如何在注册期间为用户创建特定的URL?
- 11. 如何创建调用特定功能
- 12. 如何在Worklight中创建用户特定会话
- 13. 创建用户相关的用户特定内容
- 14. 为特定用户创建特定会话
- 15. 用户级漏洞的Sharedpreference
- 16. 如何在ODOOERP的特定客户(res.partner)下创建任务(project.task)
- 17. 如何创建用户定义
- 18. 如何创建特定的热图?
- 19. 如何创建特定格式的div?
- 20. 如何创建特定的泛型类?
- 21. 如何创建特定的模态框
- 22. 如何创建特定类型的列?
- 23. 如何创建自定义的用户定义聚合独特功能
- 24. twitter4j搜索具有特定帐户创建日期的用户
- 25. 如何创建用户端的用户?
- 26. 如何使用由特定用户所拥有的对象创建的ModelForm
- 27. 创建验证cookie到特定门户
- 28. 在django中登录后创建用户特定的重定向
- 29. 如何让Presto使用特定的用户名和密码创建Windows服务?
- 30. 如何为前端上的特定专用资源组创建用户会话?
定义该帐户唯一的密钥?即使用用户名作为标识符 –
define Account ... – Selvin
这听起来像是一个最好通过使用SQLite解决的问题。 –