Android消息机制六---AsyncTask例子
来源:互联网 发布:淘宝优惠券领取faquan 编辑:程序博客网 时间:2024/06/07 03:25
Android消息机制之六---AsyncTask例子
本博客是对之前的android异步的一个例子;
public class MainActivity extends AppCompatActivity { private Button download = null; private TextView text = null; private ProgressBar progressBar = null; private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what){ case 0: progressBar.setProgress(msg.arg1); text.setText(msg.arg1 + "%"); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.download = (Button)this.findViewById(R.id.btn); this.text = (TextView)this.findViewById(R.id.text); this.progressBar = (ProgressBar)this.findViewById(R.id.progress); this.progressBar.setMax(100); this.download.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //利用AsyncTask来进行更新 DownLoadAsync downLoadAsync = new DownLoadAsync(progressBar, text); downLoadAsync.execute(); //利用Handler + Message来更新;// UpdateThread updateThread = new UpdateThread(handler);// updateThread.start(); } }); //测试Looper线程 new LooperThread().start(); } private class DownLoadAsync extends AsyncTask<Void,Integer, Boolean>{ private ProgressBar progressBar = null; private TextView textView = null; public DownLoadAsync(ProgressBar p, TextView t){ this.progressBar = p; this.textView = t; } @Override protected void onPreExecute() { this.textView.setText("0%"); this.progressBar.setProgress(0); super.onPreExecute(); } @Override protected void onPostExecute(Boolean aBoolean) { super.onPostExecute(aBoolean); } @Override protected void onProgressUpdate(Integer... values) { this.progressBar.setProgress(values[0]); this.textView.setText(values[0] + "%"); super.onProgressUpdate(values); } @Override protected Boolean doInBackground(Void... params) { for(int i = 1;i <= 100; i++){ this.publishProgress(i); try{ Thread.sleep(100); }catch (Exception e){ e.printStackTrace(); } } return Boolean.TRUE; } }}
0 0
- Android消息机制六---AsyncTask例子
- Android消息机制之五---AsyncTask
- Android AsyncTask异步处理消息机制
- Android笔记----AsyncTask异步消息处理机制
- 消息机制--AsyncTask
- 消息机制--AsyncTask(2)
- AsyncTask消息机制分析
- Android消息处理机制——AsyncTask 源码解析
- android os;异步消息处理机制:AsyncTask和Handler
- Android的消息机制详解(附录AsyncTask的比较)
- Android异步消息处理机制(3)AsyncTask基本使用
- Android异步消息处理机制(4)AsyncTask源码解析
- Android多线程,异步消息处理机制, Thread, AsyncTask 简单总结
- Android的消息处理机制,AsyncTask源码解析
- Android消息处理机制之AsyncTask使用总结
- 异步消息与AsyncTask机制
- AsyncTask异步消息处理机制
- AsyncTask 异步消息处理机制
- 机器学习路线图(附资料)
- 使用maven的jetty插件项目一直报编译版本的错误
- Android学习之ListView与适配器
- 58怎么玩数据库架构
- 正则表达式Greedy、Reluctant、Possessive三种策略的区别
- Android消息机制六---AsyncTask例子
- Android内存优化八:MAT具体分析内存泄漏实例2
- [PHP 版] 设计模式目录
- 将且仅将UILabel上的所有数字变色指定的字体颜色
- Leet Code OJ 38. Count and Say [Difficulty: Easy]
- ubuntu14.04怎么把桌面任务栏调到下方,像Mac那样的
- 部分便签的元数据已被损坏 便签已将其恢复为默认值
- idea 15的破解
- Java垃圾回收机制