没有合适的资源?快使用搜索试试~ 我知道了~
Android蓝牙库FastBle的基础入门使用

温馨提示
前言 最近在做物联网课设,过程中需要用到Android的蓝牙API,奈何原生的蓝牙API使用有点麻烦。于是上网搜索看有没有好用的Android蓝牙库,然后发现了这个宝贝,给大家分享一下。 FastBle VS 原生Android蓝牙API 原生Android的蓝牙API使用有点麻烦,要先获取设备的蓝牙适配器,接着注册广播来接受蓝牙设备信息,用完了还需要将广播给注销,相对来说有点麻烦。 不好封装,可以说是原生Android最让人痛苦的地方,这是因为原生Android的代码不是很独立,与Activity、广播等相杂糅。市面上的蓝牙库也是少之又少,先看了看BleLib,感觉还是换汤不换药,用起来一点
资源推荐
资源详情
资源评论























格式:txt 资源大小:49.0B 页数:1






Android蓝牙库蓝牙库FastBle的基础入门使用的基础入门使用
前言前言
最近在做物联网课设,过程中需要用到Android的蓝牙API,奈何原生的蓝牙API使用有点麻烦。于是上网搜索看有没有好用的
Android蓝牙库,然后发现了这个宝贝,给大家分享一下。
FastBle VS 原生原生Android蓝牙蓝牙API
原生Android的蓝牙API使用有点麻烦,要先获取设备的蓝牙适配器,接着注册广播来接受蓝牙设备信息,用完了还需要将广
播给注销,相对来说有点麻烦。
不好封装,可以说是原生Android最让人痛苦的地方,这是因为原生Android的代码不是很独立,与Activity、广播等相杂糅。
市面上的蓝牙库也是少之又少,先看了看BleLib,感觉还是换汤不换药,用起来一点也不简洁。
但是FastLib封装的就很技巧,基本上能把一个操作的粒度控制在一行内,另外,代码也无需与线程、通知之类的打交道,库
中已经帮我们把这些复杂的东西都做完了。
FastBle的Github项目地址在这,大家可以看看:[FastBle – GitHub](https://github.com/Jasonchenlijian/FastBle (本地下载)
它的文档也相对比较完整,大家可以查看官方文档来使用它:FastBle – Document
FastBle的使用的使用
0x00 申明权限申明权限
只要使用到了蓝牙,申明权限是必不可少的,FastBle需要的权限如下:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
这里要注意一点这里要注意一点,如果Android版本高于6.0,用户还需要打开位置信息(不光要位置权限,还需要打开位置信息)才能通过蓝牙
进行扫描。
0x01 初始化与全局配置初始化与全局配置
初始化需要在库中任何函数被调用前执行,由于库使用的是单例模式,只需要初始化一次,在哪里都能使用,建议在
onCreate里执行初始化代码:
BleManager.getInstance().init(getApplication());
全局配置可以紧跟初始化之后执行,当然如果不进行配置也没有任何关系,每一个选项都有默认值:
BleManager.getInstance()
.enableLog(true)
.setReConnectCount(1, 5000)
.setSplitWriteNum(20)
.setConnectOverTime(10000)
.setOperateTimeout(5000);
每一项的详细信息你都能在官方文档中找到说明
0x02 打开蓝牙打开蓝牙
使用FastBle中的BleManager类有很多种方式来打开蓝牙,这里推荐使用下面这种方式,这种方式会使线程被阻塞,如果用户
不选择是否打开蓝牙,线程将会暂停执行:
BleManager.getInstance().enableBluetooth();
0x03 扫描设备扫描设备
打开蓝牙之后即可扫描设备,在正式扫描之前,可以自定义扫描规则,像这样:
BleScanRuleConfig scanRuleConfig = new BleScanRuleConfig.Builder()
.setServiceUuids(serviceUuids) // 只扫描指定的服务的设备,可选
.setDeviceName(true, names) // 只扫描指定广播名的设备,可选
.setDeviceMac(mac) // 只扫描指定mac的设备,可选
.setAutoConnect(isAutoConnect) // 连接时的autoConnect参数,可选,默认false
资源评论

- Asama浅间2023-07-25文章结构清晰,步骤有条不紊,让人一目了然,很容易跟着操作。
- yiyi分析亲密关系2023-07-25文章富有实例,讲解清晰,帮助我解决了蓝牙开发中的一些问题,实用性很高。
- 王者丶君临天下2023-07-25对于初学者而言,这篇教程提供了很好的入门指导,让我能够迅速理解并使用FastBle库。
- 高工-老罗2023-07-25作为一份入门指南,这篇文章的篇幅适中,不过多赘述,非常实用。
- 首席程序IT2023-07-25这篇文章详细介绍了Android蓝牙库FastBle的基础用法,让我快速上手了解了它的功能和优势。

weixin_38678498
- 粉丝: 3
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 互联网+小学英语作业的初探.docx
- 化工行业信息化建设方案.pdf
- 太阳能光伏发电系统照明系统设计自动化专业毕业设计.doc
- ARM处理器LCD控制及触摸屏接口设计方案.doc
- 《数据库原理及应用》考试大纲.doc
- 软件项目管理—如何进行项目估算.docx
- 基于89C51单片机的数字钟方案设计书(2).doc
- 中国应用交付网络市场分析报告-行业竞争现状与前景评估预测.docx
- 分层互动教学模式在中职计算机应用基础课程中的探究.docx
- 计算机科学与工程项目个人简历.doc
- 软件工程课后习题答案.doc
- authorware课程设计方案5.doc
- 基于计算机辅助语料库对中美研究者医学论文功能词使用的对比分析.docx
- VB-ACCESS的工资管理系统本科生.doc
- 工程项目管理材料封样要求.doc
- 基于应用型人才培养的大学计算机课程改革研究.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
