【发布时间】:2014-05-16 14:43:16
【问题描述】:
我需要同步我的应用程序(Sqlite 到 MySQL 并上传图片)
基本上,我每个表都有一个 AsyncTask 类,还有一个要上传的类。 1 个表格的每一行可能包含几张要上传的图片。
问题是我找不到控制同步状态的方法。 据我所知,有几种方法可以做到这一点,但没有一个对我有好处:
1.我可以把所有的AsyncTask放在一个类中,这样每个进程一个接一个,只有一个线程。
GOOD :很容易知道进程何时结束(进入 postExecute 时),所以我可以很容易地知道某个进程是否失败(检查全局变量)。
不好:这比较慢,而且将我所有的代码放在一个文件中有点不好,特别是如果我的项目中有很多表(而且会这样)
2.几个AsyncTask 好:这种方法更好、更快且易于维护。 BAD:例如,如果我有 10 个线程,我无法知道所有进程何时结束(检查进程中是否有错误。
【问题讨论】:
-
对于几个 AsyncTask,你总是可以简单地为每个任务发送一个回调接口,将状态发送回主线程,成功、进度、失败。那,或者发送广播,可能是一个相对简单的解决方案。
标签: android mysql multithreading sqlite android-asynctask