我试图找到一个实现了 AsyncTask 的简单 JSOUP 示例。我正在尝试查询结果的 url ( http://www.sheriff.org/apps/arrest/results.cfm?lname=&fname= ) 但我还没有找到一个简单的工作示例来说明如何做到这一点谷歌搜索时。
1 回答
这是一个粗略的大纲,可以帮助您入门 -
做一堂课
private class AsyncTest extends AsyncTask<String, Void, String>
第一个字符串是传递给任务的内容,在本例中是您的 URL。第二个字符串是结果
括号内有 3 个方法 - onPreExecute()
、String doInBackground(String... params)
和onPostExecute(String result)
.
在第一个中,告诉用户一个任务正在后台运行,即产生一个带有旋转等待的对话框,或者将其反映在主 gui 上。
第二种方法接受您传递给它的数据并在单独的线程上运行并处理它并返回一个字符串。(它可以返回您想要的任何内容,您只需在类头中设置它。)在您的场景中,我会获取URL 并在此处解析数据。返回您需要的任何信息。
最后一个方法返回到 gui 线程并允许您显示从中间方法接收到的数据。
然后通过调用来运行任务new UpdateZmanim().execute(urlString);
还有其他调用 AsycTask 的方法,但我发现这是最好的,因为 Async 类中的限制只允许 Asyc 对象只运行一次。为了避免这种情况,我建议new
您每次要运行它时都创建一个对象。
注意:您不必总是使用 AsycTask。通常一个简单的线程就足够了。
希望这有帮助,祝你好运 ;)