基于Android 6.0 的蓝牙开发-- 发送数据,接收数据,实现改变色板功能
Posted Somture
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Android 6.0 的蓝牙开发-- 发送数据,接收数据,实现改变色板功能相关的知识,希望对你有一定的参考价值。
一、发送数据
public static OutputStream os;
os = socket.getOutputStream();//获取输出流 os.write(message1.getBytes()); os.flush();//将输出流的数据强制提交
此处发送数据可以封装为一个方法,并设置为一个按键事件。设置按键事件的写法可以参考上一篇 链接!!!!!!
二、接收数据
此步骤放置于一个新的子线程中
InputStream is = socket.getInputStream();
然后将接收数据的代码放于一个永真循环中
int count = 0; while (count == 0) { count = is.available(); if (!bluetoothAdapter.isEnabled()) { is.close(); if (os != null) { os.close(); } } } byte buf[] = new byte[count]; if (buf != null) { is.read(buf, 0, count); message = new String(buf); handler.post(RefreshTextView); }
其中的message应定义为static
handler.post(RefreshTextView);是利用Handler机制将接收到数据显示在界面
private static Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == UPDATE) ; textView.setText(String.valueOf(msg.obj)); } };
private static Runnable RefreshTextView = new Runnable() { @Override public void run() { textView.setText(message); } };
以上是关于基于Android 6.0 的蓝牙开发-- 发送数据,接收数据,实现改变色板功能的主要内容,如果未能解决你的问题,请参考以下文章
Android 6.0 上的低功耗蓝牙 startScan 找不到设备
Android 蓝牙发现 API 不适用于 Android 6.0