Android蓝牙开发:蓝牙小车上位机(开源)(第二版)
来源:互联网 发布:h5免费制作网站 知乎 编辑:程序博客网 时间:2024/05/20 23:40
蓝牙开发几个比较重要的类:BluetoothAdapter、BluetoothDevice、BluetoothSocket、OutputStream、InputStream。
1、BluetoothAdapter
getDefaultAdapter(),得到本地蓝牙适配器
getBondedDevices,得到已配对的BluetoothDevice对象,返回一个Set
startDiscovery(),开始扫描设备
cancelDiscovery(),取消扫描设备
getRemoteDevice(),获取扫描到的设备,形参是一个MAC地址,可以通过device.getAddress()获得这个地址。
isEnabled(),蓝牙是否打开
enable(),打开蓝牙
disable(),关闭蓝牙
2、BluetoothDevice
btDevice = btAdapter.getRemoteDevice(String MAC),这条语句就可获取device
createRfcommSocketToServiceRecord(String UUID),这个device对象主要是用来创建RfcommSocket通道
3、BluetoothSocket
btSocket = btDevice.createRfcommSocketToServiceRecord(MY_UUID),如上所述,通过device获得socket通道,形参MY_UUID是个常量,不同的UUID功能不一样,用作串口,private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"),定义这么个字段就好了。
connect(),socket通道打通后,连接指定的MAC地址的蓝牙设备。
close(),关闭socket通道
getOutputStream(),得到输出流
getInputStream(),得到输入流
4、OutputStream
write(),一般形参是个字节数组
5、InputStream
read(),形参也是字节数组,返回一个int
实用的广播:
BluetoothDevice.ACTION_FOUND,扫描到有蓝牙设备
BluetoothAdapter.ACTION_DISCOVERY_FINISHED,扫描结束
BluetoothDevice.ACTION_ACL_CONNECTED,蓝牙连接
BluetoothDevice.ACTION_ACL_DISCONNECTED,蓝牙断开连接。BluetoothSocket类有个isConnect()方法,连接成功一次后就返回true,无法实现实时判断,运用这个广播就可以了。
不贴代码了,直接上传源码,整个代码都有注释,希望对那些初学安卓蓝牙或者做蓝牙小车只关注下位机的同学提供一丁点帮助。
出第二版啦:
相对于第一版做了一些修正:
1、增加了重力感应控制台
2、不再显示已配对的蓝牙设备
3、控制时箭头变红,直观一点
4、连接处理做了一些改变
通信协议依旧:前进a,后退b,左转c,右转d,停止e。
android_蓝牙.doc(有用的文档)
从CSDN下载源码和APK
如果对你有帮助,请在我的GitHub上为这个项目点个赞,你也可以直接在我的GitHub上下载源码和APK,O(∩_∩)O哈哈~
- Android蓝牙开发:蓝牙小车上位机(开源)(第二版)
- android上位机连接hc-06蓝牙模块(以蓝牙智能小车为例)
- Android蓝牙遥控小车软件
- 蓝牙温度上位机总结
- Android 蓝牙开发(一)蓝牙通信
- Android 蓝牙开发(一)蓝牙通信
- Android 蓝牙开发(一)蓝牙通信
- Android 蓝牙开发(一)蓝牙通信
- ”WinForm上位机+OV7670摄像头+STM32+蓝牙“图像采集系统(二)PC-MCU蓝牙通信及WinForm上位机开发
- 雕刻机蓝牙android上位机控制器设计
- 蓝牙----Android的蓝牙开发
- Android 蓝牙开发-蓝牙通信
- Android手机通过蓝牙控制小车
- Android自定义摇杆实现蓝牙控制小车
- Android蓝牙开发(一)
- Android蓝牙开发(一)
- Android蓝牙开发(二)
- Android蓝牙开发(三)
- Trie树(字典树)poj3630+hdu1671
- 做个JAVA 8的调查?
- poj 3261 Milk Patterns
- C++模板
- windows环境下音频文件播放
- Android蓝牙开发:蓝牙小车上位机(开源)(第二版)
- HTML5+ plus.maps地图详解(官方文档)
- 资本运作下的腾讯和帝国梦想
- quartz实现定时任务调度
- 注册nessus试用注册码
- 黑马程序员(认识IOS)
- C++语言中引用机制的实现分析
- POJ2724 Purifying Machine二分图,最小边覆盖
- 二叉查找树(二叉排序树)的详细实现,以及随机平衡二叉查找树Treap的分析与应用