2017-04-26 48 views
-1

我有一個用戶登錄的Android應用程序,我需要在我的應用程序中存儲登錄詳細信息。
我的應用程序也有他/她提出的某些請求的用戶歷史記錄。
我的應用程序是一個軟件服務應用程序,因此用戶詳細信息必須存儲在從數據庫中提取的應用程序中Sqlite或sharedpreference適合我的應用程序

Sqlite或sharedpreference是否適合我的應用程序?

+0

「這是從數據庫中獲取」 ......那豈不是回答你的問題? –

+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註冊並登錄,然後使用共享首選項 保存當前用戶狀態。

+0

我只有用戶名和密碼才能同時保存幾個用戶的詳細信息,其中包括請求類型請求的詳細信息日期等 –

+0

如果用戶數據超過使用sqlite –

+0

我告訴過你如果你只是想管理'Sessions'使用SharedPrefs或使用sqlite –

0

Sqlite總是一個更好的選擇,在那裏存儲數據,你可以管理正確的格式,你也可以加密。

+0

但我聽說sqlite導致減少應用程序性能 –

0

我會建議,你應該使用sharedPreferences來保存登錄信息,我想你要存儲的任何請求都包含更多的數據,所以把你的請求保存在SQLite中。

+0

我的數據包含最多10到15個編輯文本字段 –

+0

在存儲請求時使用SQLite –

+0

如果使用它,是否需要sharedpreference來存儲共享首選項 –

0

這裏是關於主題的一些好的細節:

Pros and Cons of SQLite and Shared Preferences

SQLite的

相同的結構化數據的大量應存放在一個SQLite 數據庫作爲數據庫設計的這種數據。由於數據 由數據庫構建和管理,因此可以使用查詢 語言(如SQL)來查詢獲得匹配特定標準的 子數據集。這使得可以在數據中進行搜索。管理和搜索大量數據集的過程會影響性能,因此從數據庫讀取數據的速度可能比讀取SharedPreferences中的 數據要慢。

SharedPreferences

SharedPreferences是鍵/值存儲在那裏你可以在 某些關鍵保存數據。要從商店中讀取數據,您必須知道數據的關鍵 。這使得讀取數據變得非常簡單。但容易,因爲它是存儲少量的數據是困難的,它是存儲和 讀取大型結構化數據,因爲您需要定義每個單一的 數據的關鍵,此外,你不能真正搜索除了你的數據以外的數據 有命名密鑰的特定概念。

根據規模大小或數據的格式,你可以選擇一個,登錄信息,我建議使用SharedPreferences

+0

@RautDarpan我在報價中添加了鏈接和文字 –

相關問題