クラスアプリ
項目一覧
io.realm.mongodb
Appは、 MongoDB Realm Appを操作するための主要クライアント側エントリ ポイントです。このアプリは、次の目的で使用できます。
認証プロバイダー( io.realm.mongodb.auth.ApiKeyAuth 、 EmailPasswordAuthImpl )を通じて使用を登録し、さまざまなユーザー関連の操作を実行します
同期された 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 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()
コンストラクター
コンストラクターと説明 |
---|
指定されたAppConfigurationに従ってアプリを作成するためのコンストラクター。 |
ネストされたクラスの概要
修飾子と型 | クラスと説明 |
---|---|
public static | |
public static interface |
フィールドの概要
修飾子と型 | フィールドと説明 |
---|---|
MongoDB Realm に対してネットワーク リクエストを実行するときに使用されるスレッド プール。このプールはテスト目的でのみ公開されており、キューが空でない間に置き換えると未定義の動作が発生します。 |
メソッドの概要
修飾子と型 | メソッドと説明 |
---|---|
public void | ログインやログアウトなどのユーザー イベントについて通知されるグローバル認証リスナーを設定します。 |
public map | allUsers () ユーザー.State.LOGGED_INまたは ユーザー.State.LOGGED_OUTであるすべての既知のユーザーを返します。 |
publicユーザー | currentUser () ログインしていてまだ有効な現在のユーザーを返します。 |
パブリックブール値 | 2 つのアプリは同等と見なされ、両方が同じAppConfiguration.getAppId()を参照する場合は、基礎となる状態を共有します。 |
public AppConfiguration | このアプリの構成オブジェクトを返します。 |
public EmailPasswordAuth | Credentials.Provider.EMAIL_PASSWORD ID プロバイダーを使用して作成またはログインされたユーザーに関連する機能を操作するためのラッパーを返します。 |
public Functions | 引数と結果をエンコードおよびデコードするためのカスタム コーデック レジストリを使用して Realm アプリの Realm 関数を呼び出すための関数マネージャーを返します。 |
public Functions | Realm アプリの Realm 関数を呼び出すための関数マネージャーを返します。 |
公開同期 | getSync () このアプリに関連付けられているローカルとリモートのRealm アプリ間でデータを同期している進行中のRealm Syncセッションを管理するSyncインスタンスを返します。 |
public int | hashCode () |
publicユーザー | 認証プロバイダに関連付けられている指定された認証情報を持つユーザーとしてログインします。 |
public RealmAsyncTask | 認証プロバイダに関連付けられている指定された認証情報を持つユーザーとしてログインします。 |
public void | 提供されたグローバル認証リスナーを削除します。 |
publicユーザー | このデバイスからユーザー認証情報を削除します。 |
保護された無効 | テスト用に公開されています。 |
publicユーザー | 現在のユーザーを切り替えます。 |
継承されたメソッド
クラス java.lang.Object から継承されたメソッド :
getClass
、hashCode
、equals
、clone
、toString
、notify
、notifyAll
、wait
、wait
、wait
、finalize
フィールドの詳細
NETWORK_POOL_EXECUTOR
MongoDB Realm に対してネットワーク リクエストを実行するときに使用されるスレッド プール。このプールはテスト目的でのみ公開されており、キューが空でない間に置き換えると未定義の動作が発生します。
コンストラクターの詳細
指定されたAppConfigurationに従ってアプリを作成するためのコンストラクター。 パラメーター
|
メソッドの詳細
addAuthenticationLister
ログインやログアウトなどのユーザー イベントについて通知されるグローバル認証リスナーを設定します。認証リスナーへのコールバックは UI スレッドで実行されます。 パラメーター
スロー
|
allUsers
ユーザー.State.LOGGED_INまたは ユーザー.State.LOGGED_OUTであるすべての既知のユーザーを返します。 このデバイスにある時点でログインしたユーザーのみが返されます。 戻り値 ローカルで既知のユーザーとユーザーのマップ。 |
currentUser
public User currentUser () |
---|
ログインしていて、まだ有効である現在のユーザーを返します。ユーザーがログアウトしたり、ユーザーの更新トークンの有効期限が切れたり、取り消されたりすると、ユーザーは無効化されます。 2 人以上のユーザーがログインしている場合、このメソッドによって返される最後の有効なユーザーになります。 戻り値 ログイン して、まだ有効である現在のユーザー。 ログインしているユーザーがいない場合、またはユーザーの有効期限が切れている場合は、 |
equals
getConfiguration
public AppConfiguration getConfiguration () |
---|
このアプリの構成オブジェクトを返します。 戻り値 このアプリの構成。 |
getEmailPassword
public EmailPasswordAuth getEmailPassword () |
---|
Credentials.Provider.EMAIL_PASSWORD ID プロバイダーを使用して作成またはログインされたユーザーに関連する機能を操作するためのラッパーを返します。 戻り値 Credentials.Provider.EMAIL_PASSWORD ID プロバイダーを操作するためのラッパー。 |
getFunctions
引数と結果をエンコードおよびデコードするためのカスタム コーデック レジストリを使用して Realm アプリの Realm 関数を呼び出すための関数マネージャーを返します。 |
Realm アプリの Realm 関数を呼び出すための関数マネージャーを返します。これにより、アプリのデフォルトのコーデック レジストリを使用して引数と結果をエンコードおよびデコードします。 |
getSync
ハッシュコード
public int hashCode () |
---|
の上書き
|
login
認証プロバイダに関連付けられている指定された認証情報を持つユーザーとしてログインします。ログインするユーザーが現在のユーザーになります。 その他のアプリ機能は、現在のユーザーに代わって動作します。 現在のユーザーがすでに存在する場合、そのユーザーは引き続きログインし、 allUsers()によって返されるリストで見つけることができます。 また、 switchUser(User)を使用して、現在のユーザーと見なされるユーザーを切り替えることもできます。 パラメーター
戻り値 ログインユーザーを表す ユーザー。 スロー
|
loginAsync
認証プロバイダに関連付けられている指定された認証情報を持つユーザーとしてログインします。ログインするユーザーが現在のユーザーになります。 その他のアプリ機能は、現在のユーザーに代わって動作します。 現在のユーザーがすでに存在する場合、そのユーザーは引き続きログインし、 allUsers()によって返されるリストで見つけることができます。 また、 switchUser(User)を使用して、現在のユーザーと見なされるユーザーを切り替えることもできます。 パラメーター
スロー
|
deleteAuthenticationLister
提供されたグローバル認証リスナーを削除します。 パラメーター
|
deleteUser
このデバイスからユーザー認証情報を削除します。 ユーザーが現在ログインしている場合は、 プロセスの一部としてログアウトされます。 これはローカルの変更のみで、サーバー上のユーザーの状態には影響しません。 パラメーター
戻り値 削除されたユーザー。 スロー
|
setNetworkTransport
テスト用に公開されます。現在構成されているネットワークトランスポートと提供されたネットワークトランスポートとをスワップします。 これは、ネットワーク リクエストが現在実行中の場合にのみ実行する必要があります。 |