Java 我应该如何在android应用程序中保存应用程序数据?

Java 我应该如何在android应用程序中保存应用程序数据?,java,android,stream,fileinputstream,fileoutputstream,Java,Android,Stream,Fileinputstream,Fileoutputstream,我正在制作我的第一个android应用程序。我想在一个活动中保存字符串数组,然后在第二个活动中,我想将这些字符串显示为列表。我正在使用带API 8的android平台2.2,因此无法使用putStringSet()。有没有办法在我的应用程序中将我的数据保存为文本文件?那个么,每当用户添加一个新字符串时,我就可以在那个文件中添加一个新行。在创建列表视图时,我可以根据新行解析它,并创建字符串数组。 谢谢您的帮助。但是您可以使用putStringArray,或者将putStringArrayList打

我正在制作我的第一个android应用程序。我想在一个活动中保存字符串数组,然后在第二个活动中,我想将这些字符串显示为列表。我正在使用带API 8的android平台2.2,因此无法使用putStringSet()。有没有办法在我的应用程序中将我的数据保存为文本文件?那个么,每当用户添加一个新字符串时,我就可以在那个文件中添加一个新行。在创建列表视图时,我可以根据新行解析它,并创建字符串数组。
谢谢您的帮助。

但是您可以使用putStringArray,或者将putStringArrayList打包成一个包

包是通过意图传递的

->,java.lang.String[])

然后,如果要将其保存为文件,则必须使用以下方法:


但是我认为您更喜欢直接传递字符串列表。

有一个方法
putStringArrayListExtra(“id”,ArrayList list)
在启动它之前使用。然后在从Intent启动的活动中,使用
getStringArrayList(“id”)

例如:

Intent intent = new Intent(MainActivity.this.getApplicationContext(), NewActivity.class);
intent.putStringArrayListExtra("id", yourArrayList)
MainActivity.this.startActivity(intent);
然后在NewActivity onCreate()方法上

ArrayList list=getIntent().getExtras().getStringArrayList(“id”);
使用文件处理。 易于初学者使用,并为您的目的有效


你为什么要用文件来做这个? 只需检查SharedReferences和sqliteDb
它可能适合您。共享首选项很容易处理

此字符串arraylist应该类似于用户历史记录。无论用户将要做什么,都应该保存并显示在列表中。通过这种方式,我们将发送一个数组列表,该列表将在该意图之前创建。如果我们也有一些用户创建的旧字符串呢。我们如何获取它呢?然后你应该将文本写入一个文件,然后将它解析成一个ArrayList,然后像你想的那样传递它。我使用了那个内部存储。但每次我在文件中写入内容时,它都会删除旧数据。我还需要旧数据您以错误的文件模式打开文件。您每次都在创建一个新文件,截断所有旧保存的数据。在APPEND模式下打开它,您的数据肯定会被保留。FileOutputStream fos=openFileOutput(FILENAME,Context.mode\u APPEND);我没有尝试sqliteDb。但我检查了共享参考资料。在我的情况下,共享引用不是一个好的解决方案。
ArrayList<String> list = getIntent().getExtras().getStringArrayList("id");