基于Android健康服務終端藍牙傳輸軟件的設計
mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();
如果藍牙可用,則mBluetoothAdapter不為空,然后判斷藍牙是否打開,若未打開,則提示用戶打開藍牙。
![d.JPG](http://editerupload.eepw.com.cn/fetch/20130807/154505_3_0.jpg)
到此,藍牙設備已經打開。
在Android應用程序開發(fā)中,若要建立兩個藍牙設備的連接,必須實現(xiàn)客戶端和服務器端代碼。一個用來開啟服務監(jiān)聽,一個發(fā)送連接請求。當它們都擁有一個藍牙套接字在同一RFECOMM信道上時,說明它們之間已經建立好連接。服務器端采用accept()方法來建立連接。由于accept()方法是一種阻塞調用,因此不應該放在主Acitvity里,要新建一個線程來管理。
![f.JPG](http://editerupload.eepw.com.cn/fetch/20130807/154505_3_1.jpg)
而客戶端則采用connect()方法來建立連接。同樣也是一種阻塞調用,同樣需要新建一個線程來管理。
![g.JPG](http://editerupload.eepw.com.cn/fetch/20130807/154505_3_2.jpg)
當設備連接上以后,每個設備都擁有各自的Bluetoothsocket。現(xiàn)在就可以實現(xiàn)設備之間數據共享了。同樣讀取和寫操作都是阻塞調用,需要建立一個專用的線程來管理。
![h.JPG](http://editerupload.eepw.com.cn/fetch/20130807/154505_3_3.jpg)
![i.JPG](http://editerupload.eepw.com.cn/fetch/20130807/154505_3_4.jpg)
評論