以下是关于2014年项目中遇到模块,跟大家分享一下
蓝牙模块(以下操作最好放于service中建立子线程运行):
- 通过(BluetoothManager) context .getSystemService(Context.BLUETOOTH_SERVICE);获取到蓝牙服务BluetoothManager
- 调用bluetoothManager.getAdapter()获取到BluetoothAdapter蓝牙适配器
- 判断蓝牙适配器BluetoothAdapter的状态后,通过调用startLeScan(BluetoothAdapter.LeScanCallback)方法进行扫描设备
- 扫描到设备后BluetoothAdapter.LeScanCallback回调方法被触发,将扫描到的BluetoothDevice中信息记录(name及address等)
- 调用BluetoothDevice的connectGatt(Context context, boolean autoConnect, BluetoothGattCallback callback)方法与设备建立连接
- 连接成功后BluetoothGattCallback该回调将被调用,通过该回调中与service及characteristic有关的方法进行读写操作即可进行蓝牙通讯
WebSocket模块(项目中用于即时通讯):
- 使用WebSocket第三方库:autobahn
- 建立WebSocket连接对象new WebSocketConnection()
- 调用该连接对象的方法connect进行连接指定的url,需要传入WebSocketConnectionHandler回调
- 当服务器响应时触发WebSocketConnectionHandler的回调方法,针对每一个方法进行对应的操作