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

时间:2018-04-06 11:30:11

标签: android android-sqlite local-storage sharedpreferences android-sharedpreferences

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

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

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

2 个答案:

答案 0 :(得分:3)

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

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

快乐的编码......

答案 1 :(得分: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);