張紅雨+張宇峰+馬俊
摘 要:在開放技術支持下,藍牙技術已經成為無線局域網和便攜設備網絡的延伸,尤其是在智能手機上的應用,通過藍牙技術手機可以與周邊事物進行無線連接,實現信息交互。文章基于Android Studio開發工具,進行藍牙界面設計和藍牙通信功能調用,實現了安卓手機與藍牙設備之間的無線連接。
關鍵詞:Android Studio;藍牙通信;客戶端
中圖分類號:TN914 文獻標志碼:A 文章編號:2095-2945(2017)21-0018-02
引言
目前藍牙4.0技術已經相對完善,而且具有功耗低,穩定性高,傳輸距離較遠,數度較快等特點。一大批無線設備開始使用藍牙來進行通信,各種藍牙設備應用而生。市場上各種可穿戴設備如智能跑鞋、智能手表、智能眼鏡等基本都使用藍牙與手機進行通信。這些藍牙設備在市場售賣后,獲得了極大認可,藍牙通信技術功不可沒。
近幾年由于Android開發應用非常火,谷歌開發了一套屬于自己的開發程序Android Studio。Android Studio具有許多非常高效的特性:集成Gradle的打包工具;隨時可見的效果;可以拖拽UI操作;代碼可自動補全;更豐富的操作接口;Google Cloud的高度集成以及全新的特性JUnit和Maven倉庫的集成。因此本文采用最新版的Android Studio進行藍牙通信客戶端的開發。
1 Android Studio客戶端設計流程
圖1是客戶端從開發到測試的整個設計流程,使用Android Studio平臺進行設界面語言和程序內部功能算法語言的設計,使用基于安卓6.0的內置虛擬機進行軟件界面顯示及頁面跳轉的測試,最后使用Android Studio對軟件進行打包,把打包好的軟件安裝在測試手機上,進行藍牙通信功能測試。
2 藍牙通信界面設計
如圖2所示的界面,布局文件放在主目錄下,res文件夾下的layout文件下的activity_main.xml文件。下面對布局代碼進行詳細的說明:
首先,打開activity_mian.xml文件進行界面設計,針對布局代碼及按鈕代碼進行編寫,采用線性布局(LinearLayout);
然后通過以下語句進行顯示內容設置:android:layout_width="fill_parent"選擇界面;android:layout_height="0dp"設置高度;android:layout_weight="1"設置寬度;android:gravity="top"設置樣式等等。
本設計中用到了按鈕設置和文本顯示的設置。完成布局界面如圖3所示。
3 藍牙通信功能設計
開發安卓藍牙的過程中首先我們要調用藍牙,也就是平常我們所說的啟動藍牙,啟動藍牙后,需要查找藍牙設備與將要使用的設備進行連接,連接前安卓藍牙設備將自動掃描將要連接的設備,此時需要開啟安卓藍牙設備中的被發現功能,由于安卓藍牙設備的保密性,沒打開被發現這個功能時,安卓藍牙設備是不能夠被外部藍牙發現的。最后就可以成功連接到外部設備。藍牙開發的整個流程如圖4所示。
要啟用了藍牙功能,需要采用表1的常數,之后我們可以通過調用 getBondedDevices()方法來獲取配對設備列表。
表2是調用藍牙后,根據功能的需要對藍牙進行各種設置的操作方法。使用以下方法,可以針對藍牙開啟發現的名稱、狀態、時間進行設置。
Android平臺提供了藍牙API去執行以下不同操作:掃描其他藍牙設備,獲取配對設備列表,連接到通過服務發現其他設備。Android提供了BluetoothAdapter類來進行藍牙的通信。調用創建對象的靜態方法getDefaultAdapter()來實現手機藍牙通信的調用需要采用以上的常數和方法,并使用匿名內部類的方式進行系統藍牙的調用。
4 系統測試
本設計測試主要是客戶端實機測試,包括界面性能的測試,元素加載性能的測試和功能可用性的測試等。由于條件限制,本論文的測試主要是通過小部分的手機性能測試。測試部分主要為活動的打開與銷毀,后臺的運行等測試。如果客戶端從創建活動,開始活動,恢復活動,后臺運行,以及活動停止和銷毀能夠正常在手機端運行,就說明實機測試通過。實機測試在五部安卓手機上進行,運行良好,符合預期情況,連接情況如圖5、6所示。
5 結束語
Android平臺包含了藍牙框架,可以使設備通過無線方式與其他藍牙設備進行數據交換。藍牙通信在生活中的應用十分廣泛,幾乎可以用于身邊所有的無線設備。當然本論文的闡述也十分有限,闡述調用藍牙的設計也只適用在安卓系統中,并不適合所有設備連接的調用,并且在開發安卓藍牙通信的過程中,有些調用安卓藍牙的類和方法以及個性化的設計,還要進一步學習研究,以獲得更深層次的理解,來開發更加優質的安卓藍牙客戶端應用。
參考文獻:
[1]陳甫.Android Studio應用[J].電腦知識與技術,2014(24).
[2]雷擎,伊凡.基于Android平臺的移動互聯網開發[M].清華大學出版社,2014.
[3]孔佑東.智能家居之手持機軟件設計[D].西安電子科技大學,2013.
[4]陳軍.嵌入式家居視頻監控遠程控制的研究與實現[D].湖南大學,2013.
[5]何宗見.基于Android的移動健康服務系統研究與設計[D].杭州師范大學,2013.
[6]王陽.基于Android的室內WiFi定位系統設計與實現[D].南京大學,2016.
[7]彭保基.基于藍牙及Android的便攜式心電儀的設計與實現[D].吉林大學,2014.