本文主要是介绍Android中启动线程来进行耗时操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
现在还在Android的自学阶段,今天做了一个小练习是在Android中启动线程来进行耗时操作的一个小练习,代码如下,希望大家多多学习共同进步。
package com.helloword;import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;public class MainActivity extends Activity {Button button;AlertDialog.Builder ab;AlertDialog dialog;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button) findViewById(R.id.button1);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub
// Intent intent = new Intent(MainActivity.this, SendActivity.class);
// startActivityForResult(intent, 1);new Thread(){@Overridepublic void run() {super.run();try{myHandler.sendEmptyMessage(2);Thread.currentThread().sleep(10000);}catch(Exception e) {e.printStackTrace();}myHandler.sendEmptyMessage(1);}}.start();}});}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubsuper.onActivityResult(requestCode, resultCode, data);button.setText(data.getStringExtra("data"));}private Handler myHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);if(msg.what == 1) {dialog.dismiss();Toast.makeText(MainActivity.this, "toast", Toast.LENGTH_SHORT).show();}else if(msg.what == 2) {ab = new AlertDialog.Builder(MainActivity.this);dialog = ab.create();dialog.setTitle("下载中...");dialog.setMessage("下载中,请稍后");dialog.show();}}};
}
这篇关于Android中启动线程来进行耗时操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!