一、什么是AsyncTack
AsyncTack是Android提供的轻量(实现代码量少)的异步类,降低了异步通信的开发难度,直接继承于Object类,位于android.os包中,可以忽略Looper、MessageQueue、Handler等复杂对象,更便捷的完成异步耗时操作。(在调用时不要启动子线程,android中内置子线程操作)
二、如何使用AsyncTack
1、新建一个内部类继承AsyncTack
2、定义AsyncTack的三种泛型参数(任何类型)
3、重写dolnBackground抽象方法(在子线程中,不能进行更新UI)
4、重写onPreExeccute方法(进行耗时操作前更新UI,可初始化控件)
5、重写onProgressUpdate方法
6、重写onPostExeccute(进行耗时操作后更新UI)
7、在需要启动的地方调用execcute方法(实现AsyncTack任务)
三、使用AsyncTack做倒计时(实例)
代码展示:
//在xml布局文件中
<TextView
android:id="@+id/main2_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="倒计时"
android:textSize="32sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/main2_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="输入数字"<