1

我正在开发我的第一个 android 应用程序,并希望在这里得到一些提示。

JSONObject从一个 url 中得到一个,然后将在一个ArrayList<MyObject>. 该列表将在多个选项卡中使用,并根据选项卡的需要进行过滤。用户可以修改这些列表中的对象,并且更改应与列表同步。

因此,为了加快加载时间,我创建了一个DataHolder作为单例的类,其中包含 7 个数组列表,基于JSONObject不同排序顺序和过滤条件的一个。这些列表中的对象是来自原始列表的引用。填充列表工作正常。

这些列表将用于不同的片段和活动。

现在的问题是:第二个活动包含带有片段的选项卡。初始化片段后......DataHolder计数中的所有arraylists 0!我必须保存JSONObjectSharedPreferences再次填充它才能获得List. 我无法再次加载 url,因为它会降低应用程序的速度,并且使用SharedPreferences不是一个选项(我认为),因为需要同步Lists. 我读过使用静态变量不是最佳解决方案,但它似乎是最简单的方法:(

我能做些什么来解决这个问题?我应该使用Parcelable Objects并总是Lists绕过吗?或者也许使用SQLite?还是有其他方法?

4

2 回答 2

0

使用静态列表进行本地操作。当用户离开该屏幕(活动)时,将更改保存到数据库中。

于 2012-08-23T19:46:18.730 回答
0

SQLite 方式绝对是正确的方法,恕我直言。

您应该使用内部数据库来存储此类列表:http: //developer.android.com/guide/topics/data/data-storage.html#db

于 2012-08-23T20:34:53.013 回答