0

我知道,當SharedPreferences對於簡單數據類型更簡單快捷時,SQLite專門用於大量數據。Sharedpreferences vs SQLite for large data without searching

我想在一年中每天存儲簡單的真假布爾值。這意味着我必須創建3維json並將其作爲字符串存儲在共享首選項中(或者以年爲關鍵字的維度數組),或者將年月和數據創建爲單獨的列(或者它可以是簡單的日期列.. 。據說我還可以使用「YYYY-MM-DD」作爲365鍵盤佈局的sharedPreferences中的鍵)。

現在問題來了。我應該使用更復雜的SQLite數據庫來存儲這個簡單的數據,如果我100%確定我不需要通過特殊參數功能進行任何搜索/分組/選擇。因爲在我看來,如果我需要存儲簡單的布爾值(即使總共365+布爾值),我應該使用SharedPreferences,因爲它是一個更快的解決方案。但是對我來說這似乎有點不對勁,因爲我不確定SharedPreferences是否應該存儲這麼多變量。

地址:

這些布爾只用於離線裝載本地存儲或從用戶的角度出發,而更快的訪問。這些1 | 0值存儲在每個應用程序用戶的服務器上,因此即使我會用數據做一些複雜的工作,但我不確定是否需要在電話上執行此操作。

回答

1

將數據存儲在共享首選項中可能看起來是個不錯的主意,實際上它可以正常工作,但它採用了一種簡單的方法。你永遠不知道未來你可能需要什麼。您的要求目前已實現,但不以任何方式擴展。總的來說,值得花一點時間進行投資,並妥善設置並長期受益。

當然,如果你正在做一些快速原型或快速演示,這是一個不同的故事。

設置一個「複雜的分貝」或任何不必花費時間。嘗試Realm它真的很快。

+0

這個領域的事情聽起來很有趣,謝謝你的建議!另外,即使我要構建原型,我也不認爲這會浪費時間。根據我的經驗,這些助手在多個項目中是有用的,如果按照正確的方式進行編程,非常有用且靈活,並且可以像您指出的那樣長時間節省更多時間。 –

2

共享首選項可能需要365個值。根據this,共享首選項的最大大小約爲1.4mb。共享首選項通常用於保存非常少量的數據,如卷或用戶設置。我會建議你去與SQLite數據庫。它需要一些時間來設置它,但它會花費的時間值得

+1

那是新的東西。我不知道它有一些大小的限制,你從很多潛在的bug中救了我哈哈。謝謝 –