哪个是在android中本地内存中存储自定义数组列表的更好方法

问题描述 投票:3回答:2

我已经用过SharedPreferences了。但我想找到更好的方法来保存和检索Android中的Arraylist。

我试图在SQLite中保存详细信息,但sqlite仅用于结构化细节。我很困惑哪个本地存储将成为Arraylist的正确方法。

请说明在哪种情况下我们必须使用的正确理由。

android android-sqlite local-storage sharedpreferences android-sharedpreferences
2个回答
3
投票

是如果您有多个文件的长数据,那么您必须存储在SQLite数据库中。在SQLite数据库中,无需在数据库中创建多个字段,只需将ArrayList转换为字符串并将其存储到数据库中。当您从数据库中检索数据作为字符串时,将字符串转换为ArralyList。这是在本地存储数据的简单,安全和最快捷的方式。

类的Array String到类的ArrayList和类的字符串你应该使用GSON。

快乐的编码....


1
投票

你可以使用SharedPreferencesSQLite。要保存你的arraylist转换为json像这样

Gson gson = new Gson();
String yourJsonString = gson.toJson(arrayList);

并检索

Gson gson = new Gson();
Type type = new TypeToken<ArrayList<YourObject>>() {}.getType();
ArrayList<YourObject> arrayList =  gson.fromJson(yourJsonString, type);
© www.soinside.com 2019 - 2024. All rights reserved.