我的问题很简单,我正在寻找有关 Android 中多线程和网络的有用教程的建议或链接。我看过的每个示例都使用 AsyncTask。我想知道的是,您能否仅通过线程和处理程序获取和使用数据?
我知道 HTTP 请求必须在一个新线程上完成,否则你会得到 NetworkOnMainThreadException 但我想使用线程和处理程序的原因是因为我希望 UI 使用来自另一个线程的所述数据进行更新。
我真的不是在追求代码,只是指向正确的方向。
最佳答案
What I want to know is can you get and use data just with threads and handlers?
是的。网络操作只需在后台 Thread
上完成,无论是使用 AsyncTask
的 doInBackground()
还是创建新的 Thread
。看Painless Threading和 Processes and Threads
i want the UI to be updated with said data from the other thread.
无论你使用什么,你仍然需要更新主线程
上的UI
。这可以通过 AsyncTask
使用除 doInBackground()
之外的任何其他方法轻松完成(onPreExecute()
、onProgressUpdate()
、onPostExecute()
都在主 Thread
上运行。
关于android - 在不使用 AsyncTask 的情况下在 Android 中执行网络操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21143381/