android应用开发之ThreadHandler

来源:互联网 发布:西科软件靠谱吗 编辑:程序博客网 时间:2024/06/16 14:29

最近在复习下应用开发,直接上代码

ThreadHandlerActivity.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 implementsView.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

<?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>




原创粉丝点击