IT源码网

async的用法

lxf 2021年02月16日 手机开发 485 0
package com.example.administrator.myapplication; 
 
import android.os.AsyncTask; 
import android.util.Log; 
import android.widget.TextView; 
 
import java.io.IOException; 
 
 
public class DownloadTask extends AsyncTask<Object,Integer,Boolean> { 
    private TextView tv; 
 
    @Override 
    protected Boolean doInBackground(Object... params) { 
        tv=(TextView) params[0]; 
        int percent=0; 
        try{ 
            while (true){ 
                percent++; 
                Thread.sleep(1000); 
                publishProgress(percent); 
                if(percent>=100){ 
                    break; 
                } 
            } 
        }catch (Exception e){ 
            return false; 
        } 
        return true; 
    } 
 
    @Override 
    protected void onPreExecute() { 
        super.onPreExecute(); 
    } 
 
    private static final String TAG = "DownloadTask"; 
    @Override 
    protected void onProgressUpdate(Integer... values) { 
        super.onProgressUpdate(values); 
        tv.setText(values[0].toString()); 
         
        Log.d(TAG, "onProgressUpdate: "+values[0]); 
    } 
 
    @Override 
    protected void onPostExecute(Boolean aBoolean) { 
        super.onPostExecute(aBoolean); 
        Log.d(TAG, "onPostExecute: "); 
    } 
}

 

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!