2012-06-14 38 views
2

我正在製作我的第一個android應用程序。我想在一個活動中保存一個字符串數組,然後在第二個活動中,我想將這些字符串顯示爲一個列表。我正在使用API​​平臺2.2與API 8所以我不能使用putStringSet()。有什麼方法可以將我的數據保存爲我的應用中的文本文件?然後可能是我可以只要在用戶添加一個新的字符串時在該文件中添加一個新行。而在做列表視圖時,我可以在新行的基礎上解析它並創建字符串數組。 感謝您的幫助。我應該如何在我的android應用程序中保存我的應用程序數據?

回答

3

使用文件處理。 易於使用的初學者和高效率爲您的目的。

http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

+0

我使用了內部存儲。但每次我在文件中寫入內容時,都會刪除舊數據。我也想要舊數據 – Piscean

+0

您正在以錯誤的文件模式打開文件。您每次創建一個新文件,截斷所有舊保存的數據。在APPEND模式下打開它,你的數據一定會被保留下來。 – Swayam

+0

FileOutputStream fos = openFileOutput(FILENAME,Context.MODE_APPEND); – Swayam

2

Intent中有一種方法putStringArrayListExtra("id", ArrayList list)在啓動之前使用。然後在從意圖啓動的活動中,使用getStringArrayList("id")

例如:

Intent intent = new Intent(MainActivity.this.getApplicationContext(), NewActivity.class); 
intent.putStringArrayListExtra("id", yourArrayList) 
MainActivity.this.startActivity(intent); 

然後在NewActivity onCreate()方法

ArrayList<String> list = getIntent().getExtras().getStringArrayList("id"); 
+0

此String arraylist應該像用戶歷史記錄。無論用戶做什麼都應該保存,然後顯示在列表中。通過這種方式,我們將發送一個數組列表,該列表將在該意圖之前創建。那麼如果我們有一些舊字符串以及哪個用戶創建了什麼。我們如何獲取? – Piscean

+0

然後你應該把文本寫到一個文件中,然後解析成一個ArrayList,然後像你想要的那樣傳遞它。 – Demonick

0

你爲什麼要使用的文件? 只需檢查sharedPreferences和sqliteDb 它可能適用於您..共享偏好易於處理

+0

我沒有嘗試sqliteDb。但我檢查了sharedPreferences。在我的情況下,sharedPreferences不是一個好的解決方案。 – Piscean

相關問題