• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Eclipse 開發(fā)環(huán)境中Android 應(yīng)用程序獲取藍(lán)牙設(shè)備過(guò)程研究與實(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)用與普及正在我國(guó)蓬勃興起,互聯(lián)技術(shù)作為物聯(lián)網(wǎng)技術(shù)的核心,在物和物之間進(jìn)行信息通訊。無(wú)線互聯(lián)技術(shù)如3G、4G、藍(lán)牙、無(wú)線局域網(wǎng)(WLAN)、紅外技術(shù)等由于其方便、快捷和靈活等特點(diǎn),出現(xiàn)在物聯(lián)網(wǎng)應(yīng)用中。這些技術(shù)都有各自的優(yōu)勢(shì)特點(diǎn),藍(lán)牙技術(shù)應(yīng)用于低功耗、低成本、近距離無(wú)線數(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ì)語(yǔ)言構(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)行程序要求的庫(kù)文件、所需環(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 接口類,其主要作用見(jiàn)表1。

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

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

      2.1 BluetoothAdapter 類

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

      一般通過(guò)調(diào)用靜態(tài)的getdefaultadapter()方法來(lái)獲得BluetoothAdapter 表示的本地藍(lán)牙適配器;然后通過(guò)getbondeddevices()方法得到一組已配對(duì)的藍(lán)牙設(shè)備;使用startDiscovery()方法搜索藍(lán)牙設(shè)備;或創(chuàng)建bluetoothserversocke 用于監(jiān)聽(tīng)新的連接請(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)信息。通過(guò)創(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 過(guò)程及實(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è)備名稱,其主要過(guò)程有四個(gè)步驟,見(jiàn)圖1。

      為了能夠在應(yīng)用程序中通過(guò)事件觸發(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)建),并通過(guò)調(diào)用ButtonListener 監(jiān)聽(tīng)器類的功能與監(jiān)聽(tīng)器進(jìn)行綁定。ButtonListener 類就是用來(lái)實(shí)現(xiàn)已配對(duì)藍(lán)牙設(shè)備獲取功能的。最后就可在監(jiān)聽(tīng)器類中實(shí)現(xiàn)藍(lán)牙設(shè)備的獲取。

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

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

      ButtonListener 類繼承于父類OnClickListener,過(guò)程在該類的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,通過(guò)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è)備地址等過(guò)程。并在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].無(wú)線電通信技術(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)用程序
      簡(jiǎn)單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
      適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
      適配器模式及其應(yīng)用
      新型水文測(cè)驗(yàn)GPS適配器設(shè)計(jì)與應(yīng)用
      緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
      玩具世界(2017年8期)2017-02-06 03:01:38
      基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
      美國(guó)麥格普公司新型M—LOK相機(jī)三腳架適配器
      輕兵器(2015年20期)2015-09-10 07:22:44
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      邯郸市| 永新县| 南城县| 刚察县| 洛扎县| 高邮市| 聂荣县| 海兴县| 浪卡子县| 晋州市| 惠东县| 商南县| 滦平县| 大兴区| 高唐县| 五家渠市| 安泽县| 新丰县| 马尔康县| 麟游县| 凤山市| 长宁区| 阿鲁科尔沁旗| 屏山县| 松潘县| 桂阳县| 临颍县| 台南县| 香格里拉县| 道真| 沙雅县| 重庆市| 正阳县| 广饶县| 丹东市| 赣州市| 万荣县| 融水| 东乌珠穆沁旗| 芦溪县| 银川市|