我有以下任务:
我必须执行Wi-Fi scan
然后将一些RSSs
发送到服务器以从服务器获取位置。之后我应该在地图上显示位置。
我的申请表中有一个activity
。实施它的最佳方法是什么?我之前没有在android中实现thread nor AsyncTask
。所以我不太了解它。我在android开发者网站上看过有关线程和AsyncTask的内容。但我仍然无法理解一切。
如果有人能告诉我何时最好使用线程,以及AsynTask与线程的不同以及何时使用AsyncTask instead of threads
,我将不胜感激。
编辑:我必须实现的任务应该只在用户点击actioBar项目时运行
答案 0 :(得分:2)
如果您无法理解阅读文档,我建议您从AsyncTask
开始,因为当Thread
被解雇时它已经实现了doInBackground()
已经实现了一些机制,你可能需要在使用Thread
时手动实现(并发,线程启动/停止进程,向UI线程发送信息,......)。
但是,您没有具体说明想要做什么。如果您计划执行一个长期运行的流程,而不是Thread
或AsyncTask
,则建议使用Service
启动Thread
作为实施与普遍看法相反,AsyncTask
用于短期任务。
在任何情况下,如果你从这开始,我建议先使用AsyncTask
,一旦明白它在做什么以及如何做,请自行决定&#39 ; s是实施您计划执行的操作的最佳方式:如果Service
内部有Thread
,Thread
本身或AsyncTask
。< / p>