Android 两种异步操作方式
来源:互联网 发布:collator java 编辑:程序博客网 时间:2024/05/21 09:05
两种方法各有各的用法,看情况处理
//第一种,新开一条线程,在传智播客的视频中有讲到
package sn.len.asynctask;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;public class AsyncTaskDemoActivity extends Activity implements View.OnClickListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); View but1=findViewById(R.id.button01); View but2=findViewById(R.id.button02); but1.setOnClickListener(this); but2.setOnClickListener(this); }@Overridepublic void onClick(View v) {try {switch (v.getId()) {case R.id.button01:{//新开一条线程new Thread(new Runnable(){@Overridepublic void run() {try {Thread.sleep(5*1000);}catch (InterruptedException e) {e.printStackTrace();}}}).start();}break;case R.id.button02:{Log.i("INFO", "Hello World");}break;default:break;}} catch (Exception e) {e.printStackTrace();}} }
//第二种,自己写个类,继承自AsyncTaks<Void,Void,Void>这个类
package sn.len.asynctask;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;public class AsyncTaskDemoActivity extends Activity implements View.OnClickListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); View but1=findViewById(R.id.button01); View but2=findViewById(R.id.button02); but1.setOnClickListener(this); but2.setOnClickListener(this); }@Overridepublic void onClick(View v) {try {switch (v.getId()) {case R.id.button01:{//新开一条线程,调用execute其实就是调用doInBackground方法AsyncTaskThread att=new AsyncTaskThread();att.execute();}break;case R.id.button02:{Log.i("INFO", "Hello World");}break;default:break;}} catch (Exception e) {e.printStackTrace();}} }
//AsyncTaskThread.java
package sn.len.asynctask;import android.os.AsyncTask;import android.util.Log;public class AsyncTaskThread extends AsyncTask<Void, Void, Void> {//其实doInBackground也是新开了一条线程@Overrideprotected Void doInBackground(Void... params) {Log.i("doInBackground", "Start --doInBackground");try {Thread.sleep(5*1000);}catch (InterruptedException e) {e.printStackTrace();}return null;}}后面这种,可以看一下mars的视频,第四章第六集,异步任务(二) 讲得很详细
- Android 两种异步操作方式
- android两种异步实现方式总结(一)
- android两种异步实现方式总结(二)
- linux异步IO的两种方式
- ICE异步调用的两种方式
- 图片的两种异步下载方式
- linux异步IO的两种方式
- android数据库操作的两种常见方式
- Android 回退操作的两种方式
- Android数据库两种操作方式介绍: SQLite与ORMLite
- Android数据库两种操作方式介绍: SQLite与ORMLite
- Android数据库两种操作方式介绍: SQLite与ORMLite
- Android实战简易教程-第四十九枪(两种方式实现网络图片异步加载)
- Android实战简易教程<四十九>(两种方式实现网络图片异步加载)
- 基于.Net3.5编写,全异步操作。支持TCP、UDP两种方式,全事件模式通知。
- android的两种异步机制
- android两种异步处理原理
- Android---多线程两种方式
- The APR based Apache Tomcat Native library which allows optimal performanc e in production ...
- VMware当中的RedHat下面mnt里面没有hgfs解决办法
- LINUX服务器集群系统
- CreateIoCompletionPort和完成端口 2011.12.19
- POWER PCB内层属性设置与内电层分割及铺铜
- Android 两种异步操作方式
- CSS中如何“定位”元素
- 基于ARM的嵌入式USB图像采集与显示
- android surfaceView参考
- cxGrid锁定列
- 避免当野monkey, 走野路子
- C#简单操作Excel
- 数据结构---哈希表/散列表
- JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结