IExternalizable インターフェイス

定義

Externalizable インスタンスのクラスの ID のみがシリアル化ストリームに書き込まれ、そのインスタンスの内容を保存および復元するのはクラスの役割です。

[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 インスタンスのクラスの ID のみがシリアル化ストリームに書き込まれ、そのインスタンスの内容を保存および復元するのはクラスの役割です。

Externalizable インターフェイスの writeExternal メソッドと readExternal メソッドは、クラスがオブジェクトとそのスーパータイプのストリームの形式と内容を完全に制御できるように、クラスによって実装されます。 これらのメソッドは、状態を保存するためにスーパータイプと明示的に調整する必要があります。 これらのメソッドは、writeObject メソッドと readObject メソッドのカスタマイズされた実装よりも優先されます。<br>

オブジェクトのシリアル化では、シリアル化可能なインターフェイスと外部化可能なインターフェイスが使用されます。 オブジェクト永続化メカニズムでも使用できます。 格納する各オブジェクトは、Externalizable インターフェイスについてテストされます。 オブジェクトが Externalizable をサポートしている場合は、writeExternal メソッドが呼び出されます。 オブジェクトが Externalizable をサポートせず、Serializable を実装している場合、オブジェクトは ObjectOutputStream を使用して保存されます。 <br> Externalizable オブジェクトが再構築されると、パブリック引数なしのコンストラクターを使用してインスタンスが作成され、その後 readExternal メソッドが呼び出されます。 シリアル化可能なオブジェクトは、ObjectInputStream.< から読み取ることによって復元されます。br>

Externalizable インスタンスは、Serializable interface.< に記載されている writeReplace メソッドと readResolve メソッドを使用して置換オブジェクトを指定できます。br>

1.1 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

プロパティ

名前 説明
Handle

基になる Android オブジェクトの JNI 値を取得します。

(継承元 IJavaObject)
JniIdentityHashCode

ラップされたインスタンスの java.lang.System.identityHashCode() の値を返します。

(継承元 IJavaPeerable)
JniManagedPeerState

マネージド ピアの状態。

(継承元 IJavaPeerable)
JniObjectReferenceControlBlock

Externalizable インスタンスのクラスの ID のみがシリアル化ストリームに書き込まれ、そのインスタンスの内容を保存および復元するのはクラスの役割です。

(継承元 IJavaPeerable)
JniPeerMembers

メンバー アクセスと呼び出しのサポート。

(継承元 IJavaPeerable)
PeerReference

ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。

(継承元 IJavaPeerable)

メソッド

名前 説明
Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、 Dispose()を呼び出します。それ以外の場合は何も実行しません。

(継承元 IJavaPeerable)
Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
ReadExternal(IObjectInput)

オブジェクトは、プリミティブ型の場合は DataInput のメソッドを呼び出し、オブジェクト、文字列、配列の場合は readObject を呼び出して、その内容を復元する readExternal メソッドを実装します。

SetJniIdentityHashCode(Int32)

JniIdentityHashCodeによって返される値を設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Externalizable インスタンスのクラスの ID のみがシリアル化ストリームに書き込まれ、そのインスタンスの内容を保存および復元するのはクラスの役割です。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

PeerReferenceによって返される値を設定します。

(継承元 IJavaPeerable)
UnregisterFromRuntime()

ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)
WriteExternal(IObjectOutput)

オブジェクトは、そのプリミティブ値に対して DataOutput のメソッドを呼び出すか、オブジェクト、文字列、配列に対して ObjectOutput の writeObject メソッドを呼び出すことによって、内容を保存する writeExternal メソッドを実装します。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

Externalizable インスタンスのクラスの ID のみがシリアル化ストリームに書き込まれ、そのインスタンスの内容を保存および復元するのはクラスの役割です。

ReadExternalAsync(IExternalizable, IObjectInput)

Externalizable インスタンスのクラスの ID のみがシリアル化ストリームに書き込まれ、そのインスタンスの内容を保存および復元するのはクラスの役割です。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

WriteExternalAsync(IExternalizable, IObjectOutput)

Externalizable インスタンスのクラスの ID のみがシリアル化ストリームに書き込まれ、そのインスタンスの内容を保存および復元するのはクラスの役割です。

適用対象