BLE蓝牙在Android开发中的应用(一)

最近一段时间在写支持BLE蓝牙的Android应用。是时候总结一下了。


1、什么是BLE。(总得先知道BLE是什么吧大笑~~~)

     Bluetooth Low Energy(低功耗蓝牙),缩写为Bluetooth LE,或BLE,作为蓝牙4.0 (有时称为蓝牙智能)规范的一部分,并针对上述的这些具体问题而被引入。就提高电池寿命而言,许多制造商声称一些传感器能维持数月甚至数年的时间(我必须承认我有点怀疑制造商的估计一般是基于最好的情况下,而不涉及实际的使用情况)。Google在Android 4.3(API 18)中加入了对BLE的支持

  * 这里附带提一下传统的蓝牙Bluetooth。传统的蓝牙采用的是类似于Socket的通信机制:Socket的基本原理就是有ServerSocket、ClientSocket,服务器端和客户端都指定一下网络地址、端口,然后服务器端accept(),处于等待客户端发起连接的状态;客户端Socket对象创建后,就可以拿到里面的一些输入输出流了,发起请求,然后实现各种数据传递业务逻辑。

    而,BLE的机制不是这样的!BLE的机制是中心周边机制,以传输属性类型的原子数据为特征。(这句话是不是很绕。举个例子来说:Android Wear是有一个支持BLE的设备,可以测你的心率;Android phone上有个心率App,两者通过蓝牙连接。Android phone(接收心率数据)就是BLE中心,Android Wear(发送心率数据)就是BLE周边。传输的数据是心率,可能是 60 次/分 ,显然有单位。所以说这个数据是一个属性数据;这个数据是以数据传输的最小单元的形式发送的,是个原子数据。好难解释难过。大概是这样理解的~~~)

    可以这么认为:接收数据的一端(Android phone)认为是BLE中心(BluetoothGatt),其他低能耗蓝牙设备(比如说带蓝牙的温度传感器、心率传感器等等)认为是周边。

-----------------------------------------------华丽丽的分割线-------------------------------------------------------------------------------------------------------------

2、进行BLE蓝牙操作的准备工作(工欲善其事,必先利其器!)

   * 先啥也别想,把所有需要的权限加上。

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

  2.1 Service 与 Activity 之间的通信

      为啥要知道这个? 后面就知道了。先按下不表~~~(贱人就是矫情,还和我卖关子!骂人)

      记得Service 在清单配置文件AndroidManifest.xml中要写<service/>

<service 
      android:name="com.yudichina.bluetoothbyoidtestdemo.BluetoothLeService" 
      android:exported="true"
      android:enabled="true">
 </service>

     

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值