Java 在Android中保存ArrayList最简单的方法是什么?

Java 在Android中保存ArrayList最简单的方法是什么?,java,android,string,arraylist,save,Java,Android,String,Arraylist,Save,我正在构建一个包含收藏夹列表的应用程序,但当我退出该应用程序时,收藏夹列表将重置为空,因为列表未保存(因为列表无法保存在SharedPrefs中)。如何在Android中保存ArrayList或字符串[]?如果您推荐序列化或本地数据库,请您解释一下它们是什么,它们的含义是什么?我听过这些术语,也听过教程,但不理解 对于同一个问题,另一种方法可能是,您通常如何建立收藏夹列表?有一个问题可以很好地解释这一点: 从它的答案(我已经测试过了)来看,在API 11之后,您可以执行以下操作: //Retr

我正在构建一个包含收藏夹列表的应用程序,但当我退出该应用程序时,收藏夹列表将重置为空,因为列表未保存(因为列表无法保存在SharedPrefs中)。如何在Android中保存ArrayList或字符串[]?如果您推荐序列化或本地数据库,请您解释一下它们是什么,它们的含义是什么?我听过这些术语,也听过教程,但不理解


对于同一个问题,另一种方法可能是,您通常如何建立收藏夹列表?

有一个问题可以很好地解释这一点:

从它的答案(我已经测试过了)来看,在API 11之后,您可以执行以下操作:

//Retrieve the values
Set<String> set = myScores.getStringSet("key", null);

//Set the values
Set<String> set = new HashSet<String>();
set.addAll(listOfExistingScores);
scoreEditor.putStringSet("key", set);
scoreEditor.commit();
//检索值
Set=myScores.getStringSet(“key”,null);
//设置值
Set=newhashset();
set.addAll(现有核心列表);
scoreEditor.putStringSet(“键”,set);
scoreEditor.commit();

我总结了他的答案,但你应该检查完整的答案。这真的很有帮助

选项1:最简单。迭代arraylist并将每个元素保存到SharedReferences中

选项2:将arraylist转换为字符串。然后保存到共享pref中

选项3:将数据保存到数据库中。谷歌如何将sqllite与android一起使用

您可以使用android库。它将通过简单地创建ArrayList的对象类来扩展SugarRecord,从而为您创建所需的数据库。 例如,如果列表类型是ArrayList,则必须使Books类扩展SugarRecord,然后在活动中循环遍历items并设置item.save()并将其保存到数据库。 我有一个样本项目。 如果你有任何问题,给我一个下午。
希望有帮助

序列化并使用首选项将其取回您可以使用sqlite以安排的方式存储数据。这将对您有很大帮助。这是不一样的,因为我不要求将其保存在SharedReferences中,因为SharedReferences不应用于此目的,尤其是当它是一个大数组时。谢谢我会试试这个,但就像我说的,希望我能找到一个替代SharedReferences的方法,正如我在帖子中提到的,我想找到保存收藏夹列表的“默认”/“推荐方法”。当然。我没想到它是一个大数组。既然你要的是简单的,我想会有帮助的。无论如何,我们应该始终记住,简单并不总是最好的。我将编辑它,因为它不是重复的。我的错误我想尝试选项3,但我的问题是我找不到像SQLite这样的数据库的特定保存教程,最好我不想为了保存收藏夹列表而学习SQLite几天。要在数据库中保存内容,一个非常简单的方法是使用Sugar ORM,正如Isaac Urbina在另一个答案中所建议的那样。