Sqlite或sharedpreference适用于我的应用程序

时间:2017-04-26 12:50:00

标签: java android android-sqlite android-sharedpreferences

我有一个用户登录的Android应用程序我需要在我的应用程序中存储登录详细信息 我的应用程序还有他/她提出的某些请求的用户历史记录 我的应用程序是一个软件服务应用程序,因此用户详细信息必须存储在从数据库中提取的应用程序中

Sqlite或共享偏好是否适合我的应用程序?

4 个答案:

答案 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登录信息