Android开发总结笔记 AsyncTask 5-2

来源:互联网 发布:ubuntu调出终端快捷键 编辑:程序博客网 时间:2024/06/09 15:13

一个例子 http://blog.csdn.net/coder_pig/article/details/47035655

  1. public class MyAsyncTask extends AsyncTask<Integer,Integer,String>
  2. {
  3. private TextView txt;
  4. private ProgressBar pgbar;
  5. public MyAsyncTask(TextView txt,ProgressBar pgbar)
  6. {
  7. super();
  8. this.txt = txt;
  9. this.pgbar = pgbar;
  10. }
  11. //该方法不运行在UI线程中,主要用于异步操作,通过调用publishProgress()方法
  12. //触发onProgressUpdate对UI进行操作
  13. @Override
  14. protected String doInBackground(Integer... params) {
  15. DelayOperator dop = new DelayOperator();
  16. int i = 0;
  17. for (i = 10;i <= 100;i+=10)
  18. {
  19. dop.delay();
  20. publishProgress(i);
  21. }
  22. return i + params[0].intValue() + "";
  23. }
  24. //该方法运行在UI线程中,可对UI控件进行设置
  25. @Override
  26. protected void onPreExecute() {
  27. txt.setText("开始执行异步线程~");
  28. }
  29. //在doBackground方法中,每次调用publishProgress方法都会触发该方法
  30. //运行在UI线程中,可对UI控件进行操作
  31. @Override
  32. protected void onProgressUpdate(Integer... values) {
  33. int value = values[0];
  34. pgbar.setProgress(value);
  35. }
  36. }

直接在Activity里面

  1. new MyAsyncTask(txttitle,pgbar).execute(1000);

深入了解AsynTask     http://www.jianshu.com/p/e79f306e12f1

深入了解FutureTask   http://blog.csdn.net/liulipuo/article/details/39029643                                 

0 0
原创粉丝点击