我正在製作我的第一個android應用程序。我想在一個活動中保存一個字符串數組,然後在第二個活動中,我想將這些字符串顯示爲一個列表。我正在使用API平臺2.2與API 8所以我不能使用putStringSet()。有什麼方法可以將我的數據保存爲我的應用中的文本文件?然後可能是我可以只要在用戶添加一個新的字符串時在該文件中添加一個新行。而在做列表視圖時,我可以在新行的基礎上解析它並創建字符串數組。 感謝您的幫助。我應該如何在我的android應用程序中保存我的應用程序數據?
回答
使用文件處理。 易於使用的初學者和高效率爲您的目的。
http://developer.android.com/guide/topics/data/data-storage.html#filesInternal
但是你可以使用putStringArray或putStringArrayList封裝到一個Bundle中。
Bundle通過Intents傳遞。
- >http://developer.android.com/reference/android/os/Bundle.html#putStringArray(java.lang.String,java.lang.String中[])
然後,如果你想將其保存爲一個文件,那麼你必須使用這個方法:http://www.java-forums.org/advanced-java/13852-saving-arraylist-file.html
但我認爲你喜歡直接傳遞字符串列表。
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");
你爲什麼要使用的文件? 只需檢查sharedPreferences和sqliteDb 它可能適用於您..共享偏好易於處理
我沒有嘗試sqliteDb。但我檢查了sharedPreferences。在我的情況下,sharedPreferences不是一個好的解決方案。 – Piscean
- 1. 我應該如何保存鬧鐘應用程序數據?
- 2. 我應該在哪裏保存應用程序數據?
- 3. 我想保存我的Android應用程序的數據
- 4. 我的Android應用程序在我的Android應用程序
- 5. 我應該如何在CodeIgniter中構建我的應用程序?
- 6. 我應該在哪裏存儲C#應用程序的數據?
- 7. 我在哪裏保存我的應用程序的數據?
- 8. 我如何保護我的應用程序,並保護我的Sqlite數據庫在應用程序
- 9. 我的應用程序數據在Android上保存在哪裏?
- 10. 我該如何建模我的JS應用程序的數據
- 11. 我應該如何在PHP應用程序中加密我的數據?
- 12. 在我的Android應用程序中使用Maps應用程序
- 13. 我應該在哪裏存儲我的iPhone應用程序的SQLite數據庫?
- 14. 我應該在哪裏將圖像保存到我的iPhone應用程序中?
- 15. 我應該如何在我的web應用程序中存儲刮掉的HTML?
- 16. 我應該在我的應用程序中使用Log.d嗎?
- 17. 保存應用程序的數據,如果我更新應用程序,不會丟失應用程序
- 18. 我應該如何備份我的應用程序存儲在GAE數據存儲區中的數據?
- 19. 在我的Android應用程序中打開vimeo應用程序?
- 20. 我應該在n層應用程序
- 21. 我的JavaScript應該放在我的Rails 4應用程序中
- 22. 我應該開源我的android應用程序?
- 23. 我的android應用程序泄漏,我應該檢查什麼?
- 24. 我應該如何構建我的應用程序?
- 25. 我應該如何爲我的應用程序調整CMS?
- 26. 我應該如何記錄我的應用程序
- 27. 我應該如何組織我的Flex應用程序?
- 28. 我應該如何強調測試我的web應用程序?
- 29. 我應該如何組織我的應用程序?
- 30. 我應該如何測試我的Rails應用程序?
我使用了內部存儲。但每次我在文件中寫入內容時,都會刪除舊數據。我也想要舊數據 – Piscean
您正在以錯誤的文件模式打開文件。您每次創建一個新文件,截斷所有舊保存的數據。在APPEND模式下打開它,你的數據一定會被保留下來。 – Swayam
FileOutputStream fos = openFileOutput(FILENAME,Context.MODE_APPEND); – Swayam