我该如何在我的Android应用程序中保存我的应用程序数据?

时间:2012-06-14 08:36:56

标签: java android stream fileinputstream fileoutputstream

我正在制作我的第一个Android应用程序。我想在一个活动中保存一个字符串数组,然后在第二个活动中我想将这些字符串显示为一个列表。我使用Android平台2.2与API 8所以我不能使用putStringSet()。有没有办法将我的数据保存为我的应用程序中的文本文件?然后可以在用户添加新字符串时在该文件中添加新行。在制作列表视图时,我可以根据新行解析它并生成字符串数组。 谢谢你的帮助。

4 个答案:

答案 0 :(得分:3)

使用文件处理。 易于初学者使用,有效地满足您的需求。

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

答案 1 :(得分:2)

在启动它之前,Intent中有一个方法putStringArrayListExtra("id", ArrayList list)。然后在Intent中启动的Activity中,使用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");

答案 2 :(得分:0)

但是你可以使用putStringArray或putStringArrayList包装到Bundle中。

Bundle通过Intents传递。

- &GT; 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

但我认为你更喜欢直接传递String列表。

答案 3 :(得分:0)

为什么要使用文件? 只需检查sharedPreferences和sqliteDb即可 它可能适合你。共享的偏好很容易处理