前言
本章內容是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藍芽這篇文章已經有被轉載,這裡做了整理並簡單的審核了一下,補充了少數幾處漏翻的部分,再次感謝他們!