ProtoOutputStream 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
類別寫入 protobuf 串流。
[Android.Runtime.Register("android/util/proto/ProtoOutputStream", ApiSince=30, DoNotGenerateAcw=true)]
public sealed class ProtoOutputStream : Java.Lang.Object
[<Android.Runtime.Register("android/util/proto/ProtoOutputStream", ApiSince=30, DoNotGenerateAcw=true)>]
type ProtoOutputStream = class
inherit Object
- 繼承
- 屬性
備註
類別寫入 protobuf 串流。
此 API 不如標準 protobuf 類別方便或型別安全。 如果可能,最好的推薦函式庫是使用 protobuf lite。 然而,在環境(例如Android平台本身)中,則需要更節省記憶體的版本。
每個寫入方法會從 protoc 產生的類別中取得一個 ID 碼和要寫入的值。 要建立巢狀物件,先呼叫 #start(long) , #end(long) 完成後。
ID 代碼內嵌了型別資訊,如果你呼叫錯誤函式,會得到 IllegalArgumentException一個 。
要取得編碼的 protobuf 串流,請呼叫 #getBytes()。
當頂層物件完成時,流接。
Java 文件 android.util.proto.ProtoOutputStream。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| ProtoOutputStream() |
用預設區塊大小建構 a |
| ProtoOutputStream(Int32) |
用給定的區塊大小構造 a |
| ProtoOutputStream(Stream) |
構造一個 |
欄位
| 名稱 | Description |
|---|---|
| FieldCountMask |
位元遮罩用於讀取欄位 ID 時選擇欄位計數,該 ID 與 ProtoOutputStream.write(...) 方法一起使用。 |
| FieldCountPacked |
重複打包欄位計數,編碼成欄位 ID,使用 ProtoOutputStream.write(...) 方法。 |
| FieldCountRepeated |
重複欄位計數,編碼成欄位 ID,搭配 ProtoOutputStream.write(...) 方法使用。 |
| FieldCountShift |
位元偏移量用於建立欄位 ID,以搭配 ProtoOutputStream.write(...)。 |
| FieldCountSingle |
單一欄位計數,編碼成欄位 ID,搭配 ProtoOutputStream.write(...) 方法使用。 |
| FieldCountUnknown |
未知欄位數,編碼為使用 ProtoOutputStream.write(...) 方法的欄位 ID。 |
| FieldIdShift |
位元數是用來將欄位數移動以形成標籤的。 |
| FieldTypeBool |
布爾欄位的欄位類型程式碼。 |
| FieldTypeBytes |
欄位類型程式碼用於位元組欄位。 |
| FieldTypeDouble |
雙欄位欄位的欄位類型代碼。 |
| FieldTypeEnum |
欄位類型代碼用於枚舉欄位。 |
| FieldTypeFixed32 |
fixed32 欄位的欄位類型代碼。 |
| FieldTypeFixed64 |
fixed64 欄位的欄位類型代碼。 |
| FieldTypeFloat |
浮點欄位的欄位類型程式碼。 |
| FieldTypeInt32 |
int32 欄位的欄位類型代碼。 |
| FieldTypeInt64 |
int64 欄位的欄位類型代碼。 |
| FieldTypeMask |
為存放在 fieldID 中的欄位類型提供遮罩。 |
| FieldTypeMessage |
欄位類型代碼用於訊息欄位。 |
| FieldTypeSfixed32 |
sfixed32 欄位的欄位類型代碼。 |
| FieldTypeSfixed64 |
sfixed64 欄位的欄位類型代碼。 |
| FieldTypeShift |
欄位類型在(長)fieldId中的位置。 |
| FieldTypeSint32 |
sint32 欄位的欄位類型代碼。 |
| FieldTypeSint64 |
sint64 欄位的欄位類型代碼。 |
| FieldTypeString |
欄位類型代碼用於字串欄位。 |
| FieldTypeUint32 |
uint32 欄位的欄位類型代碼。 |
| FieldTypeUint64 |
uint64 欄位的欄位類型代碼。 |
| WireTypeEndGroup |
已淘汰.
終端組線路類型代碼。 |
| WireTypeFixed32 |
已淘汰.
固定32線路類型代碼。 |
| WireTypeFixed64 |
已淘汰.
固定64號線路類型代碼。 |
| WireTypeLengthDelimited |
已淘汰.
長度分隔線路類型代碼。 |
| WireTypeMask |
已淘汰.
遮罩用來從標籤中選擇線路類型。 |
| WireTypeStartGroup |
已淘汰.
開始群組線路代碼。 |
| WireTypeVarint |
已淘汰.
瓦林特線的類型代碼。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
類別寫入 protobuf 串流。 (繼承來源 JavaObject) |
| JniPeerMembers |
類別寫入 protobuf 串流。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| RawSize |
回傳在完成完整 protobuf 編碼後,所寫入資料的總大小。 |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
方法
| 名稱 | Description |
|---|---|
| CheckFieldId(Int64, Int64) |
驗證所提供的 fieldId 是否屬於 expectedType 的型別與計數。 |
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
類別寫入 protobuf 串流。 (繼承來源 JavaObject) |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
類別寫入 protobuf 串流。 (繼承來源 JavaObject) |
| Dump(String) |
用給定的日誌標籤傾卸緩衝區的除錯資料。 |
| End(Int64) |
結束由 start() 開始的物件,該物件回傳了 token。 |
| Equals(Object) |
類別寫入 protobuf 串流。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| Flush() |
將剩餘資料寫入輸出串流。 |
| GetBytes() |
完成資料編碼後,回傳一個位元組,包含 protobuf 格式的資料。 |
| GetFieldCountString(Int64) |
取得開發者可用的欄位名稱。 |
| GetFieldIdString(Int64) |
取得一個 fieldID 的除錯字串。 |
| GetFieldTypeString(Int64) |
取得開發者可用的欄位類型名稱。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| GetWireTypeString(Int32) |
取得開發者可用線材名稱。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| MakeFieldId(Int32, Int64) |
結合 fieldId(proto 檔案中的欄位鍵)和欄位旗標。 |
| MakeToken(Int32, Boolean, Int32, Int32, Int32) |
做一個代幣。 |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
類別寫入 protobuf 串流。 (繼承來源 JavaObject) |
| Start(Int64) |
建立一個子物件。 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| Token2String(Int64) |
回傳一個除錯字串的標記。 |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Write(Int64, Boolean) |
為給定的fieldId寫一個布林值。 |
| Write(Int64, Byte[]) |
為給定的 fieldId 寫一個位元組[] 值。 |
| Write(Int64, Double) |
為給定的 fieldId 寫一個值。 |
| Write(Int64, Int32) |
為給定的 fieldId 寫一個值。 |
| Write(Int64, Int64) |
為給定的 fieldId 寫一個值。 |
| Write(Int64, Single) |
為給定的 fieldId 寫一個值。 |
| Write(Int64, String) |
為給定的 fieldId 寫一個字串值。 |
| WriteTag(Int32, Int32) |
手動寫一個獨立的欄位標籤。 |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
類別寫入 protobuf 串流。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
類別寫入 protobuf 串流。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
類別寫入 protobuf 串流。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
類別寫入 protobuf 串流。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
類別寫入 protobuf 串流。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
類別寫入 protobuf 串流。 (繼承來源 JavaObject) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
類別寫入 protobuf 串流。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |