在我的应用中,
第一个屏幕是初始屏幕,它显示 ProgressDialog
直到从数据库加载数据,然后将用户转到下一个主应用屏幕。
我正在使用 doInBackground
加载类别数据,并在 onPostExecute
中将其设置为 catgoryList。
我还想在应用程序初始化时加载一些类别 Item's
。
1) 可以执行两个 AsyncTasks,一个用于类别,另一个用于项目。
2) 或者可以在一个 AsyncTask
中完成。 doInBackground
目前只能返回一种类型的列表。
我如何更改它以从一个 AsyncTask
的 doInBackground
返回 catgory
和 item
。
谢谢
最佳答案
Is is fine to execute two AsyncTasks, one for category and other for items.
是的,这很好。
为了与您的主要 Activity 同步,您至少有两个解决方案:
按顺序运行 AsyncTasks。第一个 AsyncTask 将在其
onPostExecute()
中产生第二个。然后第二个任务开始主要 Activity 。使用倒计时闩锁。从概念上讲,这只是一个整数,每个 AsyncTask 完成时都会递增。 Java 和 Android 在
CountDownLatch
中实现了这个想法.当达到倒计时时,您就可以开始主要 Activity 了。 This YouTube video对所涉及的概念进行了深入的描述。
关于android - 从多个表的 SQLite DB 初始化应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25707392/