2013-09-16 35 views
1

我正在開發一個Android應用程序,並且我需要將一些Store對象添加到ArrayList favoriteStores。問題是我希望這個列表在關閉應用程序後繼續存在,因爲我最喜歡的商店列表必須留在那裏,直到我選擇刪除其中的特定項目。任何人都知道我可能使用什麼類型的實現?在此先感謝,如何在應用程序結束後將數據保存在數組中?

+0

http://developer.android.com/guide/topics/data/data-storage.html – Fildor

回答

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中數據存儲選項的好帖子,請仔細閱讀並選擇您認爲最合適的選項。

相關問題