2015-09-28 16 views
-1

我正在開發一個應用程序,幫助人們保存工作日的有關信息。我正在使用Shared Preference來保存整個應用程序數據,而不是DataBase,可以嗎?

用戶輸入每個工作日的開始日期和結束日期,應用會計算他的工資和本月工作的小時數。

而不是將此信息保存在DataBase,我保存信息Shared-Preferences。比如,我保存他的薪水以這種方式(工資是EditText):

SharedPreferences.Editor editor; 
editor = sharedPreferences3.edit(); 
editor.putString("Wage", wage.getText().toString()); 
editor.commit(); 

我敢肯定它是偉大的拯救像Shared-Preferences工資的人物。但爲了節省每個工作日的進入和退出日期,我應該使用DataBase。不過我用Shared-Preferences

工作日內由@分開,例如,工作日字符串就會像 -

09/27/2015 13:02 - 09/27/2015 20:02 @ 10/27/2015 10:15 - 10/27/2015 16:15. 

隨着焦炭@我可以提取信息,做任何我需要它。

我在問什麼 - 正在使用,Shared-Preferences而不是DataBase,好嗎?

+0

爲什麼使用Shared-Prefs,易用性或什麼?如果您要放心使用,請查看Snappy-DB。易於實現,易用性與SharedPrefs大致相同,但速度更快。 – Smashing

回答

0

如果您需要存儲不同於首選項和首選項的數據,我的意思是固定數量的不同值可以更改其值,但不會增長超過其預期值。

您以不符合預期的方式使用偏好設置。我不能告訴你這樣做的缺點,或者因爲這個原因你會打什麼樣的問題。

我推薦你使用內部SQLite來做這個,或者...你可以使用一個簡單的本地文件並且序列化一個包含你想要保存的數據的類。

這兩個選項都比使用偏好更好。

希望這會有所幫助。

0

這實際上取決於你想存儲的數據。

**SQLite** 

大量相同的結構化數據應該存儲在SQLite數據庫中,因爲數據庫是爲這種數據而設計的。由於數據是由數據庫進行結構化和管理的,因此可以查詢使用查詢語言(如SQL)獲取符合特定條件的數據的子集。這使得可以在數據中進行搜索。當然,管理和搜索大量數據會影響性能,因此從數據庫讀取數據可能比從SharedPreferences讀取數據要慢。

**SharedPreferences** 

SharedPreferences是一個鍵/值存儲區,您可以在某個鍵下保存數據。要從商店中讀取數據,您必須知道數據的關鍵。這使得讀取數據變得非常簡單。但是,像存儲少量數據一樣簡單,就像存儲和讀取大型結構化數據一樣容易,因爲您需要爲每個數據定義關鍵字,而且除了具有特定的概念外,您無法在數據中進行真正的搜索命名密鑰。

0

長話短說:

1您可以將數據存儲用戶的輸入/到本地數據庫中,如果您的數據是很大的。

2-如果數據相對較小,您可以使用共享偏好來存儲數據。

相關問題