预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Android平台支持蓝牙网络协议栈,实现蓝牙设备之间数据得无线传输。本文档描述了怎样利用android平台提供得蓝牙API去实现蓝牙设备之间得通信,蓝牙设备之间得通信主要包括了四个步骤:设置蓝牙设备;寻找局域网内可能或者匹配得设备;连接设备;设备之间得数据传输。以下就是建立蓝牙连接得所需要得一些基本类:BluetoothAdapter类:代表了一个本地得蓝牙适配器。她就是所有蓝牙交互得得入口点。利用它您可以发现其她蓝牙设备,查询绑定了得设备,使用已知得MAC地址实例化一个蓝牙设备与建立一个BluetoothServerSocket(作为服务器端)来监听来自其她设备得连接.BluetoothDevice类:代表了一个远端得蓝牙设备,使用它请求远端蓝牙设备连接或者获取远端蓝牙设备得名称、地址、种类与绑定状态。(其信息就是封装在bluetoothsocket中)。Bluetoothsocket类:代表了一个蓝牙套接字得接口(类似于tcp中得套接字),她就是应用程序通过输入、输出流与其她蓝牙设备通信得连接点。Blueboothserversocket类:代表打开服务连接来监听可能到来得连接请求(属于server端),为了连接两个蓝牙设备必须有一个设备作为服务器打开一个服务套接字。当远端设备发起连接请求得时候,并且已经连接到了得时候,Blueboothserversocket类将会返回一个bluetoothsocket。Bluetoothclass类:描述了一个蓝牙设备得一般特点与能力。她得只读属性集定义了设备得主、次设备类与一些相关服务。然而,她并没有准确得描述所有该设备所支持得蓝牙文件与服务,而就是作为对设备种类来说得一个小小暗示。下面说说具体得编程实现:首先,要操作蓝牙,先要在AndroidManifest、xml里加入权限〈uses—permissionandroid:name="android、permission、BLUETOOTH_ADMIN"/〉〈uses-permissionandroid:name=”android、permission、BLUETOOTH”/>其次,必须确定您得设备支持蓝牙,并保证她可以用。如果您得设备支持蓝牙,将它使能。当然,有两种方法,一种就是在您得系统设置里开启蓝牙,另外一中就是在您得应用程序里启动蓝牙功能,第一种方法就不讲了,具体讲一个第二种方法:首先通过调用静态方法getDefaultAdapter()获取蓝牙适配器bluetoothadapter,以后您就可以使用该对象了。如果返回为空,thestoryisover。BluetoothAdaptermBluetoothAdapter=BluetoothAdapter、getDefaultAdapter();if(mBluetoothAdapter==null){//DevicedoesnotsupportBluetooth}其次,调用isEnabled()来查询当前蓝牙设备得状态,如果返回为false,则表示蓝牙设备没有开启,接下来您需要封装一个ACTION_REQUEST_ENABLE请求到intent里面,调用startActivityForResult()方法使能蓝牙设备,例如:if(!mBluetoothAdapter、isEnabled()){IntentenableBtIntent=newIntent(BluetoothAdapter、ACTION_REQUEST_ENABLE);startActivityForResult(enableBtIntent,REQUEST_ENABLE_BT);}至此,如不出意外,恭喜您得蓝牙设备已经开启了,接下来需要查找周边可能存在得蓝牙设备了。查找设备:使用bluetoothadapter类里得方法,您可以查找远端设备(不过蓝牙查找得范围好像就是在十米以内吧)或者查询在您手机上已经匹配(或者说绑定)得其她手机了。当然需要确定对方蓝牙设备已经开启或者已经开启了“被发现使能“功能(对方设备就是可以被发现得就是您能够发起连接得前提条件)。如果该设备就是可以被发现得,会反馈回来一些对方得设备信息,比如名字、MAC地址等,利用这些信息,您得设备就可以选择去向对方初始化一个连接。如果您就是第一次与该设备连接,那么一个配对得请求就会自动得显示给用户.当设备配对好之后,她得一些基本信息(主要就是名字与MAC)被保存下来并可以使用蓝牙得API来读取。使用已知得MAC地址就可以对远端得蓝牙设备发起连接请求。匹配好得设备与连接上得设备得不同点:匹配好只就是说明对方设备发现了您得存在,并拥有一个共同得识别码,并且可以连接。连接上:表示当前设备共享一个R