android线程做服务端接受数据传给UI线程
来源:互联网 发布:淘宝网雪纺上衣 编辑:程序博客网 时间:2024/06/06 03:35
//读写线程
private class ReadThread extends Thread {
@Override
public void run() {
byte[] buffer = new byte[1024];
int bytes;
InputStream mmInStream = null; //建立输入流读取数据
try {
mmInStream = testBlueTooth.btSocket.getInputStream();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
while (true) { //无限循环读取数据
try {
// Read from the InputStream
if ((bytes = mmInStream.read(buffer)) > 0) {
byte[] buf_data = new byte[bytes];
for (int i = 0; i < bytes; i++) {
buf_data[i] = buffer[i];
}
String s = new String(buf_data);
//String b="sdfjksdj";
BluetoothConvert convert=new BluetoothConvert();
String angle= convert.convert(s);
Log.e("Read","more success!");
Log.e("result",angle);
// Log.e("result",b4.getText().toString());
//b4.setText(String.valueOf(angle));
//BlueToothNum=angle;
Message msg = new Message();
// 发送一个String的数据,让他向上转型为obj类型
msg.obj = angle;
// 发送数据
handler.sendMessage(msg);
// b5.setText(angle);
}
} catch (IOException e) {
// handler.sendEmptyMessage(3);
try {
mmInStream.close();
} catch (IOException e1) {
}
break; //异常的时候break跳出无限循环
}
}
}
}
// 创建handler,因为我们接收是采用线程来接收的,在线程中无法操作UI,所以需要handler
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
// 通过msg传递过来的信息,吐司一下收到的信息
Toast.makeText(Common.this, (String) msg.obj, 0).show();
String aa=(String) msg.obj;
//这里讲读出来的角度数据填写到界面中
if((b4.getText().toString().equals(""))&& (b4.getText()==null))
{
b4.setText(aa);
}
else
{
b5.setText(aa);
}
}
private class ReadThread extends Thread {
@Override
public void run() {
byte[] buffer = new byte[1024];
int bytes;
InputStream mmInStream = null; //建立输入流读取数据
try {
mmInStream = testBlueTooth.btSocket.getInputStream();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
while (true) { //无限循环读取数据
try {
// Read from the InputStream
if ((bytes = mmInStream.read(buffer)) > 0) {
byte[] buf_data = new byte[bytes];
for (int i = 0; i < bytes; i++) {
buf_data[i] = buffer[i];
}
String s = new String(buf_data);
//String b="sdfjksdj";
BluetoothConvert convert=new BluetoothConvert();
String angle= convert.convert(s);
Log.e("Read","more success!");
Log.e("result",angle);
// Log.e("result",b4.getText().toString());
//b4.setText(String.valueOf(angle));
//BlueToothNum=angle;
Message msg = new Message();
// 发送一个String的数据,让他向上转型为obj类型
msg.obj = angle;
// 发送数据
handler.sendMessage(msg);
// b5.setText(angle);
}
} catch (IOException e) {
// handler.sendEmptyMessage(3);
try {
mmInStream.close();
} catch (IOException e1) {
}
break; //异常的时候break跳出无限循环
}
}
}
}
// 创建handler,因为我们接收是采用线程来接收的,在线程中无法操作UI,所以需要handler
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
// 通过msg传递过来的信息,吐司一下收到的信息
Toast.makeText(Common.this, (String) msg.obj, 0).show();
String aa=(String) msg.obj;
//这里讲读出来的角度数据填写到界面中
if((b4.getText().toString().equals(""))&& (b4.getText()==null))
{
b4.setText(aa);
}
else
{
b5.setText(aa);
}
}
};
阅读全文
0 0
- android线程做服务端接受数据传给UI线程
- thread线程,UI线程与后台线程,后台线程把message通过handler传给UI线程
- android其他线程向ui线程发送数据
- Android UI线程和子线程共享数据
- android子线程加载数据,ui线程实现更新方法
- Handler-接受子线程数据更新UI主线程;非主线程通信--HandlerThread
- Handler-接受子线程数据更新UI主线程;非主线程通信--HandlerThread
- Android UI线程和非UI线程
- Android UI线程和非UI线程
- Android UI线程和非UI线程
- Android UI线程和非UI线程
- Android UI线程和非UI线程
- Android UI线程和非UI线程
- Android UI线程和非UI线程
- Android UI线程和非UI线程
- Android UI线程和非UI线程
- Android UI线程和非UI线程
- Android UI线程和非UI线程
- SettingWithCopyWarning 解决方案
- 《Java编程技巧1001条》第376条 , 了解数组,
- coredump分析
- 【Python-ML】感知器学习算法(perceptron)
- 每天一个linux命令(28):tar命令
- android线程做服务端接受数据传给UI线程
- 不允许输入空格
- vue2.0在使用websocket时切换页面后websocket依旧保持连接
- 多个DataTable按某一列合并
- 微信小程序与内嵌网页交互实现支付功能
- 说一说IT行业与风投
- Eclipse中的快捷键快速生成常用代码(例如无参、带参构造,set、get方法),以及Java中重要的内存分析(栈、堆、方法区、常量池)
- 简单但细节问题思考
- python log模块最简单的写法