Android中AsyncTask的简单入手方式
来源:互联网 发布:3大运营商网络制式 编辑:程序博客网 时间:2024/06/08 06:01
AsyncTask
方法介绍
/** * 参数一: 当你的子线程启动时 需要什么资源? 参数二: 当你的子线程运行时 需要往UI线程 传递什么类型的参数 参数三: 当你的子线程运行完毕, 需要给UI线程返回一个什么类型的结果 */ AsyncTask<Void, String, Void> task = new AsyncTask<Void, String, Void>(){ /** * UI线程方法 * task 子线程启动之前 做的准备操作 */ @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); but.setTextColor(Color.parseColor("#626262")); but.setClickable(false); } /** * doInBackground(Void... params) * 子线程方法 用来执行耗时操作 * params 当你的task启动时 传递的参数 * return 当子线程死亡 也就是这个方法执行完毕 要返回给UI线程的参数 */ @Override protected Void doInBackground(Void... params) { for (int i = 60; i < 0; i--) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } //通知UI线程 publishProgress(i+"s"); } //当子线程执行完毕 返回到UI线程 return null; } /** * Ui线程中的方法, 可以直接更改UI线程 * 但是它如果想要被调用 必须在子线程中调用publishProgress()方法; * 一般用于展示子线程任务执行的百分比 , 比如下载数据 */ @Override protected void onProgressUpdate(String... values) { // TODO Auto-generated method stub super.onProgressUpdate(values); but.setText(values[0]); } /** * UI线程中的方法, 可以直接更改UI线程 * 当你的子线程死亡 也就是当doInBackground方法 return * result: doInBackground方法return的参数 */ @Override protected void onPostExecute(Void result) { // TODO Auto-generated method stub super.onPostExecute(result); but.setClickable(true); but.setTextColor(Color.parseColor("#000000")); but.setText("获取验证"); } }; //启动 task.execute();
取消一个操作
方法如下 task.cancel(true); 一般用于Activity被销毁时 ;
1 0
- Android中AsyncTask的简单入手方式
- Android中Appwidget桌面小控件的简单入手方式
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单使用
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单用法 .
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单用法
- Android中AsyncTask的简单用法
- Android WebView的使用
- PHP学习笔记
- 支付流程
- ViewPager+Fragment以及GridView的使用
- above average(0706)
- Android中AsyncTask的简单入手方式
- iOS 网络数据接收处理和存储方式
- PHP中empty()和isset()的区别
- android中Rect类的使用
- Opencv学习笔记(一)滤波器原理及其使用
- JNI函数的动态注册
- swustoj---寝室扫地问题509
- 过去一年 硅谷科技圈发生了这五大变化
- 《Spring实战》学习笔记-第一章:Spring之旅