android藍(lán)牙開(kāi)發(fā)簡(jiǎn)介

android藍(lán)牙開(kāi)發(fā)簡(jiǎn)介

ID:37492236

大小:39.50 KB

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

時(shí)間:2019-05-24

android藍(lán)牙開(kāi)發(fā)簡(jiǎn)介_(kāi)第1頁(yè)
android藍(lán)牙開(kāi)發(fā)簡(jiǎn)介_(kāi)第2頁(yè)
android藍(lán)牙開(kāi)發(fā)簡(jiǎn)介_(kāi)第3頁(yè)
android藍(lán)牙開(kāi)發(fā)簡(jiǎn)介_(kāi)第4頁(yè)
android藍(lán)牙開(kāi)發(fā)簡(jiǎn)介_(kāi)第5頁(yè)
資源描述:

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

1、對(duì)于一般的軟件開(kāi)發(fā)人員來(lái)說(shuō),藍(lán)牙是很少用到的,尤其是Android的藍(lán)牙開(kāi)發(fā),國(guó)內(nèi)的例子很少????Android對(duì)于藍(lán)牙開(kāi)發(fā)從2.0版本的sdk才開(kāi)始支持,而且模擬器不支持,測(cè)試至少需要兩部手機(jī),所以制約了很多技術(shù)人員的開(kāi)發(fā),剛巧這段時(shí)間公司有藍(lán)牙開(kāi)發(fā)的需求,我看了很多國(guó)內(nèi)、國(guó)外的資料,又研究了一下J2ME的藍(lán)牙開(kāi)發(fā)(為了找找思路),雖然我想要的功能還沒(méi)實(shí)現(xiàn)(我曾經(jīng)在很多論壇里問(wèn)了很多遍,苦于沒(méi)有高人解答..),我要實(shí)現(xiàn)的功能是連接一個(gè)硬件設(shè)備,凡是跟硬件沾上邊的,都讓軟件人員開(kāi)發(fā)頭疼..好了,

2、廢話不說(shuō)了,鑒于很多開(kāi)發(fā)人員現(xiàn)在也有藍(lán)牙開(kāi)發(fā)的需求,也為了大家少走些彎路,先將我積攢的一點(diǎn)點(diǎn)在Android藍(lán)牙開(kāi)發(fā)經(jīng)驗(yàn)與大家分享一下!首先,要操作藍(lán)牙,先要在AndroidManifest.xml里加入權(quán)限然后,看下api,Android所有關(guān)

3、于藍(lán)牙開(kāi)發(fā)的類都在android.bluetooth包下,如下圖,只有8個(gè)類??????????而我們需要用到了就只有幾個(gè)而已:??1.BluetoothAdapter顧名思義,藍(lán)牙適配器,直到我們建立bluetoothSocket連接之前,都要不斷操作它????BluetoothAdapter里的方法很多,常用的有以下幾個(gè):????cancelDiscovery()根據(jù)字面意思,是取消發(fā)現(xiàn),也就是說(shuō)當(dāng)我們正在搜索設(shè)備的時(shí)候調(diào)用這個(gè)方法將不再繼續(xù)搜索????disable()關(guān)閉藍(lán)牙????ena

4、ble()打開(kāi)藍(lán)牙,這個(gè)方法打開(kāi)藍(lán)牙不會(huì)彈出提示,更多的時(shí)候我們需要問(wèn)下用戶是否打開(kāi),一下這兩行代碼同樣是打開(kāi)藍(lán)牙,不過(guò)會(huì)提示用戶:Intemtenabler=newIntent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivityForResult(enabler,reCode);//同startActivity(enabler);????getAddress()獲取本地藍(lán)牙地址????getDefaultAdapter()獲取默認(rèn)Bluet

5、oothAdapter,實(shí)際上,也只有這一種方法獲取BluetoothAdapter????getName()獲取本地藍(lán)牙名稱????getRemoteDevice(Stringaddress)根據(jù)藍(lán)牙地址獲取遠(yuǎn)程藍(lán)牙設(shè)備????getState()獲取本地藍(lán)牙適配器當(dāng)前狀態(tài)(感覺(jué)可能調(diào)試的時(shí)候更需要)????isDiscovering()判斷當(dāng)前是否正在查找設(shè)備,是返回true????isEnabled()判斷藍(lán)牙是否打開(kāi),已打開(kāi)返回true,否則,返回false????listenUsingR

6、fcommWithServiceRecord(Stringname,UUIDuuid)根據(jù)名稱,UUID創(chuàng)建并返回BluetoothServerSocket,這是創(chuàng)建BluetoothSocket服務(wù)器端的第一步????startDiscovery()開(kāi)始搜索,這是搜索的第一步??2.BluetoothDevice看名字就知道,這個(gè)類描述了一個(gè)藍(lán)牙設(shè)備????createRfcommSocketToServiceRecord(UUIDuuid)根據(jù)UUID創(chuàng)建并返回一個(gè)BluetoothSocke

7、t這個(gè)方法也是我們獲取BluetoothDevice的目的——?jiǎng)?chuàng)建BluetoothSocket這個(gè)類其他的方法,如getAddress(),getName(),同BluetoothAdapter??3.BluetoothServerSocket如果去除了Bluetooth相信大家一定再熟悉不過(guò)了,既然是Socket,方法就應(yīng)該都差不多,這個(gè)類一種只有三個(gè)方法兩個(gè)重載的accept(),accept(inttimeout)兩者的區(qū)別在于后面的方法指定了過(guò)時(shí)時(shí)間,需要注意的是,執(zhí)行這兩個(gè)方法的時(shí)候,

8、直到接收到了客戶端的請(qǐng)求(或是過(guò)期之后),都會(huì)阻塞線程,應(yīng)該放在新線程里運(yùn)行!還有一點(diǎn)需要注意的是,這兩個(gè)方法都返回一個(gè)BluetoothSocket,最后的連接也是服務(wù)器端與客戶端的兩個(gè)BluetoothSocket的連接????close()這個(gè)就不用說(shuō)了吧,翻譯一下——關(guān)閉!??4.BluetoothSocket,跟BluetoothServerSocket相對(duì),是客戶端一共5個(gè)方法,不出意外,都會(huì)用到????close(),關(guān)閉????connect()連接????getI

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

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(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)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。