当前位置:   article > 正文

Android蓝牙通讯(1)——Blelib开源库的使用

blelib

学习自: 使用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'
}
  • 1
  • 2
  • 3

然后注意到,项目的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;
   }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

3.初始化操作

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

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

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


总结

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/494707
推荐阅读
相关标签
  

闽ICP备14008679号