Android藍(lán)牙開發(fā)(整理)

Android藍(lán)牙開發(fā)(整理)

ID:43340436

大小:386.00 KB

頁(yè)數(shù):25頁(yè)

時(shí)間:2019-10-01

Android藍(lán)牙開發(fā)(整理)_第1頁(yè)
Android藍(lán)牙開發(fā)(整理)_第2頁(yè)
Android藍(lán)牙開發(fā)(整理)_第3頁(yè)
Android藍(lán)牙開發(fā)(整理)_第4頁(yè)
Android藍(lán)牙開發(fā)(整理)_第5頁(yè)
資源描述:

《Android藍(lán)牙開發(fā)(整理)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、...Android藍(lán)牙開發(fā)學(xué)習(xí)之前先了解兩個(gè)基本概念:1.RFCOMM協(xié)議:一個(gè)基于歐洲電信標(biāo)準(zhǔn)協(xié)會(huì)ETSI07.10規(guī)程的串行線性仿真協(xié)議。此協(xié)議提供RS232控制和狀態(tài)信號(hào),如基帶上的損壞,CTS以及數(shù)據(jù)信號(hào)等,為上層業(yè)務(wù)(如傳統(tǒng)的串行線纜應(yīng)用)提供了傳送能力。RFCOMM是一個(gè)簡(jiǎn)單傳輸協(xié)議,其目的是針對(duì)如何在兩個(gè)不同設(shè)備上的應(yīng)用之間保證一條完整的通信路徑,并在它們之間保持一通信段。RFCOMM是為了兼容傳統(tǒng)的串口應(yīng)用,同時(shí)取代有線的通信方式,藍(lán)牙協(xié)議棧需要提供與有線串口一致的通信接口而開發(fā)出的協(xié)議。RFC

2、OMM協(xié)議提供對(duì)基于L2CAP協(xié)議的串口仿真,基于ETSI07.10??芍С衷趦蓚€(gè)BT設(shè)備之間同時(shí)保持高達(dá)60路的通信連接。RFCOMM只針對(duì)直接互連設(shè)備之間的連接,或者是設(shè)備與網(wǎng)絡(luò)接入設(shè)備之間的互連。通信兩端設(shè)備必須兼容于RFCOMM協(xié)議,有兩類設(shè)備:DTE(DataTerminalEndpoint,通信終端,如PC,PRINTER)和DCE(DataCircuitEndpoint,通信段的一部分,如Modem)。此兩類設(shè)備不作區(qū)分。2.MAC硬件地址MAC(Medium/MediaAccessControl,

3、介質(zhì)訪問控制)MAC地址是燒錄在NetworkInterfaceCard(網(wǎng)卡,NIC)里的.MAC地址,也叫硬件地址,是由48比特長(zhǎng)(6字節(jié)),16進(jìn)制的數(shù)字組成.0-23位叫做組織唯一標(biāo)志符(organizationallyunique,是識(shí)別LAN(局域網(wǎng))節(jié)點(diǎn)的標(biāo)識(shí).24-47位是由廠家自己分配。其中第40位是組播地址標(biāo)志位。網(wǎng)卡的物理地址通常是由網(wǎng)卡生產(chǎn)廠家燒入網(wǎng)卡的EPROM(一種閃存芯片,通??梢酝ㄟ^程序擦寫),它存儲(chǔ)的是傳輸數(shù)據(jù)時(shí)真正賴以標(biāo)識(shí)發(fā)出數(shù)據(jù)的電腦和接收數(shù)據(jù)的主機(jī)的地址。Android平臺(tái)

4、提供的藍(lán)牙API去實(shí)現(xiàn)藍(lán)牙設(shè)備之間的通信,藍(lán)牙設(shè)備之間的通信主要包括了四個(gè)步驟:設(shè)置藍(lán)牙設(shè)備、尋找局域網(wǎng)內(nèi)可能或者匹配的設(shè)備、連接設(shè)備和設(shè)備之間的數(shù)據(jù)傳輸。以下是建立藍(lán)牙連接的所需要的一些基本類:BluetoothAdapter類:代表了一個(gè)本地的藍(lán)牙適配器。它是所有藍(lán)牙交互的的入口點(diǎn)。利用它你可以發(fā)現(xiàn)其他藍(lán)牙設(shè)備,查詢綁定了的設(shè)備,使用已知的MAC地址實(shí)例化一個(gè)藍(lán)牙設(shè)備和建立一個(gè)BluetoothServerSocket(作為服務(wù)器端)來監(jiān)聽來自其他設(shè)備的連接。BluetoothDevice類:代表了一個(gè)遠(yuǎn)端的

5、藍(lán)牙設(shè)備,使用它請(qǐng)求遠(yuǎn)端藍(lán)牙設(shè)備連接或者獲取遠(yuǎn)端藍(lán)牙設(shè)備的名稱、地址、種類和綁定狀態(tài)(其信息是封裝在BluetoothSocket中)。BluetoothSocket類:代表了一個(gè)藍(lán)牙套接字的接口(類似于TCP中的套接字),它是應(yīng)用程序通過輸入、輸出流與其他藍(lán)牙設(shè)備通信的連接點(diǎn)。BlueboothServerSocket類:代表打開服務(wù)連接來監(jiān)聽可能到來的連接請(qǐng)求(屬于server端),為了連接兩個(gè)藍(lán)牙設(shè)備必須有一個(gè)設(shè)備作為服務(wù)器打開一個(gè)服務(wù)套接字。當(dāng)遠(yuǎn)端設(shè)備發(fā)起連接連接請(qǐng)求的時(shí)候,并且已經(jīng)連接到了的時(shí)候,Blu

6、eboothServerSocket類將會(huì)返回一個(gè)BluetoothSocket。BluetoothClass類:描述了一個(gè)藍(lán)牙設(shè)備的一般特點(diǎn)和能力。它的只讀屬性集定義了設(shè)備的主、次設(shè)備類和一些相關(guān)服務(wù)。然而,它并沒有準(zhǔn)確地描述所有該設(shè)備所支持的藍(lán)牙文件和服務(wù),而是作為對(duì)設(shè)備種類來說的一個(gè)小小暗示。參考學(xué)習(xí)...要操作藍(lán)牙,先要在AndroidManifest.xml里加入權(quán)限:<

7、uses-permissionandroid:name="android.permission.BLUETOOTH"/>Android所有關(guān)于藍(lán)牙開發(fā)的類都在android.bluetooth包下,只有8個(gè)類。常用的四個(gè)類如下所示:1.BluetoothAdapter藍(lán)牙適配器,直到我們建立BluetoothSocket連接之前,都要不斷操作它。BluetoothAdapter里的方法很多,常用的有以下幾個(gè):cancelDiscovery()取消發(fā)現(xiàn),也就是說當(dāng)我們正在搜索設(shè)備的時(shí)候調(diào)用這個(gè)方法將不再繼續(xù)搜索di

8、sable()關(guān)閉藍(lán)牙enable()打開藍(lán)牙,這個(gè)方法打開藍(lán)牙不會(huì)彈出提示,更多的時(shí)候我們需要問下用戶是否打開,以下兩行代碼同樣是打開藍(lán)牙,但會(huì)提示用戶:Intentenabler=newIntent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivityForResult(enabler,reCode);//同sta

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。