我有一个用户登录的Android应用程序我需要在我的应用程序中存储登录详细信息 我的应用程序还有他/她提出的某些请求的用户历史记录 我的应用程序是一个软件服务应用程序,因此用户详细信息必须存储在从数据库中提取的应用程序中
Sqlite或共享偏好是否适合我的应用程序?
答案 0 :(得分:2)
取决于,如果您只想保存用户使用SharedPrefrence的会话,或者如果数据更多,您可以使用sqlite
/**
* method to set the login status for the application
*
* @param context
* @param status
*/
public static void setLoginStatus(Context context, int status) {
sharedPreferences = context.getSharedPreferences(PREFERENCE_NAME, Activity.MODE_PRIVATE);
Editor editor = sharedPreferences.edit();
editor.putInt(KEY_LOGIN_STATUS, status);
editor.apply();
}
注意:
关于它完全取决于您选择用于保存当前的内容 用户状态,我更喜欢使用共享首选项。并注册 并登录使用SQLite数据库。通常使用共享首选项 执行轻型操作。您可以在SQLite中搜索数据 你可能有很多用户。
因此,使用SQLite注册并登录,然后使用共享首选项 保存用户的当前状态。
答案 1 :(得分:0)
Sqlite始终是一个更好的选择,可以存储您可以以适当格式管理的数据,也可以加密。
答案 2 :(得分:0)
我建议,您应该使用sharedPreferences来保存登录详细信息,我想您存储的任何请求都包含更多数据,因此请在SQLite中保存您的请求。
答案 3 :(得分:0)
以下是关于主题的一些很好的细节:
Pros and Cons of SQLite and Shared Preferences
SQLite的
大量相同的结构化数据应存储在SQLite中 数据库作为数据库是为这种数据而设计的。作为数据 由数据库构建和管理,可以查询它 使用查询匹配特定条件的数据子集 像SQL这样的语言。这使得可以搜索数据。的 当然,管理和搜索大量数据会影响到 性能因此从数据库读取数据可能比读取速度慢 来自SharedPreferences的数据。
SharedPreferences
SharedPreferences是一个键/值存储,您可以在其中保存数据 某些关键。要从商店读取数据,您必须知道密钥 的数据。这使得读取数据非常容易。但就像它一样简单 是存储少量数据,因为它很难存储和存储 读取大型结构化数据,因为您需要为每个单元定义键 数据,此外你不能真正搜索除你之外的数据 有一个命名键的概念。
根据您的数据的大小或格式,您可以选择一个,我建议使用SharedPreferences登录信息