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

クラスアプリ

項目一覧

  • io.realm.mongodb
  • コンストラクター
  • ネストされたクラスの概要
  • フィールドの概要
  • メソッドの概要
  • 継承されたメソッド
  • フィールドの詳細
  • NETWORK_POOL_EXECUTOR
  • コンストラクターの詳細
  • メソッドの詳細
  • addAuthenticationLister
  • allUsers
  • currentUser
  • equals
  • getConfiguration
  • getEmailPassword
  • getFunctions
  • getSync
  • ハッシュコード
  • login
  • loginAsync
  • deleteAuthenticationLister
  • deleteUser
  • setNetworkTransport
  • [switchUser]
java.lang.Object
io.realm.mongodb.App

Appは、 MongoDB Realm App操作するための主要クライアント側エントリ ポイントです。このアプリは、次の目的で使用できます。

  • 認証プロバイダー( io.realm.mongodb.auth.ApiKeyAuthEmailPasswordAuthImpl )を通じて使用を登録し、さまざまなユーザー関連の操作を実行します

  • 同期された Realm を使用して、ローカル デバイスとリモート Realm アプリ間でデータを同期する

  • 関数を使用した Realm アプリの関数の呼び出し

  • io.realm.mongodb.mongo.MongoClientを使用して MongoDB データベースからリモート データにアクセスします

リモートRealm Appにリンクするアプリを作成するには、Realm を初期化し、次のようにアプリを構成します。

class MyApplication extends Application {
App APP; // The App instance should be a global singleton
@Override
public void onCreate() {
super.onCreate();
Realm.init(this);
AppConfiguration appConfiguration = new AppConfiguration.Builder(BuildConfig.MONGODB_REALM_APP_ID)
.appName(BuildConfig.VERSION_NAME)
.appVersion(Integer.toString(BuildConfig.VERSION_CODE))
.build();
APP = new App(appConfiguration);
}
}

アプリを構成した後、ユーザーの管理を開始し、同期された Realm の構成、リモートRealm関数の呼び出し、 mongoコレクションを介してリモート データにアクセスできます。 以下の例は、メイン スレッドからは使用できない同期された API を示しています。 同等の非同期カウンター部分については、 https://github.com/realm/realm-java/ツリー/main/examples/ mongoDbRealmExamples/ を参照してください。 。

新しいユーザーを登録したり、既存のユーザーを使用してログインしたりするには、次の操作を行います。

// Register new user
APP.getEmailPassword().registerUser(username, password);
// Login with existing user
User user = APP.login(Credentials.emailPassword(username, password))

承認されたユーザーの場合、次のようにio.realm.mongodb.sync.SyncConfigurationで Realm を開くことで、ローカル デバイスとリモート Realm アプリ間でデータを同期できます。

SyncConfiguration syncConfiguration = new SyncConfiguration.Builder(user, "<partition value>")
.build();
Realm instance = Realm.getInstance(syncConfiguration);
SyncSession session = APP.getSync().getSession(syncConfiguration);
instance.executeTransaction(realm -> {
realm.insert(...);
});
session.uploadAllLocalChanges();
instance.close();

以下に示すように、リモート Realm 関数を呼び出すことができます。

Functions functions = user.getFunctions();
Integer sum = functions.callFunction("sum", Arrays.asList(1, 2, 3, 4), Integer.class);

以下に示すように、リモート Realm アプリからコレクションにアクセスします。

MongoClient client = user.getMongoClient(SERVICE_NAME)
MongoDatabase database = client.getDatabase(DATABASE_NAME)
MongoCollection<DocumentT> collection = database.getCollection(COLLECTION_NAME);
Long count = collection.count().get()

Tip

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

コンストラクターと説明
App (
String appId
)

指定されたAppConfigurationに従ってアプリを作成するためのコンストラクター。

修飾子と型
クラスと説明
public static
public static interface
修飾子と型
フィールドと説明

NETWORK_POOL_EXECUTOR

MongoDB Realm に対してネットワーク リクエストを実行するときに使用されるスレッド プール。このプールはテスト目的でのみ公開されており、キューが空でない間に置き換えると未定義の動作が発生します。

修飾子と型
メソッドと説明
public void

ログインやログアウトなどのユーザー イベントについて通知されるグローバル認証リスナーを設定します。

public map

ユーザー.State.LOGGED_INまたは ユーザー.State.LOGGED_OUTであるすべての既知のユーザーを返します。

ログインしていてまだ有効な現在のユーザーを返します。

パブリックブール値

2 つのアプリは同等と見なされ、両方が同じAppConfiguration.getAppId()を参照する場合は、基礎となる状態を共有します。

このアプリの構成オブジェクトを返します。

Credentials.Provider.EMAIL_PASSWORD ID プロバイダーを使用して作成またはログインされたユーザーに関連する機能を操作するためのラッパーを返します。

public Functions
User user,
CodecRegistry codecRegistry
)

引数と結果をエンコードおよびデコードするためのカスタム コーデック レジストリを使用して Realm アプリの Realm 関数を呼び出すための関数マネージャーを返します。

public Functions

Realm アプリの Realm 関数を呼び出すための関数マネージャーを返します。

公開同期

このアプリに関連付けられているローカルとリモートのRealm アプリ間でデータを同期している進行中のRealm Syncセッションを管理するSyncインスタンスを返します。

public int
Credentials credentials
)

認証プロバイダに関連付けられている指定された認証情報を持つユーザーとしてログインします。

認証プロバイダに関連付けられている指定された認証情報を持つユーザーとしてログインします。

public void

提供されたグローバル認証リスナーを削除します。

このデバイスからユーザー認証情報を削除します。

保護された無効
OsJavaNetworkTransport transport
)

テスト用に公開されています。

現在のユーザーを切り替えます。

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

MongoDB Realm に対してネットワーク リクエストを実行するときに使用されるスレッド プール。このプールはテスト目的でのみ公開されており、キューが空でない間に置き換えると未定義の動作が発生します。

public App (
String appId
)
public App (
)

指定されたAppConfigurationに従ってアプリを作成するためのコンストラクター。

パラメーター

  • config - このアプリインスタンスに使用する構成。

Tip

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

ログインやログアウトなどのユーザー イベントについて通知されるグローバル認証リスナーを設定します。認証リスナーへのコールバックは UI スレッドで実行されます。

パラメーター

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

スロー

public Map allUsers ()

ユーザー.State.LOGGED_INまたは ユーザー.State.LOGGED_OUTであるすべての既知のユーザーを返します。

このデバイスにある時点でログインしたユーザーのみが返されます。

戻り値

ローカルで既知のユーザーとユーザーのマップ。

public User currentUser ()

ログインしていて、まだ有効である現在のユーザーを返します。ユーザーがログアウトしたり、ユーザーの更新トークンの有効期限が切れたり、取り消されたりすると、ユーザーは無効化されます。

2 人以上のユーザーがログインしている場合、このメソッドによって返される最後の有効なユーザーになります。

戻り値

ログイン して、まだ有効である現在のユーザー。 ログインしているユーザーがいない場合、またはユーザーの有効期限が切れている場合は、 null

public boolean equals (
)

2 つのアプリは同等と見なされ、両方が同じAppConfiguration.getAppId()を参照する場合は、基礎となる状態を共有します。

の上書き

equals クラス オブジェクト 内

このアプリの構成オブジェクトを返します。

戻り値

このアプリの構成。

Credentials.Provider.EMAIL_PASSWORD ID プロバイダーを使用して作成またはログインされたユーザーに関連する機能を操作するためのラッパーを返します。

戻り値

Credentials.Provider.EMAIL_PASSWORD ID プロバイダーを操作するためのラッパー。

User user,
CodecRegistry codecRegistry
)

引数と結果をエンコードおよびデコードするためのカスタム コーデック レジストリを使用して Realm アプリの Realm 関数を呼び出すための関数マネージャーを返します。

Tip

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

Realm アプリの Realm 関数を呼び出すための関数マネージャーを返します。これにより、アプリのデフォルトのコーデック レジストリを使用して引数と結果をエンコードおよびデコードします。

Tip

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

public Sync getSync ()

このアプリに関連付けられているローカルとリモートのRealm アプリ間でデータを同期している進行中のRealm Syncセッションを管理するSyncインスタンスを返します。

戻り値

このAppに 関連付けられている同期インスタンス 。

public int hashCode ()

public User login (
Credentials credentials
)

認証プロバイダに関連付けられている指定された認証情報を持つユーザーとしてログインします。ログインするユーザーが現在のユーザーになります。 その他のアプリ機能は、現在のユーザーに代わって動作します。

現在のユーザーがすでに存在する場合、そのユーザーは引き続きログインし、 allUsers()によって返されるリストで見つけることができます。

また、 switchUser(User)を使用して、現在のユーザーと見なされるユーザーを切り替えることもできます。

パラメーター

  • credentials - ログインのタイプを表す認証情報。

戻り値

ログインユーザーを表す ユーザー。

スロー

  • AppException - ユーザーがログインできなかった場合

認証プロバイダに関連付けられている指定された認証情報を持つユーザーとしてログインします。ログインするユーザーが現在のユーザーになります。 その他のアプリ機能は、現在のユーザーに代わって動作します。

現在のユーザーがすでに存在する場合、そのユーザーは引き続きログインし、 allUsers()によって返されるリストで見つけることができます。

また、 switchUser(User)を使用して、現在のユーザーと見なされるユーザーを切り替えることもできます。

パラメーター

  • credentials - ログインのタイプを表す認証情報。

  • callback - ログインが完了または失敗したときのコールバック。 コールバックは、このメソッドが呼び出されるのと同じスレッドで常に実行されます。

スロー

提供されたグローバル認証リスナーを削除します。

パラメーター

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

public User removeUser (
User user
)

このデバイスからユーザー認証情報を削除します。 ユーザーが現在ログインしている場合は、 プロセスの一部としてログアウトされます。 これはローカルの変更のみで、サーバー上のユーザーの状態には影響しません。

パラメーター

  • user - 削除します

戻り値

削除されたユーザー。

スロー

  • AppException - UI スレッドから呼び出された場合、またはユーザーがログインしたもののログアウトできなかった場合に呼び出される場合。

protected void setNetworkTransport (
OsJavaNetworkTransport transport
)
テスト用に公開されます。現在構成されているネットワークトランスポートと提供されたネットワークトランスポートとをスワップします。 これは、ネットワーク リクエストが現在実行中の場合にのみ実行する必要があります。
public User switchUser (
User user
)

現在のユーザーを切り替えます。現在のユーザーは、 currentUser()によって返されたユーザーです。

パラメーター

  • user - 新しい現在のユーザー。

スロー

戻る

io.realm.mongodb