Android学习记录—利用Handler在线程中传递数据
2017-03-31 16:06
477 查看
时间紧迫,加上我也有一点疑惑,所以只放个代码。
MainActivity.class
ThreadTest.class
MainActivity.class
public class MainActivity extends Activity implements View.OnClickListener{ private EditText editText; private Button button; private TextView textView; private ThreadTest threadTest; public Handler uihandler=new Handler(){ @Override public void handleMessage(Message msg) { textView.setText((msg.getData().getIntegerArrayList("list")).toString()); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.thread); init(); initlisten(); } private void init(){ editText=(EditText) findViewById(R.id.e_1); button=(Button) findViewById(R.id.b_1); textView=(TextView)findViewById(R.id.t_1); threadTest=new ThreadTest(uihandler); threadTest.start(); } private void initlisten(){ button.setOnClickListener(this); } @Override public void onClick(View v) { Message msg=new Message(); msg.what=1; Bundle bundle=new Bundle(); bundle.putInt("test",Integer.parseInt(editText.getText().toString())); msg.setData(bundle); threadTest.handler.sendMessage(msg); } }
ThreadTest.class
public class ThreadTest extends Thread { public android.os.Handler handler; public Handler uihandler; public ThreadTest(Handler mhandler){ uihandler=mhandler; } public void run(){ Looper.prepare(); handler=new Handler() { @Override public void handleMessage(Message msg) { ArrayList<Integer> nums=new ArrayList<Integer>(); if(msg.what==1){ int test=msg.getData().getInt("test"); outer: for (int i=2;i<=test;i++){ for (int j=2;j<=Math.sqrt(i);j++){ if(i!=2&&i%j==0){ continue outer; } } nums.add(i); } } Message message=new Message(); Bundle bundle=new Bundle(); bundle.putIntegerArrayList("list",nums); message.setData(bundle); uihandler.sendMessage(message); } }; Looper.loop(); } }
相关文章推荐
- Android 利用handler在线程之间传递代码
- Android 利用handler传递数据
- android学习记录(十一)在非主线程实现更新ui------------Handler
- 初识安卓之利用Handler进行线程间数据传递
- Android学习备忘010——使用静态变量在Activity之间传递数据
- android 学习记录—————Handler的使用
- Android学习备忘011——使用Intent传递数据之返回结果
- Android 采用SharedPreferences读/写数据 【学习记录】
- android 入门学习笔记 利用bundle实现android,activity间消息的传递
- android学习-Activity数据传递的使用方法
- Android SQLite数据操作 【学习记录】
- Struts2服务器和Android客户端利用JSON进行数据的传递
- 线程、消息-Android入门开发系列学习之 Handler使用-by小雨
- Android学习札记34:看到的一种对Activity间使用Parcel传递数据的解释
- android利用剪切板来实现数据的传递 分类: android
- Android学习备忘009——Activity之间用Intent传递数据
- android利用handler线程间的通信
- Android学习—— Handler 的消息发送,在新的线程处理消息
- Android JNI和NDK学习(08)--JNI实例一 传递基本类型数据
- android--handler的不同线程的创建及数据传输