- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
藍牙编程基础
在移动设备上,联网的方式很多,也存在了很大的差异,包括速度,有效范围等等因素都会对网络有不同的要求,本文我们就先分析一下Ophone平台上如何通过蓝牙进行网络连接,进而使用蓝牙来开发一些小的游戏或者应用,这里我们先从最基础的开始,首先学习蓝牙编程,我在查看了android sdk之后,发现蓝牙聊天这个示例基本上已经包含了所有的蓝牙基础知识,但是学习实例之前,我们有必要介绍一下蓝牙的基础知识,我大概浏览了一下,没有看到过多介绍蓝牙开发包的使用的文章,因此我们这里会对Ophone平台中蓝牙开发包进行一个详细的介绍,后面则会通过一个蓝牙聊天程序来进行实际开发。
蓝牙API在OPhone平台中,蓝牙api主要存在于android.bluetooth包中,它提供了皆如扫描设备、连接设备以及对设备间的数据传输进行管理的类,这些类对蓝牙设备进行功能性管理,蓝牙模块API提供的应用包括一下几个方面:?扫描其它蓝牙设备?通过查询本地蓝牙适配器来匹配蓝牙设备?建立RFCOMM(无线射频通信协议)的通道/端口?从其他的蓝牙设备中连接到指定的端口?传输数据到其他设备,或者从其他设备中接收数据如需运用这些API来执行蓝牙通信,应用程序必须声明BLUETOOTH许可。对于皆如寻找设备请求等的一些附加功能,也同样需要BLUETOOTH_ADMIN许可。比如本文所介绍的蓝牙聊天程序就包含了一下两个权限许可:
view plain?copy to clipboard?print??
uses-permission?android:name=android.permission.BLUETOOTH_ADMIN?/??
uses-permission?android:name=android.permission.BLUETOOTH?/??
在蓝牙包(android.bluetooth)中有存在了以下几个类和接口,下面我们看一下他们分别具有什么样的功能,如下表所示。
?
类\接口 功能描述 BluetoothAdapter 本地的蓝牙适配器设备 BluetoothClass 描述了设备通用特性和功能的蓝牙类 BluetoothClass.Device 定义了所有设备类的常量 BluetoothClass.Device.Major 定义了所有主要设备类的常量 BluetoothClass.Service 定义了所有服务类的常量 BluetoothDevice 代表一个远程的蓝牙设备 BluetoothServerSocket 监听蓝牙服务的端口 BluetoothSocket 一个双向连接的蓝牙端口socket BluetoothAdapter本地的蓝牙适配器。该类主要用来操作蓝牙的基本服务。比如:初始化设备的可见,查询可匹配的设备集,使用一个已知的MAC地址来初始化一个BluetoothDevice类,创建一个BluetoothServerSocket类以监听其它设备对本机的连接请求等。如果要获得本地蓝牙适配器,只有一个唯一的方式就是调用getDefaultAdapter()函数,同时也只有获得了蓝牙适配器之后才能进一步的操作!下面我们将本地蓝牙适配器的api整理成以下一个表格。
?
那么上面的表中所列出的都是一些常用的操作,我们在稍后实现蓝牙聊天程序时,都会介绍如何详细的使用这些api。通常我们在使用一下代码请求使用蓝牙时,会弹出一个权限对话框,如图14-1所示。
view plain?copy to clipboard?print??
Intent?enableBtIntent?=?new?Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);??
startActivityForResult(enableBtIntent,?REQUEST_ENABLE_BT);??
图14-1 请求使用蓝牙的权限
当我们在使用ACTION_REQUEST_DISCOVERABLE来请求蓝牙可见状态时,也会弹出一个对话框来让用户确认,如图14-2所示。请求蓝牙可见代码如下:
view plain?copy to clipboard?print??
Intent?discoverableIntent?=?new??
Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);??
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,?300);??
startActivity(discoverableIntent);??
图14-2 请求蓝牙可见
您可能关注的文档
最近下载
- 翼状胬肉的护理查房-PPT.ppt
- 2022年应急管理工作应知应会知识竞赛题库(含答案).pdf
- 全民微信时代增进了VS减弱了人与人之间的交流辩论赛 正方辩词一辩、二辩、三辩、四辩发言稿.docx
- 超星网课尔雅《人人学点营销学》尔雅答案2022章节测试答案.docx
- 2019CSP-J NOIP普及组初赛C++试卷.pdf VIP
- 2024年《城镇燃气管理条例题库》考试题库(含答案).pdf VIP
- 必威体育精装版浙教版八年级上册劳动技术 项目三 任务二《打蛋器的制作》课件(课件).pptx
- 纪律意识方面存在不足及措施4篇.pdf
- 消防安全教育PPT课件.pptx VIP
- 《新中国成立75周年》全文课件.ppt VIP
文档评论(0)