国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Eclipse 開發(fā)環(huán)境中Android 應(yīng)用程序獲取藍(lán)牙設(shè)備過程研究與實(shí)現(xiàn)

2014-01-20 03:24:50
關(guān)鍵詞:適配器藍(lán)牙應(yīng)用程序

徐 麗 仙

(揚(yáng)州職業(yè)大學(xué),江蘇 揚(yáng)州 225009)

物聯(lián)網(wǎng)技術(shù)的應(yīng)用與普及正在我國蓬勃興起,互聯(lián)技術(shù)作為物聯(lián)網(wǎng)技術(shù)的核心,在物和物之間進(jìn)行信息通訊。無線互聯(lián)技術(shù)如3G、4G、藍(lán)牙、無線局域網(wǎng)(WLAN)、紅外技術(shù)等由于其方便、快捷和靈活等特點(diǎn),出現(xiàn)在物聯(lián)網(wǎng)應(yīng)用中。這些技術(shù)都有各自的優(yōu)勢特點(diǎn),藍(lán)牙技術(shù)應(yīng)用于低功耗、低成本、近距離無線數(shù)據(jù)傳輸,采用全球統(tǒng)一的頻段設(shè)定,更加靈活地提供物與物間的信息通信[1]。因此,在基于Android 操作系統(tǒng)的應(yīng)用程序中,利用設(shè)備中的藍(lán)牙模塊實(shí)現(xiàn)數(shù)據(jù)交互功能,其應(yīng)用領(lǐng)域包括文件傳輸、工業(yè)控制、智能家用電器等。

1 Eclipse 開發(fā)環(huán)境的搭建

系統(tǒng)開發(fā)環(huán)境采用的是Eclipse 所提供的框架服務(wù)[2]。它是一個(gè)開放源碼,基于Java 設(shè)計(jì)語言構(gòu)建的可擴(kuò)展性平臺(tái)。為了能夠滿足開發(fā)需求,必須對(duì)其環(huán)境進(jìn)行配置。

1.1 安裝JDK

JDK 即Java Development Kit,是Java 程序運(yùn)行的基礎(chǔ),提供了Java 運(yùn)行環(huán)境、工具和基礎(chǔ)類等。

1.2 安裝ADT

ADT 即Android Development Tools,它在Eclipse 環(huán)境下,為開發(fā)人員提供基于Android 操作系統(tǒng)進(jìn)行程序開發(fā)的工具服務(wù),如開發(fā)工具的升級(jí)下載等。

1.3 安裝SDK

SDK 即Software Development Kit,是基于Android 開發(fā)工具包集合的特定軟件包。提供了運(yùn)行程序要求的庫文件、所需環(huán)境和開發(fā)工具。該工具已提供給開發(fā)人員,開發(fā)人員根據(jù)需要到Google 官方網(wǎng)站下載相應(yīng)版本并進(jìn)行安裝。

2 藍(lán)牙基本相關(guān)類

在Android SDK 包中含有多個(gè)與藍(lán)牙操作相關(guān)的API 接口類,其主要作用見表1。

表1 藍(lán)牙相關(guān)類及說明

其中BluetoothAdapter 類和BluetoothDevice類是實(shí)現(xiàn)藍(lán)牙設(shè)備間建立通信機(jī)制的最主要類。

2.1 BluetoothAdapter 類

該類是代表本地藍(lán)牙適配器的類,用于執(zhí)行基本的藍(lán)牙操作任務(wù),如搜索并發(fā)現(xiàn)設(shè)備,查詢已配對(duì)設(shè)備,通過獲得的MAC 地址實(shí)例化藍(lán)牙設(shè)備,同時(shí)創(chuàng)建BluetoothServerSocket,用于監(jiān)聽其它設(shè)備的連接請(qǐng)求[3]。

一般通過調(diào)用靜態(tài)的getdefaultadapter()方法來獲得BluetoothAdapter 表示的本地藍(lán)牙適配器;然后通過getbondeddevices()方法得到一組已配對(duì)的藍(lán)牙設(shè)備;使用startDiscovery()方法搜索藍(lán)牙設(shè)備;或創(chuàng)建bluetoothserversocke 用于監(jiān)聽新的連接請(qǐng)求。但是這些方法基本都需要得到BLUETOOTH 或BLUETOOTH-ADMIN 許 可 才 能實(shí)現(xiàn),這就必須要在相應(yīng)文件中進(jìn)行相關(guān)聲明。

2.2 BluetoothDevice 類

該類代表的是遠(yuǎn)程藍(lán)牙設(shè)備,同時(shí)也需要得到藍(lán)牙許可。BluetoothDevice 類可創(chuàng)建設(shè)備并可查詢?nèi)缑Q、地址、類和連接狀態(tài)等相關(guān)信息。通過創(chuàng)建BluetoothDevice 的BluetoothAdapter 對(duì)象,用于實(shí)現(xiàn)對(duì)遠(yuǎn)程藍(lán)牙設(shè)備地址的操作。

當(dāng)使用BluetoothAdapter 獲得藍(lán)牙設(shè)備后,通常采用getRemoteDevice()方法創(chuàng)建一個(gè)已知MAC 地址的代表設(shè)備,也可從BluetoothAdapter和getBondedDevices()方法返回的已綁定的設(shè)備中得到它。最后使用createRfcommSocketToServiceRecord(UUID)方法建立與遠(yuǎn)程設(shè)備通信的BluetoothSocket。

3 過程及實(shí)現(xiàn)

3.1 權(quán)限申明

在Eclipse 開發(fā)環(huán)境中,利用藍(lán)牙相關(guān)的類實(shí)現(xiàn)藍(lán)牙功能,首先必須在Eclipse 的AndroidManifest.xml 配置文件中進(jìn)行授權(quán)聲明,否則不能完成后面的相應(yīng)操作[4]。聲明代碼如下:

3.2 獲取以配對(duì)藍(lán)牙設(shè)備

當(dāng)兩個(gè)藍(lán)牙設(shè)備進(jìn)行手動(dòng)配對(duì)成功后,在應(yīng)用程序中獲取已配對(duì)的對(duì)方藍(lán)牙設(shè)備名稱,其主要過程有四個(gè)步驟,見圖1。

為了能夠在應(yīng)用程序中通過事件觸發(fā)程序運(yùn)行,在項(xiàng)目的XML 布局文件添加一個(gè)按鈕控件,添加其id 為searchBluetoothButton,Text。

屬性設(shè)置為“開始掃描藍(lán)牙設(shè)備”。并且要在Activity[5]的Java 文件的OnCreate()方法中得到該按鈕(該方法在Activity 第一次調(diào)用時(shí)就會(huì)被創(chuàng)建),并通過調(diào)用ButtonListener 監(jiān)聽器類的功能與監(jiān)聽器進(jìn)行綁定。ButtonListener 類就是用來實(shí)現(xiàn)已配對(duì)藍(lán)牙設(shè)備獲取功能的。最后就可在監(jiān)聽器類中實(shí)現(xiàn)藍(lán)牙設(shè)備的獲取。

圖1 設(shè)備獲取過程

獲取按鈕和綁定監(jiān)聽器代碼如下:

ButtonListener 類繼承于父類OnClickListener,過程在該類的onClick 方法中實(shí)現(xiàn)。

用方法getDefaultAdapter()得到BluetoothAdapter 對(duì)象并命名為Btadapter。該對(duì)象是指應(yīng)用程序所運(yùn)行的本機(jī)的藍(lán)牙設(shè)備。由于該API 支持多個(gè)本地藍(lán)牙設(shè)備,而當(dāng)前Android 系統(tǒng)只能支持一個(gè),所以只能返回一個(gè)默認(rèn)的藍(lán)牙適配器。當(dāng)本地?fù)碛袝r(shí)則返回默認(rèn)藍(lán)牙適配器,如硬件平臺(tái)不支持時(shí)返回值為空。

如返回不為null,通過isEnable()判斷藍(lán)牙設(shè)備是否可用,返回true 表示可用。接著創(chuàng)建一個(gè)Intent 對(duì)象,啟動(dòng)用于提示并允許用戶開啟藍(lán)牙設(shè)備的Activity (ACTION-REQUEST-ENABLE)。

獲取所有與本地藍(lán)牙適配器已配對(duì)(綁定)的遠(yuǎn)程藍(lán)牙適配器,并放入set 集合中。當(dāng)出現(xiàn)錯(cuò)誤時(shí)則返回null。

使用迭代器的next()方法依次獲取遠(yuǎn)程藍(lán)牙設(shè)備的地址,以便對(duì)藍(lán)牙設(shè)備進(jìn)行相關(guān)操作。在本例中為了能夠更加直觀地得到所獲取的地址,在程序中將所有地址進(jìn)行了輸出處理。

4 結(jié)論

藍(lán)牙設(shè)備地址的獲取是建立藍(lán)牙通信的前提和基礎(chǔ),本文主要研究了生成BluetoothAdapter 對(duì)象,藍(lán)牙設(shè)備掃描,判斷和開啟藍(lán)牙設(shè)備,獲取對(duì)方藍(lán)牙設(shè)備地址等過程。并在Eclipse 開發(fā)環(huán)境下,使用Android SDK 中提供的相關(guān)類實(shí)現(xiàn)此功能。為以Eclipse 平臺(tái)進(jìn)行Android 系統(tǒng)開發(fā)的人員,在更多與藍(lán)牙應(yīng)用相關(guān)的開發(fā)中提供一些實(shí)際參考。

[1] 鮑曉娟,曹樹偉.藍(lán)牙技術(shù)淺析[J].赤峰學(xué)院學(xué)報(bào):自然科學(xué)版,2013(24):21 -22.

[2] 焦健.Eclipse 下Android 環(huán)境的搭建[J].信息與電腦:理論版,2012(6):33 -34.

[3] 陳志崇,張祺.基于Android 的藍(lán)牙通信接口[J].電子世界,2013(6):16 -17.

[4] 馮艷紅,何加銘.基于Android 藍(lán)牙技術(shù)的健康服務(wù)系統(tǒng)設(shè)計(jì)[J].無線電通信技術(shù),2014(1):61 -64.

[5] 張晶. 基于Android 環(huán)境的應(yīng)用程序開發(fā)與研究[J].硅谷,2012(7):80 -81.

猜你喜歡
適配器藍(lán)牙應(yīng)用程序
藍(lán)牙音箱的直線之美
刪除Win10中自帶的應(yīng)用程序
簡單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
適配器模式及其應(yīng)用
電子測試(2017年11期)2017-12-15 08:57:45
新型水文測驗(yàn)GPS適配器設(shè)計(jì)與應(yīng)用
緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
玩具世界(2017年8期)2017-02-06 03:01:38
基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
地礦測繪(2015年3期)2015-12-22 06:27:26
美國麥格普公司新型M—LOK相機(jī)三腳架適配器
輕兵器(2015年20期)2015-09-10 07:22:44
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
辽阳市| 筠连县| 佛学| 临潭县| 敦煌市| 定西市| 海林市| 甘泉县| 淮南市| 宜兰市| 青州市| 罗山县| 班玛县| 泸西县| 永德县| 浪卡子县| 宁化县| 邓州市| 丰县| 涟水县| 平和县| 深州市| 曲靖市| 兖州市| 准格尔旗| 马公市| 喀什市| 鹤山市| 邮箱| 漳平市| 米林县| 方正县| 奎屯市| 昆山市| 五指山市| 张家口市| 长葛市| 九寨沟县| 策勒县| 积石山| 新和县|