android开启线程,异步处理数据实例
package com.example.sywang2;
import com.zds.os.R;
import android.os.Bundle; import android.os.Handler; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.TextView;
public class MainActivity extends Activity { private TextView text; private Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text=(TextView)findViewById(R.id.txt); btn1=(Button)findViewById(R.id.btn); }
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } //定义一个handler,用来异步处理数据 Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { System.out.println("结果返回,正在处理...."); if (msg.what == 1) { text.setText("异步处理结果是 === handler"); // thread.stop(); } }; }; //新开一条线程,用来异步处理数据,结果通过handler返回 Thread thread = new Thread(){ public void run() { System.out.println("start thread,,,,"); handler.sendEmptyMessage(1); }; }; //点击按钮 public void StartTest(View v){ thread.start(); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("onClick,,,,"); }
}