IExternalizable 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
只有 Externalizable 實例類別的身分識別會寫入序列化資料流程中,而且類別必須負責儲存和還原其實例的內容。
[Android.Runtime.Register("java/io/Externalizable", "", "Java.IO.IExternalizableInvoker")]
public interface IExternalizable : IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/io/Externalizable", "", "Java.IO.IExternalizableInvoker")>]
type IExternalizable = interface
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 屬性
- 實作
備註
只有 Externalizable 實例類別的身分識別會寫入序列化資料流程中,而且類別必須負責儲存和還原其實例的內容。
Externalizable 介面的 writeExternal 和 readExternal 方法是由 類別實作,以提供物件及其超型別資料流程格式和內容的完整控制權。 這些方法必須與超級類型明確協調,才能儲存其狀態。 這些方法會取代 writeObject 和 readObject 方法的自訂實作。 <Br>
物件序列化會使用 Serializable 和 Externalizable 介面。 物件持續性機制也可以使用它們。 要儲存的每個物件都會針對 Externalizable 介面進行測試。 如果物件支援 Externalizable,則會呼叫 writeExternal 方法。 如果物件不支援 Externalizable 且實作 Serializable,則會使用 ObjectOutputStream 儲存物件。 <br > 當重新建構 Externalizable 物件時,會使用公用 no-arg 建構函式建立實例,然後呼叫 readExternal 方法。 可序列化的物件會藉由從 ObjectInputStream 讀取它們來還原。 <Br>
Externalizable 實例可以透過 Serializable 介面中所記載的 writeReplace 和 readResolve 方法來指定替代物件。 <Br>
已在 1.1 中新增。
的 java.io.Externalizable
JAVA 檔。
此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。
屬性
Handle |
取得基礎 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
JniIdentityHashCode |
傳回已包裝實例的 值 |
JniManagedPeerState |
Managed 對等的狀態。 (繼承來源 IJavaPeerable) |
JniPeerMembers |
成員存取和調用支援。 (繼承來源 IJavaPeerable) |
PeerReference |
傳 JniObjectReference 回已包裝 JAVA 物件實例的 。 (繼承來源 IJavaPeerable) |
方法
Disposed() |
處置實例時呼叫。 (繼承來源 IJavaPeerable) |
DisposeUnlessReferenced() |
如果這個實例沒有未完成的參考,則呼叫 |
Finalized() |
實例完成時呼叫。 (繼承來源 IJavaPeerable) |
ReadExternal(IObjectInput) |
物件會實作 readExternal 方法來還原其內容,方法是呼叫基本類型的 DataInput 方法,並針對物件、字串和陣列呼叫 readObject。 |
SetJniIdentityHashCode(Int32) |
設定 所 |
SetJniManagedPeerState(JniManagedPeerStates) |
只有 Externalizable 實例類別的身分識別會寫入序列化資料流程中,而且類別必須負責儲存和還原其實例的內容。 (繼承來源 IJavaPeerable) |
SetPeerReference(JniObjectReference) |
設定 所 |
UnregisterFromRuntime() |
取消註冊這個實例,讓執行時間不會從未來的 Java.Interop.JniRuntime+JniValueManager.PeekValue 調用傳回它。 (繼承來源 IJavaPeerable) |
WriteExternal(IObjectOutput) |
物件會實作 writeExternal 方法,藉由針對其基本值呼叫 DataOutput 的方法,或針對物件、字串和陣列呼叫 ObjectOutput 的 writeObject 方法來儲存其內容。 |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
只有 Externalizable 實例類別的身分識別會寫入序列化資料流程中,而且類別必須負責儲存和還原其實例的內容。 |
GetJniTypeName(IJavaPeerable) |
只有 Externalizable 實例類別的身分識別會寫入序列化資料流程中,而且類別必須負責儲存和還原其實例的內容。 |
ReadExternalAsync(IExternalizable, IObjectInput) |
只有 Externalizable 實例類別的身分識別會寫入序列化資料流程中,而且類別必須負責儲存和還原其實例的內容。 |
WriteExternalAsync(IExternalizable, IObjectOutput) |
只有 Externalizable 實例類別的身分識別會寫入序列化資料流程中,而且類別必須負責儲存和還原其實例的內容。 |