BackupDataInput 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供結構化介面,讓 從 BackupAgent 備份資料集讀取資訊,透過其
BackupAgent#onRestore(BackupDataInput, int, android.os.ParcelFileDescriptor) onRestore() 方法。
[Android.Runtime.Register("android/app/backup/BackupDataInput", DoNotGenerateAcw=true)]
public class BackupDataInput : Java.Lang.Object
[<Android.Runtime.Register("android/app/backup/BackupDataInput", DoNotGenerateAcw=true)>]
type BackupDataInput = class
inherit Object
- 繼承
- 屬性
備註
提供結構化介面,讓使用者 BackupAgent 透過其 BackupAgent#onRestore(BackupDataInput, int, android.os.ParcelFileDescriptor) onRestore() 方法從備份資料集讀取資訊。 資料以一組「實體」呈現,每個實體代表一個先前由代理 BackupAgent#onBackup(ParcelFileDescriptor,BackupDataOutput,ParcelFileDescriptor) onBackup() 實作儲存的命名紀錄。 一個實體由一個描述性標頭加上一個位元組陣列組成,後者儲存在遠端備份中儲存的原始資料。
代理必須消耗資料串流中的所有實體,否則應用程式的還原狀態將不完整。 <h3>範例</h3>
典型 BackupAgent#onRestore(BackupDataInput,int,ParcelFileDescriptor) onRestore() 的實作結構可能如下:
public void onRestore(BackupDataInput data, int appVersionCode,
ParcelFileDescriptor newState) {
while (data.readNextHeader()) {
String key = data.getKey();
int dataSize = data.getDataSize();
if (key.equals(MY_BACKUP_KEY_ONE)) {
// process this kind of record here
byte[] buffer = new byte[dataSize];
data.readEntityData(buffer, 0, dataSize); // reads the entire entity at once
// now 'buffer' holds the raw data and can be processed however
// the agent wishes
processBackupKeyOne(buffer);
} else if (key.equals(MY_BACKUP_KEY_TO_IGNORE) {
// a key we recognize but wish to discard
data.skipEntityData();
} // ... etc.
}
}
Java 文件 android.app.backup.BackupDataInput。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| BackupDataInput(IntPtr, JniHandleOwnership) |
用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| DataSize |
報告還原串流中與當前實體相關的資料大小(以位元組為單位)。 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
提供結構化介面,讓 從 |
| JniPeerMembers |
提供結構化介面,讓 從 |
| Key |
在還原串流中回報與目前實體相關的金鑰 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
方法
| 名稱 | 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) |
| ReadEntityData(Byte[], Int32, Int32) |
從還原串流讀取紀錄的原始資料。 |
| ReadEntityDataAsync(Byte[], Int32, Int32) |
提供結構化介面,讓 從 |
| ReadNextHeader() |
從還原串流中擷取下一個實體標頭。 |
| ReadNextHeaderAsync() |
提供結構化介面,讓 從 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
提供結構化介面,讓 從 |
| SkipEntityData() |
在不將其提取到緩衝區以便進一步處理的情況下,直接消耗當前實體的資料。 |
| SkipEntityDataAsync() |
提供結構化介面,讓 從 |
| 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) |
明確介面實作
| 名稱 | 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) |
試著強制 |