Android学习篇章42-AsyncTask-异步任务类
2013-11-03 11:55
393 查看
Mainactivity:
xml:
public class MainActivity extends Activity { TextView prcTxt=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); prcTxt=(TextView)findViewById(R.id.prcTxt); } public void clickBtn(View view) { new MyDownloadTask().execute(); } //第一个参数 是task要执行时 传递给它的执行参数的类型 如果没有可以设为Void //第2个参数是用来显示任务进度的数据 的数据类型 //第3个参数是任务完成的结果数据的数据类型 public class MyDownloadTask extends AsyncTask<Void, Integer, Void> { //任务结束后要在UI界面执行的操作 @Override protected void onPostExecute(Void result) { // 任务完成后在主界面中显示任务结果 prcTxt.setText("下载完毕"); } //在任务执行之前要做的准备工作 @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); } //在任务执行过程中显示进度的操作 @Override protected void onProgressUpdate(Integer... values) { prcTxt.setText(""+values[0]+"%"); } //在后台执行的任务 @Override protected Void doInBackground(Void... params) { int i=0; while(i<100) { SystemClock.sleep(100); i++; //发布任务的进度 这里一执行 onProgressUpdate就会跟着执行 publishProgress(i); } //这里一返回 onPostExecute就会执行 return null; } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <TextView android:id="@+id/prcTxt" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="35sp" android:textColor="#f00" android:text="" /> <Button android:id="@+id/btn1" android:onClick="clickBtn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="开始下载" /> </LinearLayout>
相关文章推荐
- Android 异步任务:AsyncTask 学习解析及基本使用 (Android单线程模式)
- 深入学习Android异步任务-AsyncTask
- Android学习杂记(二):异步任务AsyncTask详解
- android学习---异步任务(AsyncTask)
- android学习---异步任务(AsyncTask)
- Android基础学习之AsyncTask(异步任务处理类)一
- android学习之异步任务AsyncTask
- AsyncTask(异步任务)讲解-android的学习之旅(四十六)
- AsyncTask(异步任务)讲解-android的学习之旅(四十六)
- AsyncTask(异步任务)讲解-android的学习之旅(四十六)
- android学习_AsyncTask(异步任务)
- Android(java)学习笔记149:AsyncTask(异步任务)和Handler(消息机制)
- Android基础学习之AsyncTask(异步任务处理类)二
- Android学习之异步任务AsyncTask
- Android开发学习之路-使用AsyncTask进行异步操作
- Android开发--AsyncTask异步任务(一)
- 【Android】异步任务AsyncTask
- Android学习之异步任务Handler
- Android中AsyncTask(异步任务,实际就和handler的作用差不多)
- [Android]异步任务AsyncTask使用解析