学习自: 使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发详解


前言

项目需要添加一个蓝牙设备并实现监听,所以记录一下学习的过程并记录一下自己遇到过的坑吧。首先,用BLE的话我们就先学习一下使用BleLib。


一、BleLib是什么?

BleLib是Android低功耗蓝牙4.0及以上开发的辅助库,一行代码解决Ble初始化、扫描、连接、特性读写、设置通知等操作。

二、使用步骤

1.添加BleLib库依赖

首先:添加依赖需要去build.gradle文件中添加如下代码:

dependencies {
    compile 'com.junkchen.blelib:blelib:1.0.4'
}

然后注意到,项目的gradle里面是有两个build.gradle文件的。
此处注意应选择括号里标注Module的那个。

2.绑定BleLib服务

还不是很明白绑定服务具体指的是什么意思,反正现照葫芦画瓢加上去吧。后续再好好学习一下服务具体是个啥吧。留下了没文化的眼泪

private BleService mBleService;
private boolean mIsBind;
private ServiceConnection serviceConnection = new ServiceConnection() {
    @Override
    public void onServiceConnected(ComponentName name, IBinder service) {
        mBleService = ((BleService.LocalBinder) service).getService();
        if (mBleService.initialize()) {
            if (mBleService.enableBluetooth(true)) {
                mBleService.scanLeDevice(true);
                Toast.makeText(BleScanActivity.this, "Bluetooth was opened", Toast.LENGTH_SHORT).show();
            }
        } else {
            Toast.makeText(BleScanActivity.this, "not support Bluetooth", Toast.LENGTH_SHORT).show();
        }
    }

    @Override
    public void onServiceDisconnected(ComponentName name) {
        mBleService = null;
        mIsBind = false;
    }
};

private void doBindService() {
   Intent serviceIntent = new Intent(this, BleService.class);
   bindService(serviceIntent, serviceConnection, Context.BIND_AUTO_CREATE);
}

private void doUnBindService() {
   if (mIsBind) {
       unbindService(serviceConnection);
       mBleService = null;
       mIsBind = false;
   }
}

3.初始化操作

当服务绑定后可进行初始化操作,判断该机是否支持蓝牙,调用如下方法:

    mBleService.initialize();//Ble初始化操作  

该方法会返回一个boolean值,返回true表示初始化成功,支持蓝牙;返回false表示初始化操作失败,则后续的所有操作都不能进行。


总结

先搞这么多,后面没太想明白怎么接收信息。。。换一个思路搞一下。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐