Android如何实现把子线程接收到的实时数据传送给UI界面并用textview显示
Android UI线程非安全不能在工作线程中操作UI,所有UI操作必须在主线程(又名UI线程)两个原则:Do not block the UI thread(不要在UI线程中做耗时的工作,阻塞线程);Do not access the Android UI toolkit from outside the UI thread(不要在非主线程操作UI)非主线程处理后的数据需要更新至主线程UI界面,通常可以就需要用hannler处理。基本原理:主线程起来以后有一个MessageQueue,同时和该队列配对的有一个Looper,而子线程有这个MessageQueue的引用,子线程处理完以后就会向主线程的消息队列发消息,主线程轮询自己的队列,发现有未处理的消息就进行处理。class LooperThread extends Thread {public Handler mHandler;public void run() {Looper.prepare();mHandler = new Handler() {public void handleMessage(Message msg) {// process incoming messages here}};Looper.loop();}}
赞0
踩0