从事安卓开发四年余了,但是做蓝牙方向也小有一年多了。以前做开发的时候很少注重积累知识点,但是最近做的不只是蓝牙方向,还有红外和近场nfc通信。感觉很多东西混在一起了真的跟武功秘籍一样,不同场景采用不同的技术实现更为方便。好了不吹牛了,进入正题,主要总结ble开发的知识点。但是只针对gatt frofile通信,其实也是att。主要的几个类:主模式下有BluetoothGatt,BluetoothGattService,BluetoothGattCharacteristic,BluetoothGattCallback几个常用类;从模式下有BluetoothGattServer,BluetoothGattServerCallBack,UUID(特征和服务都有)等。在这里说下之前的ble3.0,之前的通信方式是通过socket的方式进行数据流通信的,而ble4.0和后面的4.1,4.2,以及前不久发布的ble5.0都是通过服务和特征来通信的,根据服务的属性描述和权限限制。
读:通过ble对特征进行读数据;写:对特征写入数据 订阅:就是特征的值变了,app可以自动得到,不用循环去读数据。官网介绍:https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html。