我正在开发我的第一个Android应用程序,并希望在这里得到一些提示。
我从网址获取JSONObject
,然后将在ArrayList<MyObject>
中解析。该列表将在多个选项卡中使用,并根据选项卡的需要进行过滤。用户可以修改这些列表中的对象,并且应该与列表同步更改。
所以,为了加快加载时间,我创建了一个类DataHolder
作为一个包含7个arraylist的单例,基于不同排序顺序和过滤条件的JSONObject
。这些列表中的对象是原始列表中的引用。填充列表工作正常。
列表将用于不同的片段和活动。
现在问题是:第二个活动包含带有片段的标签。初始化片段后...... DataHolder
中的所有arraylists都计为0!我必须在JSONObject
中保存SharedPreferences
并再次填充以获取List
。我无法再次加载该网址,因为它正在减慢应用程序的速度,并且使用SharedPreferences
不是一个选项(我认为),因为需要同步Lists
。我已经读过使用静态变量不是最佳解决方案,但它似乎是最简单的方法:(
我该怎么做才能解决这个问题?我应该使用Parcelable Objects
并始终通过Lists
吗?或者可以使用SQLite
?还是有其他方法吗?
答案 0 :(得分:0)
使用静态列表进行本地操作。当用户离开该屏幕(活动)时,将该更改保存到数据库中。
答案 1 :(得分:0)
SQLite的方式绝对是正确的方法,imho。
您应该使用内部数据库来存储此类列表: http://developer.android.com/guide/topics/data/data-storage.html#db