我在Android中开发了一个通过XML查询REST下载大量数据的应用程序。
问题是,每次启动应用程序都需要很长时间才能下载数据。
我的问题是:
如何序列化这些数据,并在一段时间后更新?
我想要一些建议或想法来实施,甚至更好的例子。 感谢
答案 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
,即使应用已关闭,您的数据也会被下载。例如,您可以将应用设置为每天下载一次数据。