当前位置:操作系统 > 安卓/Android >>

android应用开发之ThreadHandler

最近在复习下应用开发,直接上代码
ThreadHandlerActivity.java
 
[java]  
package cn.sanbo.test.threadhandler;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.os.Handler;  
import android.os.Message;  
import android.view.View;  
import android.widget.TextView;  
import android.widget.Toast;  
  
public class ThreadHandlerDownActivity extends Activity implements  
        View.OnClickListener {  
  
    private TextView textView;  
    private boolean isExits = false;  
    private Handler handler = new Handler() {  
        public void handleMessage(Message msg) {  
            super.handleMessage(msg);  
            int jd = (Integer) msg.obj;  
            if (jd == 100) {  
                textView.setText("耗时完成!");  
            } else {  
                textView.setText("耗时完成:" + jd + "%");  
            }  
        };  
    };  
  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        init();  
    }  
  
    private void init() {  
        this.findViewById(R.id.btnThread).setOnClickListener(this);  
        textView = (TextView) this.findViewById(R.id.tv_content);  
    }  
  
    public void onClick(View v) {  
        if (v.getId() == R.id.btnThread) {  
            if (!isExits) {  
                isExits = true;  
                new MyThread().start();  
            } else {  
                Toast.makeText(ThreadHandlerDownActivity.this, "耗时操作进行中,请等待~",  
                        0).show();  
            }  
        }  
  
    }  
  
    class MyThread extends Thread {  
  
        public void run() {  
            super.run();  
            boolean isGoOn = true;  
            int jd = 0;  
            while (isGoOn) {  
                try {  
                    jd++;  
                    sleep(30);  
                    Message msg = new Message();  
                    msg.obj = jd;  
                    handler.sendMessage(msg);  
                    if (jd == 100) {  
                        isGoOn = false;  
                    }  
                } catch (Exception e) {  
                    e.printStackTrace();  
                }  
            }  
  
        }  
    }  
}  
 
 
main.xml
[java]  
<?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" >  
  
    <TextView  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content"  
        android:text="@string/hello" />  
  
    <Button  
        android:id="@+id/btnThread"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:text="threadhandler" />  
  
    <TextView  
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content"  
        android:text="down "   
        android:textColor="@android:color/white"  
        android:gravity="center"  
        android:textSize="25sp"  
        android:id="@+id/tv_content"/>  
</LinearLayout>  
 
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,