async的用法

Posted layfork

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了async的用法相关的知识,希望对你有一定的参考价值。

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: ");
    }
}

 

以上是关于async的用法的主要内容,如果未能解决你的问题,请参考以下文章

fetch普通用法及搭配async,await用法小记

async和await用法

ES6中async和await说明和用法

async/ await用法实践

C# 异步操作 async await 的用法

C# 中的Async 和 Await 的用法详解