别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述基于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 studio sdk路径配置
- 基于Android 6.0 的蓝牙开发-- 开启,关闭,搜索,连接
- 安卓AlertDialog四种对话框的最科学编写用法
- Mac Electron App 签名后打开闪退
- Android studio 自动生成内部属性变量加 m
- 配置 application.properties
- Android 命令设置获取IP地址网关dns
- android tips
- 结合源码,重温 Android View 的事件处理知多少 ?