码迷,mamicode.com
首页 > 其他好文 > 详细

Async异步处理

时间:2016-10-06 22:29:41      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

MyAsync

技术分享
 1 package com.zhangmeng.xml;
 2 
 3 import android.os.AsyncTask;
 4 import android.widget.ProgressBar;
 5 import android.widget.TextView;
 6 
 7 /**
 8  * Created by zhangmeng on 2016/10/6.
 9  */
10 
11 public class MyAsync extends AsyncTask<Integer,Integer,String> {
12      private ProgressBar bar;
13      private TextView tv;
14 
15     public MyAsync(ProgressBar bar,TextView tv) {
16         super();
17         this.bar = bar;
18         this.tv=tv;
19     }
20 
21     @Override
22     protected void onPreExecute() {
23         super.onPreExecute();
24         tv.setText("The file is downloading! Please wait....");
25     }
26 
27 
28 
29 
30 
31     @Override
32     protected String doInBackground(Integer... params) {
33         DelayOperator delayOperator=new DelayOperator();
34         int i;
35         for (i = 1; i <1000000; i++) {
36             delayOperator.delay(params[0]);
37             publishProgress(i);
38         }
39 
40         return i + params[0].intValue() + "";
41     }
42 
43 
44     @Override
45     protected void onProgressUpdate(Integer... values) {
46         bar.setProgress(values[0]);
47 
48     }
49 }
View Code
技术分享
 1 package com.zhangmeng.xml;
 2 import android.support.v7.app.AppCompatActivity;
 3 import android.os.Bundle;
 4 import android.view.View;
 5 import android.widget.Button;
 6 import android.widget.ProgressBar;
 7 import android.widget.TextView;
 8 
 9 public class MainActivity extends AppCompatActivity {
10 
11     private Button bt;
12     private TextView textView;
13     private ProgressBar bar;
14 
15     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         super.onCreate(savedInstanceState);
18         setContentView(R.layout.activity_main);
19         bt= (Button) findViewById(R.id.btn);
20         textView=(TextView) findViewById(R.id.tv);
21         bar=(ProgressBar) findViewById(R.id.pb);
22         bt.setOnClickListener(new View.OnClickListener() {
23             @Override
24             public void onClick(View v) {
25                 MyAsync async=new MyAsync(bar,textView);
26                 async.execute(100);
27             }
28         });
29 
30 
31 
32     }
33 
34 
35 
36 }
View Code

delay

技术分享
 1 package com.zhangmeng.xml;
 2 
 3 /**
 4  * Created by zhangmeng on 2016/10/5.
 5  */
 6 
 7 public class DelayOperator {
 8     public void delay(int time){
 9         try {
10             Thread.sleep(time);
11         } catch (InterruptedException e) {
12             e.printStackTrace();
13         }
14     }
15 }
View Code

 

Async异步处理

标签:

原文地址:http://www.cnblogs.com/WebGiant/p/5934932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!