zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android 异步处理工具类(AsyncTask)详解编程语言

Android工具异步编程语言 详解 处理 AsyncTask
2023-06-13 09:20:30 时间
 ?xml version="1.0" encoding="utf-8"? 

 LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

 android:layout_width="fill_parent" 

 android:layout_height="fill_parent" 

 android:orientation="vertical" 

 ProgressBar 

 android:id="@+id/bar" 

 android:layout_width="fill_parent" 

 android:layout_height="wrap_content" 

 TextView 

 android:id="@+id/info" 

 android:layout_width="fill_parent" 

 android:layout_height="wrap_content" 

 android:text="" / 

 /LinearLayout 

.java代码如下:

import android.app.Activity; 

import android.app.AlertDialog; 

import android.app.Dialog; 

import android.content.DialogInterface; 

import android.os.AsyncTask; 

import android.os.Bundle; 

import android.view.View; 

import android.view.View.OnClickListener; 

import android.view.View.OnFocusChangeListener; 

import android.widget.Button; 

import android.widget.EditText; 

import android.widget.ProgressBar; 

import android.widget.TextView; 

public class Hello extends Activity { 

 private ProgressBar bar = null; 

 private TextView info = null; 

 public void onCreate(Bundle savedInstanceState) { 

 super.onCreate(savedInstanceState); // 生命周期方法 

 super.setContentView(R.layout.main); // 设置要使用的布局管理器 

 this.bar = (ProgressBar) super.findViewById(R.id.bar); 

 this.info = (TextView) super.findViewById(R.id.info); 

 ChildUpdate child = new ChildUpdate();//子任务对象 

 child.execute(100);//设置休眠时间 

 private class ChildUpdate extends AsyncTask Integer, Integer, String { 

//覆写如下方法 

 @Override 

 protected String doInBackground(Integer... params) {//处理后台任务 

 for (int x = 0; x 100; x++) { 

 Hello.this.bar.setProgress(x);//进度条设置 

 this.publishProgress(x);//传递每次更新内容 

 try { 

 Thread.sleep(params[0]); 

 } catch (InterruptedException e) { 

 e.printStackTrace(); 

 return "执行完毕!"; 

 @Override 

 protected void onPostExecute(String result) {//任务执行完后执行 

 Hello.this.info.setText(result); 

 @Override 

 protected void onProgressUpdate(Integer... progress) {//每次更新后的数值 

 Hello.this.info.setText("当前进度为:" + String.valueOf(progress[0])); 

} 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/11056.html

cjavaxml