CN106603125B - 一种与蓝牙设备进行数据交互的方法及装置 - Google Patents
一种与蓝牙设备进行数据交互的方法及装置 Download PDFInfo
- Publication number
- CN106603125B CN106603125B CN201611073518.3A CN201611073518A CN106603125B CN 106603125 B CN106603125 B CN 106603125B CN 201611073518 A CN201611073518 A CN 201611073518A CN 106603125 B CN106603125 B CN 106603125B
- Authority
- CN
- China
- Prior art keywords
- data interaction
- bluetooth
- tool class
- instance object
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 102
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000008569 process Effects 0.000 abstract description 12
- 239000002699 waste material Substances 0.000 abstract description 4
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/72—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了本发明实施例提供的一种与蓝牙设备进行数据交互的方法及装置,该方法包括:通过蓝牙与至少一个蓝牙设备建立连接;确定连接的蓝牙设备中需要进行数据交互的特征;在单例模式下,与蓝牙设备进行数据交互,以更新确定出的特征。在与蓝牙设备进行交互的过程中,采用单例模式与蓝牙设备进行数据交互,能过保持实例化的唯一性,从而避免实例化过程中浪费过多时间。
Description
技术领域
本发明涉及蓝牙开发技术领域,尤指一种与蓝牙设备进行数据交互的方法及装置。
背景技术
目前基于ios系统的蓝牙开发,依赖蓝牙静态库,蓝牙内设(例如苹果手机)与蓝牙外设(例如蓝牙卡或具有蓝牙功能的其他设备)交互频繁,“写”或“读”的动作函数使用频率较高,而每一次数据交互都要创建实例,带来时间上的消耗,其他对象实例化其自己的对象副本,但其实交互对象都是唯一,这样就浪费了大量时间上的资源。
此外,在现有技术中,ios系统所给出的应用程序接口,是通过委托代理进行实现,分为CB Central Manager Delegate和CB Peripheral Delegate,需要实现两个委托协议,再根据业务需要完成相对应代码需求,该过程中会产生实例对象,因为开发往往会涉及到工厂模式,这样可能导致类与实例对象不统一。
因此,如何解决蓝牙开发过程中,数据交互时实例创建浪费时间过多是急需解决的问题。
发明内容
本发明实施例提供一种与蓝牙设备进行数据交互的方法及装置,用以解决现有技术中存在的与蓝牙设备进行数据交互时,实例创建浪费时间过多的问题。
本发明实施例提供了一种与蓝牙设备进行数据交互的方法,包括:
通过蓝牙与至少一个蓝牙设备建立连接;
确定连接的所述蓝牙设备中需要进行数据交互的特征;
在单例模式下,与所述蓝牙设备进行数据交互,以更新确定出的所述特征。
在一种可能的实现方式中,在本发明实施例提供的上述与蓝牙设备进行数据交互的方法中,所述在单例模式下,与所述蓝牙设备进行数据交互,以更新确定出的所述特征,具体包括:
在单例模式下,创建用于进行数据交互的工具类;
在装载所述工具类时,创建所述工具类的实例对象;
创建出的所述实例对象调用公有函数,以更新确定出的所述特征。
在一种可能的实现方式中,在本发明实施例提供的上述与蓝牙设备进行数据交互的方法中,所述更新确定出的所述特征,具体包括:
将待写入的数据写入到确定出的所述特征中,或,读取所述特征中的数据。
在一种可能的实现方式中,在本发明实施例提供的上述与蓝牙设备进行数据交互的方法中,还包括:
在装载所述工具类时,检查所述工具类是否存在实例对象;若存在,则继续使用所述实例对象,若不存在,则创建所述工具类的实例对象。
在一种可能的实现方式中,在本发明实施例提供的上述与蓝牙设备进行数据交互的方法中,所述确定连接的所述蓝牙设备中需要进行数据交互的特征,具体包括:
扫描所述蓝牙设备中的服务,确定需要进行数据交互的服务;
扫描确定出的所述服务中的特征,确定需要进行数据交互的特征。
本发明实施例还提供了一种与蓝牙设备进行数据交互的装置,包括:
连接单元,用于通过蓝牙与至少一个蓝牙设备建立连接;
特征确定单元,用于确定连接的所述蓝牙设备中需要进行数据交互的特征;
特征更新单元,用于在单例模式下,与所述蓝牙设备进行数据交互,以更新确定出的所述特征。
在一种可能的实现方式中,在本发明实施例提供的上述与蓝牙设备进行数据交互的装置中,所述特征更新单元,具体用于:
在单例模式下,创建用于进行数据交互的工具类;
在装载所述工具类时,创建所述工具类的实例对象;
创建出的所述实例对象调用公有函数,以更新确定出的所述特征。
在一种可能的实现方式中,在本发明实施例提供的上述与蓝牙设备进行数据交互的装置中,所述特征更新单元,具体包括:
将待写入的数据写入到确定出的所述特征中,或,读取所述特征中的数据。
在一种可能的实现方式中,在本发明实施例提供的上述与蓝牙设备进行数据交互的装置中,还包括:
检查单元,用于在装载所述工具类时,检查所述工具类是否存在实例对象;若存在,则继续使用所述实例对象,若不存在,则创建所述工具类的实例对象。
在一种可能的实现方式中,在本发明实施例提供的上述与蓝牙设备进行数据交互的装置中,特征确定单元,具体用于:
扫描所述蓝牙设备中的服务,确定需要进行数据交互的服务;
扫描确定出的所述服务中的特征,确定需要进行数据交互的特征。
本发明有益效果如下:
本发明实施例提供的一种与蓝牙设备进行数据交互的方法及装置,该方法包括:通过蓝牙与至少一个蓝牙设备建立连接;确定连接的蓝牙设备中需要进行数据交互的特征;在单例模式下,与蓝牙设备进行数据交互,以更新确定出的特征。在与蓝牙设备进行交互的过程中,采用单例模式与蓝牙设备进行数据交互,能过保持实例化的唯一性,从而避免实例化过程中浪费过多时间。
附图说明
图1为本发明实施例提供的一种与蓝牙设备进行数据交互的方法的流程图;
图2为单例类、工具类以及工具类的子类的继承关系示意图;
图3为本发明实施例提供的一种与蓝牙设备进行数据交互的装置的结构示意图。
具体实施方式
针对现有技术中存在的与蓝牙设备进行数据交互时,实例创建浪费时间过多的问题,本发明实施例提供了一种与蓝牙设备进行数据交互的方法及装置。
下面结合附图,对本发明实施例提供的与蓝牙设备进行数据交互的方法及装置的具体实施方式进行详细地说明。
如图1所示,本发明实施例提供的一种与蓝牙设备进行数据交互的方法,包括:
S101、通过蓝牙与至少一个蓝牙设备建立连接;
S102、确定连接的蓝牙设备中需要进行数据交互的特征;
S103、在单例模式下,与蓝牙设备进行数据交互,以更新确定出的特征。
本发明实施例提供的上述与蓝牙设备进行数据交互的方法,在与蓝牙设备进行交互的过程中,采用单例模式与蓝牙设备进行数据交互,能够保持实例化的唯一性,从而避免实例化过程中浪费过多时间。
在具体实施时,上述步骤可以在具有蓝牙功能的手机、电脑或平板电脑等终端中实现,优选为应用于ios系统的终端,例如苹果手机。上述蓝牙设备可以为任何具有蓝牙功能的手机、电脑或平板电脑等终端,也可以为蓝牙卡,蓝牙卡指的是一种基于蓝牙通讯的智能IC卡,可以内置电池,可取代常规的IC卡的功能,具备蓝牙功能,可和手机进行通讯,进行新品的读或写操作,并符合ios7816标准。
在具体实施时,本发明实施例提供的方法可以通过object-C编程实现,也可以使用其他编程实现,此处不做限定,具体可以通过执行以下步骤实现:
1、建立中心角色,也就是建立主控中心;
2、开始实现主控委托协议:
2.1扫描蓝牙外设(即蓝牙设备);
2.2连接蓝牙外设;
2.3、连接蓝牙外设失败;
2.4断开蓝牙外设连接;
3、开始实现受控委托协议:
3.1扫描到服务;
3.2扫描到特征;
3.3监听特征;
3.4与蓝牙外设做数据交互(读或写)更新特征。
具体地,本发明实施例提供的上述与蓝牙设备进行数据交互的方法中,上述步骤S103,具体包括:
在单例模式下,创建用于进行数据交互的工具类;
在装载工具类时,创建工具类的实例对象;
创建出的实例对象调用公有函数,以更新确定出的特征。
在与蓝牙设备进行数据交互的过程中,因为单例模式下创建的工具类确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。而业务需求上,蓝牙的数据交互非常频繁,在数据交互过程中,只需要一个实例化对象就可以完成该数据交互,无需多余的实例对象,因此,节约了大量时间,提高数据交互的速度。
此外,由于每次装载工具类时,都会创建实例对象,不管用不用都先创建出来,然后每次调用的时候就不用判断,因而也节省了运行时间。
更具体地,本发明实施例提供的上述与蓝牙设备进行数据交互的方法中,更新确定出的特征,具体包括:
将待写入的数据写入到确定出的特征中,或,读取特征中的数据。
上述进行数据交互一般可以包括对蓝牙设备进行数据写入,或者读取蓝牙设备中的数据。蓝牙设备中的特征是进行数据交互的最小单元,一般特征中包含多个键值对,一个键对应一个值,成对出现。在进行读或者写的操作实际上是对特征中键值对的改变。在进行数据交互时,需要获取特征的权限,即该特征是可读、可写或只读的,具有可写的权限,才能将待写入的数据写入到该特征中,具有可读的权限,才能读取特征中的数据。
进一步地,本发明实施例提供的上述与蓝牙设备进行数据交互的方法中,还包括(图中未示出):
步骤a、在装载工具类时,检查工具类是否存在实例对象;若存在,则继续使用实例对象,若不存在,则创建工具类的实例对象。
在单例模式下,并不需要每次都同步,所以在进入方法后主动创建实例,从而减少在不同步情况下实例是否存在,在同步块后,再次进行检查实例类,若存在,则无需创建,若不存在则创建,这样一来,就只需同步一次,减少了多次同步情况下进行判断所浪费的时间。
具体地,本发明实施例提供的上述与蓝牙设备进行数据交互的方法中,上述步骤S102,具体包括(图中未示出):
扫描蓝牙设备中的服务,确定需要进行数据交互的服务;
扫描确定出的服务中的特征,确定需要进行数据交互的特征。
一个蓝牙设备包括一个或多个服务,每一个服务又包括多个特征,所以需要先确定需要进行数据交互的服务,才能在确定的服务中找到需要进行数据交互的特征。
为了进一步说明本发明实施例提供的与蓝牙设备进行数据交互的方法,以下对单例类、工具类以及工具类的子类的继承性进行说明:
参照图2,单例模式就是只有一个实例,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类即单例类;继承于单例类的工具类继承了单例类的函数和属性,工具类的子类继承了工具类的函数和属性,所以工具类的子类也具有单例类的特点。由于单例类具有强制检查机制,即上述步骤a的功能,并且能够主动直接创建实例以及调用公有函数,因此,继承于单例类的工具类和工具类的子类有强制检查机制、主动创建实例以及调用公有函数的功能。
基于同一发明构思,本发明实施例提供了一种与蓝牙设备进行数据交互的装置。由于该装置解决问题的原理与上述方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
如图3所示,本发明实施例提供的一种与蓝牙设备进行数据交互的装置,包括:
连接单元201,用于通过蓝牙与至少一个蓝牙设备建立连接;
特征确定单元202,用于确定连接的蓝牙设备中需要进行数据交互的特征;
特征更新单元203,用于在单例模式下,与蓝牙设备进行数据交互,以更新确定出的特征。
具体地,本发明实施例提供的上述与蓝牙设备进行数据交互的装置中,特征更新单元203,具体用于:
在单例模式下,创建用于进行数据交互的工具类;
在装载工具类时,创建工具类的实例对象;
创建出的实例对象调用公有函数,以更新确定出的特征。
更具体地,本发明实施例提供的上述与蓝牙设备进行数据交互的装置中,特征更新单元203,具体包括:
将待写入的数据写入到确定出的特征中,或,读取特征中的数据。
进一步地,本发明实施例提供的上述与蓝牙设备进行数据交互的装置中,还包括:
检查单元,用于在装载工具类时,检查工具类是否存在实例对象;若存在,则继续使用实例对象,若不存在,则创建工具类的实例对象。
具体地,本发明实施例提供的上述与蓝牙设备进行数据交互的装置中,特征确定单元202,具体用于:
扫描蓝牙设备中的服务,确定需要进行数据交互的服务;
扫描确定出的服务中的特征,确定需要进行数据交互的特征。
本发明实施例提供的上述与蓝牙设备进行数据交互的方法及装置,在与蓝牙设备进行交互的过程中,采用单例模式与蓝牙设备进行数据交互,能过保持实例化的唯一性,从而避免实例化过程中浪费过多时间。在与蓝牙设备进行数据交互的过程中,因为单例模式下创建的工具类确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。而业务需求上,蓝牙的数据交互非常频繁,在数据交互过程中,只需要一个实例化对象就可以完成该数据交互,无需多余的实例对象,因此,节约了大量时间,提高数据交互的速度。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种与蓝牙设备进行数据交互的方法,其特征在于,包括:
通过蓝牙与至少一个蓝牙设备建立连接;
确定连接的所述蓝牙设备中需要进行数据交互的特征;
在单例模式下,与所述蓝牙设备进行数据交互,以更新确定出的所述特征;在进行数据交互时,还包括:获取所述特征的权限;
其中,所述在单例模式下,与所述蓝牙设备进行数据交互,以更新确定出的所述特征,具体包括:
在单例模式下,创建用于进行数据交互的工具类;
在装载所述工具类时,创建所述工具类的实例对象;
创建出的所述实例对象调用公有函数,以更新确定出的所述特征;
还包括:
在装载所述工具类时,检查所述工具类是否存在实例对象;若存在,则继续使用所述实例对象,若不存在,则创建所述工具类的实例对象。
2.如权利要求1所述的方法,其特征在于,所述更新确定出的所述特征,具体包括:
将待写入的数据写入到确定出的所述特征中,或,读取所述特征中的数据。
3.如权利要求1所述的方法,其特征在于,所述确定连接的所述蓝牙设备中需要进行数据交互的特征,具体包括:
扫描所述蓝牙设备中的服务,确定需要进行数据交互的服务;
扫描确定出的所述服务中的特征,确定需要进行数据交互的特征。
4.一种与蓝牙设备进行数据交互的装置,其特征在于,包括:
连接单元,用于通过蓝牙与至少一个蓝牙设备建立连接;
特征确定单元,用于确定连接的所述蓝牙设备中需要进行数据交互的特征;
特征更新单元,用于在单例模式下,与所述蓝牙设备进行数据交互,以更新确定出的所述特征;在进行数据交互时,还用于:获取所述特征的权限;
其中,所述特征更新单元,具体用于:
在单例模式下,创建用于进行数据交互的工具类;
在装载所述工具类时,创建所述工具类的实例对象;
创建出的所述实例对象调用公有函数,以更新确定出的所述特征;
还包括:
检查单元,用于在装载所述工具类时,检查所述工具类是否存在实例对象;若存在,则继续使用所述实例对象,若不存在,则创建所述工具类的实例对象。
5.如权利要求4所述的装置,其特征在于,所述特征更新单元,具体包括:
将待写入的数据写入到确定出的所述特征中,或,读取所述特征中的数据。
6.如权利要求4所述的装置,其特征在于,特征确定单元,具体用于:
扫描所述蓝牙设备中的服务,确定需要进行数据交互的服务;
扫描确定出的所述服务中的特征,确定需要进行数据交互的特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611073518.3A CN106603125B (zh) | 2016-11-29 | 2016-11-29 | 一种与蓝牙设备进行数据交互的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611073518.3A CN106603125B (zh) | 2016-11-29 | 2016-11-29 | 一种与蓝牙设备进行数据交互的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106603125A CN106603125A (zh) | 2017-04-26 |
CN106603125B true CN106603125B (zh) | 2021-06-08 |
Family
ID=58593977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611073518.3A Active CN106603125B (zh) | 2016-11-29 | 2016-11-29 | 一种与蓝牙设备进行数据交互的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106603125B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413620B (zh) * | 2018-09-03 | 2021-08-24 | 青岛海尔科技有限公司 | 管理能够与iOS设备进行通信的外部蓝牙设备的方法及装置 |
CN110968368B (zh) * | 2018-09-30 | 2022-05-13 | 武汉斗鱼网络科技有限公司 | 一种直播数据的处理方法及其相关设备 |
CN110113416B (zh) * | 2019-05-07 | 2020-08-07 | 北京字节跳动网络技术有限公司 | 用于展示信息的方法和装置 |
CN113407076A (zh) * | 2021-06-04 | 2021-09-17 | 荣耀终端有限公司 | 启动应用的方法及电子设备 |
CN117891442A (zh) * | 2024-02-03 | 2024-04-16 | 贵州送变电有限责任公司 | 一种基于面向对象的客户端程序软件架构设计方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104822127A (zh) * | 2015-03-09 | 2015-08-05 | 中国科学院信息工程研究所 | 一种蓝牙设备及其数据通道实时管控方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297099B (zh) * | 2013-06-26 | 2015-08-19 | 上海合合信息科技发展有限公司 | 蓝牙通信方法及蓝牙通信设备 |
-
2016
- 2016-11-29 CN CN201611073518.3A patent/CN106603125B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104822127A (zh) * | 2015-03-09 | 2015-08-05 | 中国科学院信息工程研究所 | 一种蓝牙设备及其数据通道实时管控方法和系统 |
Non-Patent Citations (3)
Title |
---|
iOS BLE蓝牙单例封装;开小飞;《https://www.jianshu.com/p/4d70f9eb92ae》;20160912;全文 * |
iOS蓝牙4.0使用;有个人叫小毅啊;《https://www.cnblogs.com/lyll139/p/5667208.html》;20160714;全文 * |
ios蓝牙使用总结;xy371661665;《https://blog.csdn.net/xy371661665/article/details/47103213》;20150728;步骤1-13 * |
Also Published As
Publication number | Publication date |
---|---|
CN106603125A (zh) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106603125B (zh) | 一种与蓝牙设备进行数据交互的方法及装置 | |
WO2018049888A1 (zh) | 应用数据的迁移方法及装置 | |
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
CN106940699B (zh) | 一种内存数据的同步处理方法、装置、服务器及系统 | |
CN108345462B (zh) | 组件升级的方法和装置 | |
CN111800462A (zh) | 微服务实例处理方法、装置、计算机设备及存储介质 | |
CN114661248B (zh) | 数据处理方法及装置 | |
US20200167150A1 (en) | Upgrading an execution environment for event-driven functions | |
CN111078506A (zh) | 业务数据跑批任务监控方法及装置 | |
CN110381150B (zh) | 区块链上的数据处理方法、装置、电子设备及存储介质 | |
CN111722857A (zh) | 软件开发工具包的更新方法、装置、电子设备及存储介质 | |
CN108733536B (zh) | 监控管理系统及方法 | |
CN112835639A (zh) | 一种Hook实现方法、装置、设备、介质及产品 | |
CN116737198A (zh) | 固件推送方法、装置、设备及存储介质 | |
CN112632032B (zh) | 一种数据迁移方法、装置、存储介质及终端设备 | |
CN112380411B (zh) | 敏感词处理方法、装置、电子设备、系统及存储介质 | |
CN113747423B (zh) | 云手机状态同步方法、装置、设备、存储介质及程序产品 | |
CN115277398A (zh) | 一种集群的网络配置方法和装置 | |
CN114510334A (zh) | 类实例的调用方法、装置、电子设备及自动驾驶车辆 | |
CN114546705A (zh) | 操作响应方法、操作响应装置、电子设备以及存储介质 | |
CN109783156B (zh) | 一种应用的启动控制方法及装置 | |
CN112764729A (zh) | 应用软件开发方法、装置、计算机设备及可读存储介质 | |
CN109857720B (zh) | 数据库表监控方法、装置、计算机装置及可读存储介质 | |
CN111324368A (zh) | 一种数据共享方法及服务器 | |
CN105867961A (zh) | 系统升降级的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |