星期日, 10月 09, 2011

Bluetooth (一)

Android應用程式學習筆記

Bluetooth

Android平台支援藍芽網路,它允許與其他藍芽裝置連結無線交換數據,應用程式架構通過Android bluetooth APIs提供藍芽存取功能,APIs讓應用程式無線地與其他藍芽裝置連結,可以點對點與多點無線屬性。

有Bluetooth APIs,應用程式可以執行以下功能:
  • 掃描其他藍芽裝置。
  • 查詢本地藍芽適配器去配對藍芽裝置。
  • 建立RFCOMM頻道。
  • 透過裝置探詢與其它裝置連結。
  • 與其他裝置傳輸數據。
  • 管理多個連結。


The basics

此部分要學習如何使用Android bluetooth APIs建立四個主要運用藍芽功能所需的任務:設置藍芽、搜尋本地的配對或是可用的藍芽裝置、連結裝置、傳輸資料。

所有的android藍芽APIs都裝在android.bluetooth包中,這裡總結建立藍芽連線需要的類別與介面:

BluetoothAdapter-表示本地的藍芽適配器(藍芽電台,bluetooth radio)。BlueAdpater是所有藍芽的進入點,使用它,你可以發現其他藍芽裝置,查詢一系列配對裝置,實體化BluetoothDevice得知MAC位址,然後建立BluetoothServerSocket接聽其他裝置的訊息。

BluetoothDevice-表示一個遠程藍芽裝置。使用它能通過BluetoothSocket請求與其它裝置連結或是查詢裝置的資訊,名稱、位址、狀態。

BluetoothSocket-表示藍芽socket的接口。它是連結點,允許應用程式與其他藍芽裝置交換數據,通過InputStream及OutputStream。

BluetoothServerSocket-表示一個開放server socket,接聽傳入的請求。為了連結兩個Android裝置,一個裝置必須開放server socket,當遠端的裝置請求連結此裝置,BluetoothServerSocket回傳BluetoothSocket接受連結的請求。

BluetoothClass-描述連芽裝置的一般特性與能力。這是一個唯讀的屬性,它定義了裝置的主要與次要的裝置類別及它的服務。然而,描述所有藍芽屬性及支援的服務是不可靠的,但是它作為裝置型態的提示是有用的。

BluetoothProfile-顯示藍芽資料的介面。藍芽資料是無線藍芽通訊介面的規範。例如,免提規範。

BluetoothHeadset-提供行動手機支援藍芽耳機。包括藍芽耳機和免提規範。

BluetoothA2dp-定義如何使高品質音頻流通過藍芽連結從一個裝置流到另一個裝置,A2Dp代表了高級音頻傳輸規範。

BluetoothProfile.ServiceListener-告知BluetoothProfile IPC客戶端的介面。當它們已經與其他裝置連結或斷線時。


沒有留言:

張貼留言