一起Talk Android吧(第一百八十四回:Android的中AsyncTask机制三)

各位看官们大家好,上一回中咱们说的是Android中AsyncTask机制的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧!

看官们,我们在上一章回中介绍了AsyncTask的具体使用步骤,不过没有给出具体的例子,接下来我们将通过代码结合文字的形式给大家讲解如何使用AsyncTask.在例子中我们将通过进度条控件显示子线程执行的进度,没有什么比自己动手写代码更加高兴的事情了,让我们一起动手来完成这个例子吧。

  • 1.首先定义一个工程并且在工程中创建一个空的Activity.
  • 2.在Activity的布局文件中添加一个ProgressBar和一个Button控件;
  • 3.在Activity的代码中定义AsyncTask的子类,同时指定3个参数类型;
  • 4.重写AsyncTask的四个回调方法;主要是在doInBackground方法中创建一个递增的过程,并且在onProgressUpdate方法中获取这个过程的进度;然后使用把此进度值传递到ProgressBar上通过进度条显示出来;
  • 5.为Button添加事件监听器,在监听器中启动子线程;

以上内容是整体的代码实现过程,为了更好的演示线程运行过程,我们在项目中借助了ProgressBar控件,该控件我们在六十三回中介绍过,如果忘记的话点击这里查看;下面是程序的布局文件代码,请大家参考:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".ActivityAsyncEx">

    <ProgressBar
        android:layout_marginTop="20dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:id="@+id/id_process_bar"
        android:max="50"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/id_bt_show_process"
        android:text="Show Process"
        android:layout_gravity="center"
        android:textAllCaps="false"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

各位看官,关于Android中AsnycTask机制的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

发布了537 篇原创文章 · 获赞 132 · 访问量 63万+

猜你喜欢

转载自blog.csdn.net/talk_8/article/details/105621405