我正在开发我的第一个 android 应用程序,并希望在这里得到一些提示。
我JSONObject
从一个 url 中得到一个,然后将在一个ArrayList<MyObject>
. 该列表将在多个选项卡中使用,并根据选项卡的需要进行过滤。用户可以修改这些列表中的对象,并且更改应与列表同步。
因此,为了加快加载时间,我创建了一个DataHolder
作为单例的类,其中包含 7 个数组列表,基于JSONObject
不同排序顺序和过滤条件的一个。这些列表中的对象是来自原始列表的引用。填充列表工作正常。
这些列表将用于不同的片段和活动。
现在的问题是:第二个活动包含带有片段的选项卡。初始化片段后......DataHolder
计数中的所有arraylists 0!我必须保存JSONObject
并SharedPreferences
再次填充它才能获得List
. 我无法再次加载 url,因为它会降低应用程序的速度,并且使用SharedPreferences
不是一个选项(我认为),因为需要同步Lists
. 我读过使用静态变量不是最佳解决方案,但它似乎是最简单的方法:(
我能做些什么来解决这个问题?我应该使用Parcelable Objects
并总是Lists
绕过吗?或者也许使用SQLite
?还是有其他方法?