Docs Menu
Docs Home
/ /
Atlas Device SDK
/ / /

クラスの同期

項目一覧

  • io.realm.mongodb.sync
  • ネストされたクラスの概要
  • メソッドの概要
  • 継承されたメソッド
  • メソッドの詳細
  • addConnection ChangeLister
  • addProgressLister
  • addUploadProgressLister
  • ダウンロードAllServerChecks
  • getConfiguration
  • getConnectionState
  • getServerUrl
  • getState
  • getUser
  • isConnected
  • deleteConnection存在の変更リスナー
  • deleteProgressLister
  • 始める
  • 停止
  • アップロードAllLocalchanges
java.lang.Object
io.realm.mongodb.sync.SyncSession

セッションは、デバイス上の単一の 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 に適用されるまでブロックされます。

セッションを制御する同期構成を返します。

ConnectionStateで定義されている、セッションによって使用される接続の現在の状態を取得します。

公開 URI

URI を返します このセッションが接続して変更を同期するリモート Realm を説明します。

SyncSession.Stateで定義されている現在のセッションの状態を取得します。

MongoDB Realm への接続に使用される SyncConfiguration によって定義された ユーザー を返します。

パブリックブール値

セッションがサーバーに接続され、データを同期できるかどうかを確認します。

public synchronized void

以前に登録されたConnectionListerを削除します。

public synchronized void

進行状況リスナーを削除します。

public synchronized void

セッションを開始し、Realm Object Server との同期を有効にしようとします。

public synchronized void
stop ()

Realm が完全に閉じられた後、再度開かれるまで、Realm オブジェクト サーバーとの同期を停止します。

パブリックブール値
long timeout,
)

このメソッドを呼び出すと、既知のローカル変更がすべてサーバーにアップロードされるか、指定されたタイムアウトに達するまでブロックされます。

public void

このメソッドを呼び出すと、既知のローカル変更がすべてサーバーにアップロードされるまでブロックされます。

  • クラス java.lang.Object から継承されたメソッド :getClasshashCodeequalsclonetoStringnotifynotifyAllwaitwaitwaitfinalize

public synchronized void addConnectionChangeListener (
)

このセッションをサポートする接続への変更を追跡するリスナーを追加します。 詳細については、「 ConnectionState 」を参照してください。

パラメーター

  • listener - 登録するリスナー。

スロー

Tip

以下も参照してください。

public synchronized void addDownloadProgressListener (
)

Realm オブジェクト サーバーからダウンロードする必要がある変更を追跡する進行状況リスナーを追加します。プログレスリスナーは、登録されるとすぐにトリガーされ、その後は定期的にトリガーされます。

パラメーター

  • mode - 使用されるモードのタイプ。 詳細については、「プログレスモード」を参照してください。

  • listener - 登録するリスナー。

public synchronized void addUploadProgressListener (
)

デバイスから Realm オブジェクト サーバーにアップロードする必要がある変更を追跡する進行状況リスナーを追加します。ProgressLister は、登録されるとすぐにトリガーされ、その後は定期的にトリガーされます。

パラメーター

  • mode - 使用されるモードのタイプ。 詳細については、「プログレスモード」を参照してください。

  • listener - 登録するリスナー。

public boolean downloadAllServerChanges (
long timeout,
)

このメソッドを呼び出すと、既知のリモート変更がすべてダウンロードされ Realm に適用されるか、指定されたタイムアウトに達するまでブロックされます。 これにはネットワーク アクセスが含まれるため、このメソッドを呼び出す場合は UI 以外のスレッドからのみ実行する必要があります。このメソッドは、Realm が開かれる前は呼び出すことができません。

戻り値

true タイムアウト前にデータがダウンロードされた場合。 操作がタイムアウトしたなどして失敗した場合は、 false

スロー

  • IllalStateException - Android のメイン スレッドで呼び出された場合

  • InterrutedException - 指定されたタイムアウトよりもダウンロードに時間がかかった場合、またはダウンロードの進行中にスレッドが中断された場合。この例外がスローされた後でも、バックグラウンドでダウンロードは続行されます。

  • IllialArgmentException - がtimeout 0以下の場合、またはunitnull の場合。

このメソッドを呼び出すと、既知のリモート変更がすべてダウンロードされ、Realm に適用されるまでブロックされます。 これにはネットワーク アクセスが含まれるため、このメソッドを呼び出すには、非 UI スレッドからのみ実行する必要があります。デバイスがオフラインの場合、このメソッドは返されない可能性があります。

このメソッドは、セッションが開始される前に呼び出すことができません。

スロー

セッションを制御する同期構成を返します。

戻り値

このセッションを定義および制御する SyncConfiguration。

ConnectionStateで定義されている、セッションによって使用される接続の現在の状態を取得します。

戻り値

セッションで使用される接続の状態

Tip

以下も参照してください。

public URI getServerUrl ()

URI を返します このセッションが接続して変更を同期するリモート Realm を説明します。

戻り値

URI リモート Realm を説明します。

SyncSession.Stateで定義されている現在のセッションの状態を取得します。

このメソッドが返した後に状態が変化する可能性があることに注意してください。

戻り値

セッションの状態

Tip

以下も参照してください。

public User getUser ()

MongoDB Realm への接続に使用される SyncConfiguration によって定義された ユーザー を返します。

戻り値

MongoDB Realm でセッションを認証するために使用されるユーザー

public boolean isConnected ()

セッションがサーバーに接続され、データを同期できるかどうかを確認します。 これは推測的結果です。 消費量を節約するために、基礎の実装はハートビートを使用して接続がまだ利用可能かどうかを検出します。 したがって、アクティブに同期されているデータがなく、最後のハートビートから時間が経過した場合、接続は切断された可能性がありますが、このメソッドは引き続きtrueを返します。

戻り値

true セッションが接続され、データを同期する準備ができている場合は 、未接続の場合はfalse 、接続プロセス中の場合は 0}。

public synchronized void removeConnectionChangeListener (
)

以前に登録されたConnectionListerを削除します。

パラメーター

  • listener - 削除するリスナー

スロー

public synchronized void removeProgressListener (
)

進行状況リスナーを削除します。 リスナーが登録されていない場合、このメソッドは何も実行しません。

パラメーター

  • listener - 削除するリスナー。

public synchronized void start ()

セッションを開始し、Realm オブジェクト サーバーとの同期を有効にしようとします。これは Realm インスタンスを開くと自動的に行われるため、セッションがstop()を使用して停止されている場合にのみ手動で実行する必要があります。

セッションがすでに開始されている場合は、このメソッドを呼び出しても何も行われません。

getState()State.ACTIVEを返す場合、セッションは開始されたと見なされます。 セッションが State.dying の場合、セッションはState.ACTIVEに移動されます

Tip

以下も参照してください。

public synchronized void stop ()

Realm が完全に閉じられた後、再度開かれるまで、Realm オブジェクト サーバーとの同期を停止します。同期は、 start()を再度有効にすることで再度有効にできます。

セッションがすでに停止している場合は、このメソッドを呼び出しても何も行われません。

public boolean uploadAllLocalChanges (
long timeout,
)

このメソッドを呼び出すと、既知のローカル変更がすべてサーバーにアップロードされるか、指定されたタイムアウトに達するまでブロックされます。 これにはネットワーク アクセスが含まれるため、このメソッドを呼び出す場合は UI 以外のスレッドからのみ実行する必要があります。このメソッドは、Realm が開かれる前は呼び出すことができません。

戻り値

true タイムアウト前にデータがアップロードされた場合。 操作がタイムアウトしたなどして失敗した場合は、 false

スロー

  • IllalStateException - Android のメイン スレッドで呼び出された場合

  • InterrutedException - アップロードに指定されたタイムアウトよりも長い時間がかかる場合、またはアップロードの進行中にスレッドが中断された場合。この例外がスローされた後でも、バックグラウンドでアップロードは続行されます。

  • IllialArgmentException - がtimeout 0以下の場合、またはunitnull の場合。

public void uploadAllLocalChanges ()

このメソッドを呼び出すと、既知のローカル変更がすべてサーバーにアップロードされるまでブロックされます。 これにはネットワーク アクセスが含まれるため、このメソッドを呼び出すには、非 UI スレッドからのみ実行する必要があります。デバイスがオフラインの場合、このメソッドは返されない可能性があります。

このメソッドは、Realm が開かれる前に呼び出すことができません。

スロー

戻る

SyncConfiguration.InitialFlexibleSyncSubscriptions