原标题:BLE的Android上位机开发(上)

各位坛友大家好啊!

上篇BLE的Android开发小技巧(见帖:BLE4.0安卓上位机开发小技巧),但因为当时Android上位机还没有完全开发完毕,BleLib开源包也用的不太熟练,因此没有详细的代码说明。随后就是漫长的出差,天天忙忙碌碌的没时间弄。然而,就在昨天,就在昨天~我的Android上位机全部开发完毕啦~~(真是个举国欢庆的日子啊。。)别的不多扯了,进入主题聊聊Blelib这个包怎么用吧。

1、声明对象

这个太简单,直接码。这个mBleService是核心。

[Java] 纯文本查看复制代码

?

1

BleService mBleService= null ;

2、绑定BLELIB服务

这里涉及到两个函数。其中doBindService()是用来绑定BLE服务的,这个在初始化建立蓝牙连接的时候用到;doUnBindService()是用来解绑服务的,在关闭的时候调用。

[Java] 纯文本查看复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

private void doBindService() {

Intent serviceIntent = new Intent( this , BleService. class );

bindService(serviceIntent, serviceConnection, Context.BIND_AUTO_CREATE);

mIsBind= true ;

}

private void doUnBindService() {

if (mIsBind) {

unbindService(serviceConnection);

mBleService = null ;

mIsBind = false ;

}

}

3、打开蓝牙扫描设备

这个要介绍一位新人了~~~serviceConnection:

[Java] 纯文本查看复制代码

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

private ServiceConnection serviceConnection = new ServiceConnection() {

@Override

public void onServiceConnected(ComponentName name, IBinder service) {

mBleService = ((BleService.LocalBinder) service).getService();

if (mBleService != null ) setBleServiceListener();

if (mBleService.initialize()) {

if (mBleService.enableBluetooth( true )) {

mBleService.scanLeDevice( true );

Toast.makeText(MainActivity. this , "Bluetooth was opened" , Toast.LENGTH_SHORT).show();

}

} else {

Toast.makeText(MainActivity. this , "not support Bluetooth" , Toast.LENGTH_SHORT).show();

}

}

};

细心的网友肯定发现了,serviceConnection就是doBindService()里面调用的东西,通过重写ServiceConnection()实例化mBleService,并且判断设备是否支持蓝牙,然后开始扫描BLE设备。

观测Android是否还在扫描蓝牙设备,可以用mBleService.isScanning()函数,返回true是仍在扫描,false是扫描完毕。

4、设置各种回调函数

在serviceConnection里面有个调用:setBleServiceListener(); 这个是核心的核心,各种Scan、Connection、Services、Characteristic什么的,重要的信息都在这里。

那么~~抖个包袱,这一部分下次再开帖分享给大家!

感谢大家百忙之中看帖~谢谢大家啦!

helloeeworld为好友,发送职业或EEWORLD论坛账号+感兴趣的方向,经审核通过即会被拉入我们在不用领域建立的微信交流群。返回搜狐,查看更多

责任编辑:

android上位机编程,BLE的Android上位机开发(上)相关推荐

  1. gpu编程如何一步步学习_如何学习贴片机编程

    学习贴片机编程首选要对贴片机有所熟悉了解,另外对常用的电脑编辑软件要会使用.目前通常学习贴片机编程有专门的培训学校,或者跟着生产线上现有的贴片机编程师傅学习熟练后再进行编程操作.下面深圳智驰科技就来分 ...

  2. 基于STM32C8T6、ESP8266-01S、JavaWeb、JSP、Html、JavaScript、Android、服务器和客户端设计、上位机和下位机设计等技术融合的物联网智能监控系统设计与实现

    系列文章目录 第一章ESP8266的java软件仿真测试 第二章ESP8266硬件与软件测试 第三章ESP8266客户端与Java后台服务器联调 第四章ESP8266客户端与JavaWeb服务器联调 ...

  3. STM32单片机通过ESP8266WiFi模块与Android APP实现数据传输(二)---上位机搭建

    事物的难度远远低于对事物的恐惧 完成对STM32单片机和ESP8266 WiFi模块的配置之后,接下来需要完成Android APP代码的编写以及实现. 1.添加网络权限 因为我们需要对WiFi进行操 ...

  4. PMAC上位机编程基础1---编程环境配置

    最近看了一篇上海交通大学的硕士毕业论文,提到了关于PMAC的上位机编程,觉得蛮有意思.于是也想写一个小界面试一试.看了两三天文档,经过N次调试,终于完成了实现电机JOG运动的界面,其实回过头来想想,还 ...

  5. 【CNC——第6篇】PMAC上位机编程基础篇(上位机和下位机如何通信)

    拓展链接: PAMC官网:DELTA TAU. 官网手册:手册大全 PMAC官网: PCOMM32PRO用户手册 PMAC 的内部变量 内部变量分为四种,I 变量为电机等常用基本控制变量,P 变量为全 ...

  6. UR机械臂仿真和用上位机编程控制

    UR机械臂仿真和用上位机编程控制 在没有实物UR机械臂时怎么办,优傲提供了仿真工具可以满足开发者需求,这样也减少了实际操作机械臂时的麻烦. 需要下载和安装的软件 虚拟机 使用VMware是不错的选择, ...

  7. 如何用c语言写上位机软件,上位机的工作原理_上位机编程用什么软件

    描述 上位机的工作原理 通讯过程 两机如何通讯,一般取决于下位机,TCP/IP一般是支持的,但是下位机一般具有更可靠的独有通讯协议,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯,里面会 ...

  8. 自动化工程师如何快速上手上位机编程

    大家好! 我是华山自控编程的朱老师 自动化控制技术不断发展,掌握一门上位机编程语言成为自动化工程师越来越迫切的需求.工业4.0,智能制造,无人工厂,远程监控等自动化的方方面面对技术要求越来越高,用上位 ...

  9. 学习上位机编程:提升自动化领域竞争力的关键技能

    大家好,我是华山自控编程的朱老师. 今天我要向大家介绍一套专为自动化从业人员量身定制的零基础入门C#上位机编程系列课程.这套课程非常适合PLC工程师和电气工程师学习,作为C#上位机编程的入门课程,我们 ...

最新文章

  1. unity水管工_我是如何从30岁的管道工转变为32岁的Web开发人员的
  2. Linux环境软RAID 5 搭建
  3. vector模板,初学者必读
  4. 中国夹层玻璃板行业市场供需与战略研究报告
  5. Gccgo in GCC 4.7.1[翻译]
  6. 消息中间件解决方案-JMS-ActiveMQ
  7. 总结一下数据库的 一对多、多对一、一对一、多对多 关系
  8. 游戏筑基开发之文件操作(C语言)
  9. if函数判断单元格颜色_IF条件函数10大用法完整版,全会是高手,配合SUMIF,VLOOKUP更逆天...
  10. QQ for linux(ubuntu) 下载安装教程
  11. Hulu校招补录已开始,1年内工作经验也可投!
  12. 帝国cms php超时,帝国CMS后台登录超时、登录错误5次限制的解决办法
  13. 【经验总结】Centos8安装X264,X265,OPUS,AAC,FFmpeg一次性解决方案
  14. IDEA控制台为什么不打印日志
  15. ubuntu golang 安装完成报 “command ‘go‘ not found“
  16. 自己实现atoi函数
  17. Matplotlib多子图绘图后保存单个子图
  18. 设计师:设计师知识储备(设计分类、设计十种形式、设计要素、设计原则、室内设计风格流行趋势)之详细攻略
  19. 程序员趣味儿逻辑测题-2(附答案)这次的题稍难,快来挑战吧!
  20. com.sun.jersey.api.client.ClientHandlerException: java.net.UnknownHostException: eureka8001

热门文章

  1. 广发样样行好不好?了解清楚才知道
  2. SyntaxError: multiple statements found while compiling a single statement
  3. 关于人、世界、精神、物质的一种思考(你不要将它当真啦^_^)
  4. 支付宝-转账到支付宝账号接口(新接口)
  5. GPT解读(论文 + TensorFlow实现)
  6. python写一个类600行代码_带你领略算法的魅力,一个600行代码的分词功能实现(二)...
  7. Axure学习笔记(十五)-类似于某宝商品界面的实现(利用中继器)
  8. python中map的用法
  9. cocos2dx-3.x ——2.x 到3.x变化
  10. 盘后股价应声下跌1.54% 电信业“亚马逊“Twilio路在何方?