前言
本章內容是android.bluetooth.BluetoothClass,為Android藍芽部分的章節翻譯。用於描述遠端裝置的類型,特點等資訊,通過getBluetoothClass()方法擷取代表遠端裝置屬性的BluetoothClass對象。版本為Android 2.3 r1,翻譯來自中山大學的"Android Club SYSU",歡迎訪問他們的WIKI:http://www.android-wiki.net,再次感謝"Android Club SYSU"!期待你一起參與Android中文API的翻譯,聯絡我 over140@gmail.com。
聲明
歡迎轉載,但請保留文章原始出處:)
Android Club SYSU:http://www.android-wiki.net
部落格園:http://www.cnblogs.com/
Android中文翻譯組:http://code.taobao.org/project/view/404/
本文
一、結構
public final class BluetoothClass extends Object implements Parcelable
java.lang.Object
android.bluetooth.BluetoothClass
二、概述
代表一個描述了裝置通用特性和功能的藍芽類。比如,一個藍芽類會指定皆如電話、電腦或耳機的通用裝置類型,可以提供皆如音頻或者電話的服務。
每個藍芽類都是有0個或更多的服務類,以及一個裝置類組成。裝置類將被分解成主要和較小的裝置類部分。
BluetoothClass 用作一個能粗略描述一個裝置(比如關閉使用者介面上一個表徵圖的裝置)的線索,但當藍芽服務事實上是被一個裝置所支撐的時候,BluetoothClass的 介紹則不那麼可信任。精確的服務搜尋通過SDP請求來完成。當運用createRfcommSocketToServiceRecord(UUID) 和listenUsingRfcommWithServiceRecord(String, UUID)來建立RFCOMM連接埠的時候,SDP請求就會自動執行。
使用getBluetoothClass()方法來擷取為遠程裝置所提供的類。
三、內部類
class BluetoothClass.Device
定義所有裝置類的常量
class BluetoothClass.Service
定義所有服務類的常量
四、公用方法
public int describeContents ()
描述包含在可封裝編組的表示中所有特殊對象的種類。
傳回值
一個指示被Parcelabel所排列的特殊物件類型集合的位元遮罩。
public boolean equals (Object o)
比較帶有特定目標的常量。如果他們相等則標示出來。 為了保證其相等,o必須代表相同的對象,該對象作為這個使用類依賴比較的常量。通常約定,該比較既要可移植又需靈活。
若且唯若o是一個作為接收器(使用==操作符來做比較)的精確相同的對象是,這個對象的實現才返回true值。子類通常實現equals(Object)方法,這樣它才會重視這兩個對象的類型和狀態。
通常約定,對於equals(Object)和hashCode() 方法,如果equals對於任意兩個對象返回真值,那麼hashCode()必須對這些對象返回相同的紙。這意味著對象的子類通常都覆蓋或者都不覆蓋這兩個方法。
參數
o 需要對比常量的對象
傳回值
如果特定的對象和該對象相等則返回true,否則返回false。
public int getDeviceClass ()
返回BluetoothClass中的裝置類部分(主要的和較小的)
從函數中返回的值可以和在BluetoothClass.Device中的公用常量做比較,從而確定哪個裝置類在這個藍芽類中是被編碼的。
傳回值
裝置類部分
public int getMajorDeviceClass ()
返回BluetoothClass中裝置類的主要部分
從函數中返回的值可以和在BluetoothClass.Device.Major中的公用常量做比較,從而確定哪個主要類在這個藍芽類中是被編碼的。
傳回值
主要裝置類部分
public boolean hasService (int service)
如果該指定服務類被BluetoothClass所支援,則返回true
在BluetoothClass.Service中,合法的服務類是公用常量,比如AUDIO類。
參數
service 合法服務類
傳回值
如果該服務類可被支援,則返回true
public int hashCode ()
返回這個對象的整型雜湊碼。按約定,任意兩個在equals(Object)中返回true的對象必須返回相同的雜湊碼。這意味著對象的子類通常通常覆蓋或者都不覆蓋這兩個方法。
注意:除非同等對比資訊發生改變,否則雜湊碼不隨時間改變而改變。
如果你想要實現你自己的雜湊碼方法,參見Writing a correct hashCode method。
傳回值
該對象的雜湊碼
public String toString ()
返回這個對象的字串,該字串包含精確且可讀的介紹。系統鼓勵子類去重寫該方法,並且提供了能對該對象的類型和資料進行重視的實現方法。預設的實現方法只是簡單地把類名、“@“符號和該對象hashCode()方法的16進位數串連起來(如下列所示的運算式):
如果你想實現你自己的toString方法,參見Writing a useful toString method。
傳回值
該對象中一個可被列印的字串。
public void writeToParcel (Parcel out, int flags)
將類的資料寫入外部提供的Parcel中
參數
out 對象需要被寫入的Parcel
flags 和對象需要如何被寫入有關的附加標誌。可能是0,或者可能是PARCELABLE_WRITE_RETURN_VALUE。
結束
關於Android藍芽這篇文章已經有被轉載,這裡做了整理並簡單的審核了一下,補充了少數幾處漏翻的部分,再次感謝他們!