我正在開發一個Android應用程序,並且我需要將一些Store對象添加到ArrayList favoriteStores。問題是我希望這個列表在關閉應用程序後繼續存在,因爲我最喜歡的商店列表必須留在那裏,直到我選擇刪除其中的特定項目。任何人都知道我可能使用什麼類型的實現?在此先感謝,如何在應用程序結束後將數據保存在數組中?
1
A
回答
3
如果您不想將arraylist保存到數據庫,可以將其保存到文件。如果你只想保存數組列表並且不想觸摸sqlite,這是一個好方法。
您可以保存的ArrayList用這種方法
public static <E> void SaveArrayListToSD(Context mContext, String filename, ArrayList<E> list){
try {
FileOutputStream fos = mContext.openFileOutput(filename + ".dat", mContext.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(list);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
到文件,您可以讀取保存的文件用這種方法
public static Object ReadArrayListFromSD(Context mContext,String filename){
try {
FileInputStream fis = mContext.openFileInput(filename + ".dat");
ObjectInputStream ois = new ObjectInputStream(fis);
Object obj= (Object) ois.readObject();
fis.close();
return obj;
} catch (Exception e) {
e.printStackTrace();
return new ArrayList<Object>();
}
}
希望這有助於給數組列表。
+0
正是我所需要的,謝謝。 –
2
您可以使用數據庫,如SQLite (howto here)或使用一些序列化技術。序列號here有一個相關的問題。
有關在Android中存儲數據的一般信息可以在here找到。
0
Here's一篇關於Android中數據存儲選項的好帖子,請仔細閱讀並選擇您認爲最合適的選項。
相關問題
- 1. PHP應用程序如何將數據保存在內存中?
- 2. 休眠並不'在應用程序結束後將數據保存到本地h2數據庫
- 3. 如何確保後臺線程在應用程序結束時結束?
- 4. 何時應該將應用程序數據保存在WinRT中?
- 5. 如何保存應用程序數據
- 6. 應該將永久數據保存在Angular應用程序中
- 7. 數據庫在程序結束後不能保留
- 8. 保存數據到我的數據庫不可能...應用程序結束
- 9. 如何在應用程序結束時自動保存數據而不保存按鈕(自動)?
- 10. Android應用程序在後臺應用程序中保存數據
- 11. Android:將數組保存到應用程序數據
- 12. 如何在Docker .NET Core Web應用程序中保存數據?
- 13. 如何在應用程序中本地保存數據?
- 14. 如何在Windows Store應用程序中正確保存數據
- 15. 如何在iOS應用程序中保存數據
- 16. 如何在iOS應用程序中保存文本數據?
- 17. 如何在應用程序中保存數據?
- 18. 如何將數據保存在asp.net MVC2 web應用程序的內存中?
- 19. 如何使用鈦在應用程序中保存數據或一組列表?
- 20. 將受保護的數據存儲在Java應用程序中
- 21. 將數據保存在離子應用程序的LocalStorage中
- 22. 將敏感數據保存在應用程序代碼中
- 23. 將數據保存在Wildfly Web應用程序中
- 24. 將數據保存在應用程序代理中
- 25. 如何在程序崩潰時將應用程序數據保存到文件
- 26. 如何將數組數據存儲在我的程序中?
- 27. 將結果保存在數組中preg_replace
- 28. 如何在應用程序在後臺運行時保存數據?
- 29. 如何在AngularJS應用程序中將數組數據保存到本地存儲?
- 30. 在函數調用結束後保持數組的內容。 (C++)
http://developer.android.com/guide/topics/data/data-storage.html – Fildor