如何在Android应用中存储对象列表?

时间:2018-10-27 11:24:01

标签: android

在Android应用中存储常量对象列表的最有效方法是什么?我想在json / database中提供对象,显示对象列表,并将它们之一放到两个活动中-一个包含它们的列表,第二个包含动态片段。在从json到Appd的第一顿午餐中解析是一个好主意,或者更好的方法是每次从本地数据库获取所有对象列表?

3 个答案:

答案 0 :(得分:0)

基于您的数据,两种解决方案都不错,您可以在应用中使用SharedPreference或SQLite数据库,但是如果您的数据不是那么复杂或太大,我建议您使用SharedPreference和Google Gson库将ArrayList转换为String和将结果保存到SharedPreference中,并将保存的数据转换为ArrayLists(我将数据保存在我的所有项目中,并且效果很好),使用SQLite比使用SharedPreference困难,但是在处理大数据或复杂数据时有一些好处。

答案 1 :(得分:0)

如果数据不是太复杂并且对象也不太多,您也可以将它们放在静态类中。

public class Data {

    public static List<Data> DATA = new ArrayList<>() {{
        add(new Data("Foo", 42, 3.1415)),
        add(new Data("Bar", 123, 2.718))
    }};

    public String string;
    public int i;
    public double d;

    public Data(String string, int i, double d) {
        this.string = string;
        this.i = i;
        this.d = d;
    }
}

并像这样使用它:

...
for(Data d : Data.DATA) {
    System.out.println(d.string);
}

答案 2 :(得分:0)

您可以使用sqlite数据库并使用Room。它非常整洁,具有良好的可读性,并且不需要花费很长时间即可在您的项目中实现。有人可能会认为,从最佳实践的角度出发,将您描述的数据放在本地数据库中而不是使用共享首选项会更合适。