我正在制作我的第一个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