在设备上序列化ArrayList

时间:2014-11-05 15:46:43

标签: java android serializer

我在Android中开发了一个通过XML查询REST下载大量数据的应用程序。

问题是,每次启动应用程序都需要很长时间才能下载数据。

我的问题是:

如何序列化这些数据,并在一段时间后更新?

我想要一些建议或想法来实施,甚至更好的例子。 感谢

2 个答案:

答案 0 :(得分:0)

使用那个序列化:
http://simple.sourceforge.net/

您可以安排异步任务或线程来更新它。

序列化数据的线程示例一个锁(只是部分代码)

static final Object sDataLock = new Object();
Serializer mSerializer;

class AsyncSave implements Runnable
{
    Object mSerialize;
    File mStorage;

    public AsyncSave(Object serialize, File storage)
    {
        mSerialize = serialize;
        mStorage = storage;
    }

    @Override
    public void run()
    {
        try {
            synchronized (sDataLock) {
                // write
                mSerializer.write(mSerialize, mStorage);
            }
        } catch (Exception e) {
            Log.e(TAG, e.toString());
        }
    }       
}

答案 1 :(得分:0)

How can I serialize these data, and update perhaps after a certain period of time?

如果您希望在特定活动中下载某些数据,则可以使用线程/异步任务。如果活动被销毁,异步任务/线程将被销毁。

如果您想在特定时间下载数据,请改用Service。使用service,即使应用已关闭,您的数据也会被下载。例如,您可以将应用设置为每天下载一次数据。