我正在开发一个应用程序,我在其中假装为典型的 CRUD 操作调用 REST 服务。由于我想将请求处理与 UI 线程分开,我打算使用 AsyncTask 来完成单独的工作。但是,我的问题是:我应该如何设计我的 AsyncTask(s) 模型?我应该为所有 CRUD 操作使用一个 AsyncTask(这是否可行?),还是使用 4 个 AsyncTask(创建、删除、更新、检索)?
提前致谢
最佳答案
我会使用 ContentProvider 而不是 AsyncTask。
根据这个线程:
https://groups.google.com/forum/?fromgroups#!topic/android-developers/8M0RTFfO7-M%5B1-25%5D
在 Android 4 上,AsyncTasks 将是顺序的。
因此,仅出于这个原因,您的解决方案可能不是最优的。
但是,ContentProvider 只是让您尝试做的事情更有意义,因为用户不关心 CRUD 调用背后发生的事情。不过,您可能希望在单独的线程上运行它,因为在 UI 线程上运行时间过长是不好的。
关于使用 AsyncTask 进行 REST 调用的 Android 设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12023157/