Share via


IExternalizable 介面

定義

只有 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

傳回已包裝實例的 值 java.lang.System.identityHashCode()

(繼承來源 IJavaPeerable)
JniManagedPeerState

Managed 對等的狀態。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取和調用支援。

(繼承來源 IJavaPeerable)
PeerReference

JniObjectReference 回已包裝 JAVA 物件實例的 。

(繼承來源 IJavaPeerable)

方法

Disposed()

處置實例時呼叫。

(繼承來源 IJavaPeerable)
DisposeUnlessReferenced()

如果這個實例沒有未完成的參考,則呼叫 Dispose() ,否則不會執行任何動作。

(繼承來源 IJavaPeerable)
Finalized()

實例完成時呼叫。

(繼承來源 IJavaPeerable)
ReadExternal(IObjectInput)

物件會實作 readExternal 方法來還原其內容,方法是呼叫基本類型的 DataInput 方法,並針對物件、字串和陣列呼叫 readObject。

SetJniIdentityHashCode(Int32)

設定 所 JniIdentityHashCode 傳回的值。

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

只有 Externalizable 實例類別的身分識別會寫入序列化資料流程中,而且類別必須負責儲存和還原其實例的內容。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

設定 所 PeerReference 傳回的值。

(繼承來源 IJavaPeerable)
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 實例類別的身分識別會寫入序列化資料流程中,而且類別必須負責儲存和還原其實例的內容。

適用於