簡體   English   中英

Android將類寫入內部存儲

[英]Android writing class to internal storage

因此,我正在制作一個氣象應用程序,發現該應用程序閑置時間過長並破壞了天氣預報數據。 因此,我認為最好的解決方案是將數據保存到內部存儲中,並在需要時進行檢索。

包含數據的類具有2個其他數據類的數組,並且都包含字符串,整數和雙精度型。

保存此數據的最佳方法是什么? 我看到的選項是首選項文件或將其保存到本地存儲中的文件中。

我認為首選項文件不起作用,因為聽起來更像是用於較小量的數據。

我一直在嘗試保存到本地存儲中,但是進展並不順利。 手動將字節保存到文件不太熟悉,Android開發人員指南也不是很全面。 我嘗試對其進行序列化,但得到了不可序列化的錯誤。 就寫入字節而言,我認為我可以通過使用getBytes將字符串轉換為字節,保存原樣,然后再使用getBytes將雙精度轉換為字符串來正確編寫字節。 我不確定這是否是正確的方法,也不確定如何讀取字節,因為您必須讀取特定數量的字節。 我是否必須找出每種數據類型要包含多少個字節? 例如,查找字符串編碼的類型並讀取該數據類型的字節數?

最好的方法是什么? 我應該只使用首選項文件嗎? 有人可以告訴我如何或將我指向從這樣的文件中讀取數據的資源嗎? 任何幫助,將不勝感激。

我傾向於對不同數量的數據使用首選項。 共享的首選項保存到xml文件。 這是一個例子:

SharedPreferences.Editor editor = context.getSharedPreferences("pref_name", Context.MODE_PRIVATE).edit();
editor.putString("name", value);
... // add all your other items here to save
editor.commit();

要獲取數據,請執行以下操作:

SharedPreferences preference = context.getSharedPreferences("pref_name", Context.MODE_PRIVATE);
preference.getString("name", defaultValue);

它非常簡單易用。 我有時會保存大量數據集。 對於這些,我通常將數據轉換為json,然后將該json保存為字符串。 當我得到數據時,我將從json轉換為java。

另一種選擇是使用sqlite數據庫並將所有數據存儲在那里。 關於如何保存到數據庫,有許多教程和文檔。

這是一本很好的入門指南: https : //developer.android.com/guide/topics/data/data-storage.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM