蓝牙BLE开发基础教程 android5.0 蓝牙4.0 透传 Android Studio(一)

说明:本人因需要做一个APP,通过蓝牙与单片机进行通信,但所参阅的教程不够具体,版本也很乱,用了很长时间才搞定,现将经验分享出来,给大家提供参考

开发环境 Android 5.0 (最低)
IDE Android Studio2.3
蓝牙模块 JDY-08/JDY-10

android是从android4.3版本才开始支持BLE的,到android5.0以后谷歌把扫描单独做成一个对象了(BluetoothLeScanner),本教程只介绍Android5.0部分

蓝牙BLE开发基础教程 android5.0 蓝牙4.0 透传 Android Studio(一)_第1张图片

  • 一个低功耗蓝牙(ble)可以包括多个Profile
  • 一个Profile中有多个Service(每个Service对应一个UUID)
  • 一个Service中有多个Characteristic(每个Characteristic对应一个UUID)
  • 一个Characteristic中包括一个value和零个或一个或多个Descriper(每个Descriper对应一个UUID)
  • 通过UUID可直接找到对应的Service(服务) /Characteristic(特征)/Descriper(描述符)
  • 例如 假设有一个智能手表 他的BLE具有很多Service,其中一个是心跳监测服务,一个服务有很多Descriper,其中有一个Descriper是心跳速率,他有一个value(我们假设他为速度值),还有很多Descriper(时间或者其他什么的),我们的串口通信只需要设置和读取Characteristic的Value值就好了。

蓝牙BLE开发基础教程 android5.0 蓝牙4.0 透传 Android Studio(一)_第2张图片
建立一个空Activity,添加botten listView

一、添加权限
在mainifests->Androidmainifest.xml中加入以下代码

    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
    <uses-feature android:name="android.bluetooth_le" android:required="true"/>
    <uses-permission-sdk-23 android:name="android.permission.ACCESS_COARSE_LOCATION"/>

二、开启蓝牙

//声明变量
    private BluetoothManager bluetoothManager;     
    private BluetoothAdapter bluetoothAdapter;
//获取buletoothAdapter并打开蓝牙
        mBluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
        mBluetoothAdapter = mBluetoothManager.getAdapter();
        if (!mBluetoothAdapter.isEnabled()) {
            startActivityForResult(new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE), 0);  // 弹对话框的形式提示用户开启蓝牙
    }

你可能感兴趣的:(android,android,studio,蓝牙,BLE,android5-0,ble-4-0)