Android开发--AsyncTask异步任务(一)
2013-01-31 19:24
656 查看
所谓异步任务即异步执行,把一个耗时的任务放入另一个线程中去执行,由AsyncTask类管理。
下面给出一个测试程序,测试异步任务的执行,如果不使用异步执行会怎么样,利用异步机制又会怎么样。
本实例包含三个类:
1.模拟一个耗时任务的类,该类使得线程休眠5000毫秒,代码如下:
3.这个类是主线程的调用,代码如下:
下面给出一个测试程序,测试异步任务的执行,如果不使用异步执行会怎么样,利用异步机制又会怎么样。
本实例包含三个类:
1.模拟一个耗时任务的类,该类使得线程休眠5000毫秒,代码如下:
public class NetOperate { public void operator(){ try { Thread.sleep(5000); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } }2.这个类是异步机制的子类,重写其中的doInBackground方法,使得任务在异步线程中执行,代码如下:
//这里的参数Void并不是类型,而是代表抽象类 public class FirstAsyncTask extends AsyncTask<Void, Void, Void>{ @Override protected Void doInBackground(Void... params) { // TODO Auto-generated method stub NetOperate netOperate=new NetOperate(); netOperate.operator(); return null; } }
3.这个类是主线程的调用,代码如下:
public class MainActivity extends Activity { private Button button;; private Button button2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button)findViewById(R.id.button1); button2=(Button)findViewById(R.id.button2); button.setOnClickListener(new MyButton()); button2.setOnClickListener(new MyButton()); } private class MyButton implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.button1: net(); break; case R.id.button2: log(); break; default: break; } } } public void net(){ /* * 如果用一下注释的代码,则这两个操作都是在一个线程里运行,即主线程, * 当利用下面的代码时,用的是一个异步线程,互相不干扰 */ // NetOperate netOperate=new NetOperate(); // netOperate.operator(); FirstAsyncTask firstAsyncTask=new FirstAsyncTask(); firstAsyncTask.execute(); } public void log(){ Log.d("BruceZhang", "你好!!"); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
相关文章推荐
- Android开发:后台异步任务之AsyncTask实现
- Android开发 AsyncTask异步任务类
- Android开发之异步后台任务AsyncTask
- Android开发线程间的交互之异步任务(AsyncTask)
- Android开发--AsyncTask异步任务(一)
- Android开发笔记(四十九)异步任务处理AsyncTask
- Android开发 AsyncTask异步任务类
- android 开发-AsyncTask异步任务的实现
- Android开发--AsyncTask异步任务(二)
- Android开发--AsyncTask异步任务(二)
- 多线程异步处理:AsyncTask异步更新UI界面 android开发教程 分类: Android Activity 2014-07-10 14:13 112人阅读 评论(0) 收藏
- Android异步任务–AsyncTask
- android学习之异步任务AsyncTask
- Android:异步任务AsyncTask、execute、publishProgress、onProgressUpdate
- Android开发之异步消息处理机制AsyncTask
- Android异步任务AsyncTask使用详解
- Android开发实践:基于命令模式的异步任务线程
- Android 异步任务AsyncTask的使用
- Android中异步任务机制AsyncTask的理解
- 多线程异步处理:AsyncTask异步更新UI界面 android开发教程