android蓝牙上位机,Android应用开发之Android蓝牙上位机实现发送指令与接收信息功能的方法...

本文介绍Android蓝牙上位机的开发方法,包括发送指令与接收信息的功能实现。通过示例代码展示了如何设置蓝牙模块及数据收发流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文将带你了解Android应用开发Android蓝牙上位机实现发送指令与接收信息功能的方法,希望本文对大家学Android有所帮助。

现市面上的蓝牙模块基本都相同,开发者只需要下载本文源程序,然后按如下注释处,更改发送指令的内容就可以了。

//发送按键响应

public void onSendButtonClicked(View v){

try{

OutputStream os =   _socket.getOutputStream();//蓝牙连接输出流

byte[] bos = {0X53,0x4E,0x06,0x00,0x04,0x05,0x00,0x00,0x0F};  //花括号内是要发送的指令,根据需要更改,这里是我随便输入的

os.write(bos);

}catch(IOException   e){

}

}

下面是接收数据线程,接收数据转换为16进制数的字符串进行显示,在注释的代码部分,若要修改数据显示的编码方式,在此处。

//接收数据线程

Thread ReadThread=new Thread(){

public void run(){

int num = 0;

byte[] buffer = new byte[1024];

byte[] buffer_new = new byte[1024];

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;

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 = "";

for (int i   = 0; i   < bos.length; i++)

{

String hex = Integer.toHexString(bos[i]   & 0xFF);

if (hex.length() == 1)

{

hex = '0' +   hex;

}

s += hex.toUpperCase()+" ";

}              //    for循环和Integer.toHexString()方法实现byte数组转换成16进制字符串

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

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

}

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

handler.sendMessage(handler.obtainMessage());

}catch(IOException e){

}

}

}

}

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值