安卓蓝牙4.0开发之主从机代码

在ble协议中,有两个角色,周边和中央。其中周边负责提供数据,中央负责处理周边提供的数据。一个设备,既可以是中央也可以是周边。中央和周边相互依存,缺一不可。

先了解一下基本的概念:

GATT:他是通过ble连接,读写属性类小数据profile的通用规范。

ATT:GATT是基于ATT的。根据英文的翻译是属性协议。

下面来看一下ble sdk中的四个关键类:

A.BluetoothGattServer:作为周边来提供数据

B.BluetoothGattServerCallback:返回周边的状态。

C.BluetoothGatt:作为中央使用,处理周边的数据。

D.BluetoothGattCallback:返回中央状态和周边提供的数据。



创建一个周边

1.new一个特征

character=new BluetoothGattCharacteristic(UUID,

BluetoothGattCharacteristic.PROPERTY_NOTIFY, 

BluetoothGattCharacteristic.PERMISSION_READ

BluetoothGattCharacteristic.PROPERTY_NOTIFY,BlueetoothGattCharacteristic.PERMISSION_READ);

第一个参数为自定义的特征的uuid,第二个参数为这个特征支持的状态(READ,WRITE,NOTIFY),第三个参数是为这个特征添加的权限。

2.new一个服务

service=new BluetoothGattService(UUID,BluetoothGattService_SERVICE_TYPE_PRIMARY);


3.把特征添加到服务

service.addChararicteristic(character);


4.获取BluetoothManager

manager=(BluetoothManeger)getSystemService(Context.BLUETOOTH_SERVICE);



5.打开/获取周边

BluetoothGattServer gatt_server=manager.openGattServer(this,new BluetoothGattCallback(){...});


6.把servier添加到周边

gatt_server.addService(service);


7.广播service

以上就是从机的代码

你可能感兴趣的:(android,android开发,安卓开发,ble)