クラスの同期
項目一覧
io.realm.mongodb.sync
セッションは、デバイス上の単一の Realm と Realm オブジェクト サーバー上のサーバー Realm との間でデータを同期する方法を制御します。セッションは、 SyncConfigurationを使用して Realm インスタンスを開くことによって作成されます。 セッションが作成されると、アプリが閉じられるか、このSyncConfigurationを使用するすべてのスレッドがそれぞれのRealmを閉じるまで、そのセッションは存在し続けます。
セッションは Realm によって制御されますが、エラーが発生した場合に追加情報を提供できます。 これらのエラーはSyncSession.ErrorHandlerによって渡されます。
セッションを作成する際、Realm はサーバーへの接続を確立します。 この接続は Realm によって制御され、複数のセッション間で共有される場合があります。 addConnectionchangeLister(ConnectionLister)とisConnected()を使用して、接続のインサイトを得ることが可能です。
セッション自体のライフサイクルは、基礎となる接続とは異なります。 セッションの状態は、 getState()を使用して見つけることができます。
SyncSessionオブジェクトはスレッドセーフです。
ネストされたクラスの概要
修飾子と型 | クラスと説明 |
---|---|
public static final | |
public static interface | |
public static interface |
メソッドの概要
修飾子と型 | メソッドと説明 |
---|---|
public synchronized void | このセッションをサポートする接続への変更を追跡するリスナーを追加します。 |
public synchronized void | Realm Object Server からダウンロードする必要がある変更を追跡する進行状況リスナーを追加します。 |
public synchronized void | デバイスから Realm オブジェクト サーバーにアップロードする必要がある変更を追跡する進行状況リスナーを追加します。 |
パブリックブール値 | このメソッドを呼び出すと、既知のリモート変更がすべてダウンロードされ Realm に適用されるか、指定されたタイムアウトに達するまでブロックされます。 |
public void | このメソッドを呼び出すと、既知のリモート変更がすべてダウンロードされ、Realm に適用されるまでブロックされます。 |
public SyncConfiguration | セッションを制御する同期構成を返します。 |
public ConnectionState | ConnectionStateで定義されている、セッションによって使用される接続の現在の状態を取得します。 |
公開 URI | getServerUrl () URI を返します このセッションが接続して変更を同期するリモート Realm を説明します。 |
public SyncSession.State | getState () SyncSession.Stateで定義されている現在のセッションの状態を取得します。 |
publicユーザー | getUser () MongoDB Realm への接続に使用される SyncConfiguration によって定義された ユーザー を返します。 |
パブリックブール値 | isConnected () セッションがサーバーに接続され、データを同期できるかどうかを確認します。 |
public synchronized void | 以前に登録されたConnectionListerを削除します。 |
public synchronized void | 進行状況リスナーを削除します。 |
public synchronized void | start () セッションを開始し、Realm Object Server との同期を有効にしようとします。 |
public synchronized void | stop () Realm が完全に閉じられた後、再度開かれるまで、Realm オブジェクト サーバーとの同期を停止します。 |
パブリックブール値 | このメソッドを呼び出すと、既知のローカル変更がすべてサーバーにアップロードされるか、指定されたタイムアウトに達するまでブロックされます。 |
public void | このメソッドを呼び出すと、既知のローカル変更がすべてサーバーにアップロードされるまでブロックされます。 |
継承されたメソッド
クラス java.lang.Object から継承されたメソッド :
getClass
、hashCode
、equals
、clone
、toString
、notify
、notifyAll
、wait
、wait
、wait
、finalize
メソッドの詳細
addConnection ChangeLister
このセッションをサポートする接続への変更を追跡するリスナーを追加します。 詳細については、「 ConnectionState 」を参照してください。 パラメーター
スロー
|
addProgressLister
addUploadProgressLister
ダウンロードAllServerChecks
このメソッドを呼び出すと、既知のリモート変更がすべてダウンロードされ Realm に適用されるか、指定されたタイムアウトに達するまでブロックされます。 これにはネットワーク アクセスが含まれるため、このメソッドを呼び出す場合は UI 以外のスレッドからのみ実行する必要があります。このメソッドは、Realm が開かれる前は呼び出すことができません。 戻り値
スロー
|
public void downloadAllServerChanges () |
---|
このメソッドを呼び出すと、既知のリモート変更がすべてダウンロードされ、Realm に適用されるまでブロックされます。 これにはネットワーク アクセスが含まれるため、このメソッドを呼び出すには、非 UI スレッドからのみ実行する必要があります。デバイスがオフラインの場合、このメソッドは返されない可能性があります。 このメソッドは、セッションが開始される前に呼び出すことができません。 スロー
|
getConfiguration
public SyncConfiguration getConfiguration () |
---|
getConnectionState
public ConnectionState getConnectionState () |
---|
getServerUrl
public URI getServerUrl () |
---|
getState
public SyncSession.State getState () |
---|
getUser
MongoDB Realm への接続に使用される SyncConfiguration によって定義された ユーザー を返します。 戻り値 MongoDB Realm でセッションを認証するために使用されるユーザー。 |
isConnected
public boolean isConnected () |
---|
セッションがサーバーに接続され、データを同期できるかどうかを確認します。 これは推測的結果です。 消費量を節約するために、基礎の実装はハートビートを使用して接続がまだ利用可能かどうかを検出します。 したがって、アクティブに同期されているデータがなく、最後のハートビートから時間が経過した場合、接続は切断された可能性がありますが、このメソッドは引き続き 戻り値
|
deleteConnection存在の変更リスナー
deleteProgressLister
進行状況リスナーを削除します。 リスナーが登録されていない場合、このメソッドは何も実行しません。 パラメーター
|
始める
public synchronized void start () |
---|
セッションを開始し、Realm オブジェクト サーバーとの同期を有効にしようとします。これは Realm インスタンスを開くと自動的に行われるため、セッションがstop()を使用して停止されている場合にのみ手動で実行する必要があります。 セッションがすでに開始されている場合は、このメソッドを呼び出しても何も行われません。 getState()がState.ACTIVEを返す場合、セッションは開始されたと見なされます。 セッションが State.dying の場合、セッションはState.ACTIVEに移動されます。 |
停止
アップロードAllLocalchanges
このメソッドを呼び出すと、既知のローカル変更がすべてサーバーにアップロードされるか、指定されたタイムアウトに達するまでブロックされます。 これにはネットワーク アクセスが含まれるため、このメソッドを呼び出す場合は UI 以外のスレッドからのみ実行する必要があります。このメソッドは、Realm が開かれる前は呼び出すことができません。 戻り値
スロー
|
public void uploadAllLocalChanges () |
---|
このメソッドを呼び出すと、既知のローカル変更がすべてサーバーにアップロードされるまでブロックされます。 これにはネットワーク アクセスが含まれるため、このメソッドを呼び出すには、非 UI スレッドからのみ実行する必要があります。デバイスがオフラインの場合、このメソッドは返されない可能性があります。 このメソッドは、Realm が開かれる前に呼び出すことができません。 スロー
|