如何从android中的线程获取结果? [英] how to get result from thread in android?
本文介绍了如何从android中的线程获取结果?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个主类,一个工作线程类,并且它是分开的.在主线程中,我将输入传递给工作线程并要求其工作.完成后,我希望它将结果发送回主线程.我该怎么办?
I have a main class, a worker thread class and it separated. In main thread, I pass input to worker thread and ask for it to work. When it finish, I want it to send back result to main thread. How can I do that?
public class MainActivity extends Activity{
Handler showResults = new Handler(){
public void handleMessage(Message msg){
//Show results on textview.
}
workerThread worker = new workThread();
worker.setInput(input);
}
}
工作线程:
public class workerThread extends Thread{
int result = 0;
public void run(){
//when receive input from main class. it will work
.............
//after working, it return result, and i want it to send this result
//to Handler in main activity, so, i can display that result on textview.
}
//function to get input
public void setInput(){
//get input form main class to work
}
}
任何人都知道答案,请告诉我.谢谢.:)
Anyone knows the answer please tell me. Thank you.:)
推荐答案
也许您应该尝试AsynTask
,它仅用于以下目的:
Maybe you should try AsynTask
, it is designed for just that:
private class MyThread extends AsyncTask<Params, Progress, Result> {
protected Long doInBackground(URL... urls) {
// Calculate and return retulst
}
protected void onPostExecute(Long result) {
// This is executed in main Thread, use the result
}
}
您可以像这样执行该线程:
You execute this thread like this:
new MyThread().execute(params, ...);
请参见 http://developer.android.com/reference/android/os /AsyncTask.html
这篇关于如何从android中的线程获取结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文