android蓝牙接收实时显示,求助:蓝牙接收单片机温度数据在TextView中不能实时显示...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

想用蓝牙接收单片机的温度在Textview中实时显示,现在在Textview能显示,但不能实时更新,会在Textview中显示历史数据,有大神帮我看一下吗?

代码如下:

控件:

android:id="@+id/in"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/button2"

android:layout_below="@+id/Text0"

android:layout_marginTop="15dp"

android:gravity="center"

android:text="22"

android:textColor="#00BFFF"

android:textSize="20sp" />

代码段:

//接收数据线程

Thread ReadThread=new Thread(){

public void run(){

int num = 0;

byte[] buffer = new byte[24];

byte[] buffer_new = new byte[24];

int i = 0;

int n = 0;

bRun = true;

//接收线程

while(true){

try{

while(is.available()==0){

while(bRun == false){}

}

while(true){

num = is.read(buffer); //读入数据

n=0;

String s0 = new String(buffer,0,num);

fmsg+=s0; //保存收到数据

for(i=0;i

if((buffer[i] == 0x0d)&&(buffer[i+1]==0x0a)){

buffer_new[n] = 0x0a;

i++;

}else{

buffer_new[n] = buffer[i];

}

n++;

}

String s = new String(buffer_new,0,n);

smsg+=s; //写入接收缓存

//int b=Integer.parseInt(smsg);

//int c=b-20;

//k = String.valueOf(c);

if(is.available()==0)break; //短时间没有数据才跳出进行显示

}

//发送显示消息,进行显示刷新

if(smsg.equals("1234"))

text0.setText("123");

handler.sendMessage(handler.obtainMessage());

}catch(IOException e){

}

}

}

};

//消息处理队列

Handler handler= new Handler(){

public void handleMessage(Message msg){

super.handleMessage(msg);

dis.setText(smsg); //显示数据

//new Reminder(1);

}

};

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值