日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

【Android 应用开发】BluetoothClass详解

發(fā)布時(shí)間:2025/6/17 Android 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 应用开发】BluetoothClass详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一. BluetoothClass簡(jiǎn)介


1. 繼承關(guān)系


public final class BluetoothClass extends Object implements Parcelable

該類是final類, 不能被繼承, 沒(méi)有子類;

該類繼承了Object類, 實(shí)現(xiàn)了Parcelable接口;


Parcelable接口 :?

Java中的序列化方法 : 在Java中序列化有兩種方法, 一種是實(shí)現(xiàn)Serializable接口, 一種是實(shí)現(xiàn)Parcelable接口, Serializable接口是J2SE固有支持的, Parcelable是Android支持的, 是Android中特有的, 效率比Serializable高;


序列化實(shí)現(xiàn) :?

Serializable接口實(shí)現(xiàn) : 只需要聲明一下即可;

Parcelable接口實(shí)現(xiàn) :?

a. 聲明實(shí)現(xiàn)的接口Parcelable;

b. 實(shí)現(xiàn)writeToParcel接口, 將對(duì)象序列化成一個(gè)Parcel對(duì)象;

c. 實(shí)例化內(nèi)部對(duì)象Parcelable.Creator, 注意對(duì)象名稱必須是"CREATOR", 在這個(gè)內(nèi)部對(duì)象中實(shí)現(xiàn)createFromParcel()方法, 可以將序列化對(duì)象Parcel對(duì)象反序列化為源對(duì)象;?

public static final Parcelable.Creator<T> CREATOR

普通對(duì)象->Parcel對(duì)象 : 使用writeToParcel()方法;

Parcel對(duì)象->普通對(duì)象 : 使用createFromParcel()方法;


使用writeToParcel()方法 和 createFromParcel()方法 可以將普通對(duì)象與Parcel對(duì)象相互進(jìn)行轉(zhuǎn)化, 因此寫入對(duì)象的順序要和讀取對(duì)象的順序要保持一致;


Parcel對(duì)象讀寫方法 :?

讀寫變量 :?

writeByte( byte ), readByte()//讀寫byte類型數(shù)據(jù) writeDouble(double ), readDouble()//讀寫double類型數(shù)據(jù) writeFloat(float ), readFloat()//讀寫Float類型數(shù)據(jù) writeInt(int ), readInt()//讀寫int類型數(shù)據(jù) writeLong(long ), readLong()//讀寫long類型數(shù)據(jù) writeString(String), readString()//讀寫String類型數(shù)據(jù)

讀寫數(shù)組 :


writeBooleanArray( boolean []), readBooleanArray( boolean []), createBooleanArray() writeByteArray(byte []), writeByteArray( byte [], int , int ), readByteArray( byte []), createByteArray() writeCharArray(char []), readCharArray( char []), createCharArray() writeDoubleArray(double []), readDoubleArray( double []), createDoubleArray() writeFloatArray(float []), readFloatArray( float []), createFloatArray() writeIntArray(int []), readIntArray( int []), createIntArray() writeLongArray(long []), readLongArray( long []), createLongArray() writeStringArray(String[]), readStringArray(String[]), createStringArray() writeSparseBooleanArray(SparseBooleanArray), readSparseBooleanArray()

2. BluetoothClass介紹


判斷類別功能 : BluetoothClass用來(lái)描述一個(gè)藍(lán)牙設(shè)備的通用特性功能, 可以根據(jù)這個(gè)類判斷藍(lán)牙的類別, 可以提供音頻或者電話服務(wù);

藍(lán)牙類組成 : 0個(gè)或者多個(gè)服務(wù)類, 一個(gè)設(shè)備類;

低精確度 : BluetoothClass只能粗略描述一個(gè)藍(lán)牙設(shè)備, 當(dāng)兩個(gè)設(shè)備連接的時(shí)候, 這個(gè)類提供的數(shù)據(jù)不是很準(zhǔn)確;?

高精確度 : SDP請(qǐng)求搜尋的服務(wù)精確度很高, 調(diào)用createRfcommSocketToServiceRecord()和listenUsingRfcommWithServiceRecord()方法創(chuàng)建RFCOMM端口的時(shí)候會(huì)自動(dòng)調(diào)用SDP服務(wù);


二 API解析


1. 內(nèi)部類


(1)設(shè)備

class BluetoothClass.Device 作用 : 定義所有 設(shè)備類的常量;


(2)服務(wù)

class BluetoothClass.Service作用 : 定義所有的 服務(wù)類的常量;

2. 公共方法


(1)描述序列化內(nèi)容

public int describeContents ()作用 : 描述在Parcel序列化對(duì)象中特殊對(duì)象的種類;

返回值 : Parcelable排列的特殊對(duì)象類型集合的位掩碼;


(2)比較方法

public boolean equals (Object o)作用 : 比較兩個(gè)對(duì)象是否相等, 可以重寫這個(gè)方法;


(3)獲取設(shè)備內(nèi)部類

public int getDeviceClass ()

作用 : 返回設(shè)備類, 這個(gè)設(shè)備類可以與BluetoothClass.Device中的常量進(jìn)行對(duì)比, 得到這個(gè)設(shè)備是什么類型的設(shè)備;

返回值 : BluetoothClass的設(shè)備類;?


(4)獲取設(shè)備主類

public int getMajorDeviceClass ()作用 : 返回設(shè)備的主類, 返回的這個(gè)主類可以與 BluetoothClass.Device.Major中的常量比較, 確定這個(gè)主類是在那個(gè)類型的設(shè)備中編碼的;

返回值 : 設(shè)備的主類;


(5)是否支持服務(wù)類

public boolean hasService (int service)作用 : 傳入服務(wù)類代碼, 是否支持服務(wù)類;?

參數(shù) : 服務(wù)類常量, 在BluetoothClass.Service中定義;

返回值 : 如果該服務(wù)類可以被支持, 返回true;


(6)獲取哈希碼

public int hashCode ()作用 : 返回哈希值, 可以被重寫;


(7)字符串方法

public int hashCode ()作用 : 建議重寫;


(8)數(shù)據(jù)寫入Parcel

public void writeToParcel (Parcel out, int flags) 作用 : 將類寫入序列化對(duì)象中;

參數(shù) : out, 被寫入的parcel對(duì)象; flags, 對(duì)象被寫入有關(guān)的標(biāo)識(shí);


總結(jié)

以上是生活随笔為你收集整理的【Android 应用开发】BluetoothClass详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。