我正在实现一个对数据库执行查询的库函数,这个查询有时会足够长,导致在UI线程上对长操作发出StrictMode
警告。
我想知道在这里适用的正确模式是什么?如何在函数中包装异步调用,结果应该是同步的?
该函数获取表名和列,并使用正常的Cursor
/ resolver.query pattern
功能返回布尔值。如果需要,我可以添加代码。
非常感谢, 安德烈
答案 0 :(得分:2)
您可以执行从新Runnable
执行的简单Thread
到AsyncTask
的任何操作。 AsyncTask
是“Android方式”;否则您需要创建Handler
,以便Runnable
(或Thread.run()
)可以在UI线程上报告结果。 AsyncTask
的文档包含大量有关使用的详细信息,API指南主题Processes and Threads提供了更多信息。