BackupDataOutput 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供結構化介面,讓使用者 BackupAgent 透過其 BackupAgent#onBackup(ParcelFileDescriptor,BackupDataOutput,ParcelFileDescriptor)
onBackup() 方法向備份資料集提交資訊。
[Android.Runtime.Register("android/app/backup/BackupDataOutput", DoNotGenerateAcw=true)]
public class BackupDataOutput : Java.Lang.Object
[<Android.Runtime.Register("android/app/backup/BackupDataOutput", DoNotGenerateAcw=true)>]
type BackupDataOutput = class
inherit Object
- 繼承
- 屬性
備註
提供結構化介面,讓使用者 BackupAgent 透過其 BackupAgent#onBackup(ParcelFileDescriptor,BackupDataOutput,ParcelFileDescriptor) onBackup() 方法向備份資料集提交資訊。 為備份而寫的資料以一組「實體」表示,即每個二進位資料記錄「值」以字串「key」命名的鍵值對。
要將資料記錄提交到備份傳輸,代理 BackupAgent#onBackup(ParcelFileDescriptor,BackupDataOutput,ParcelFileDescriptor) onBackup() 程式的方法首先寫入一個「實體標頭」,提供該記錄的鍵字串及該記錄二進位值的總大小。 標頭寫入後,代理會自行寫入二進位實體值。 實體值可分多個區塊寫入,只要寫入的位元組總數與提供給 #writeEntityHeader(String, int) writeEntityHeader()的數值相符。
實體金鑰字串被視為在特定應用程式的備份資料集中中唯一的。 如果備份代理在現有的金鑰字串下寫入一個新實體,該實體的值會取代傳輸遠端資料儲存中的任何先前值。 你可以透過使用現有記錄的鍵值寫入新的實體標頭,但提供負 dataSize 參數,來完全移除遠端資料集中的記錄。 當您如此操作時,代理人不必致電 #writeEntityData(byte[], int)。
<h3>範例</h3>
以下有一個範例說明如何備份一個名為 mStringToBackUp的 String 變數的值:
static final String MY_STRING_KEY = "storedstring";
public void {@link BackupAgent#onBackup(ParcelFileDescriptor, BackupDataOutput, ParcelFileDescriptor) onBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)}
throws IOException {
...
byte[] stringBytes = mStringToBackUp.getBytes();
data.writeEntityHeader(MY_STRING_KEY, stringBytes.length);
data.writeEntityData(stringBytes, stringBytes.length);
...
}
Java 文件 android.app.backup.BackupDataOutput。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| BackupDataOutput(IntPtr, JniHandleOwnership) |
用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
提供結構化介面,讓使用者 |
| JniPeerMembers |
提供結構化介面,讓使用者 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| Quota |
回傳應用程式目前備份操作的配額(位元組)。 |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| TransportFlags |
回航旗標示並附有關於備用運輸機的額外資訊。 |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
提供結構化介面,讓使用者 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
提供結構化介面,讓使用者 |
| Equals(Object) |
提供結構化介面,讓使用者 |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
提供結構化介面,讓使用者 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| 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) |
| WriteEntityData(Byte[], Int32) |
在目前實體下寫入一塊資料到備份傳輸。 |
| WriteEntityDataAsync(Byte[], Int32) |
提供結構化介面,讓使用者 |
| WriteEntityHeader(String, Int32) |
標記備份資料流中一個記錄的起始。 |
| WriteEntityHeaderAsync(String, Int32) |
提供結構化介面,讓使用者 |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
提供結構化介面,讓使用者 |
| IJavaPeerable.Finalized() |
提供結構化介面,讓使用者 |
| IJavaPeerable.JniObjectReferenceControlBlock |
提供結構化介面,讓使用者 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
提供結構化介面,讓使用者 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
提供結構化介面,讓使用者 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
提供結構化介面,讓使用者 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
提供結構化介面,讓使用者 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |