Atlas App Services バックエンドへの接続 - Java SDK
App クライアントは、App Services バックエンドのインターフェースです。 認証機能、関数、同期マネジメントへのアクセスを提供します。
Realm の初期化
アプリで Realm を使用する前に、Realm ライブラリを初期化する必要があります。 アプリケーションは、アプリケーションを実行するたびに Realm を 1 回だけ初期化する必要があります。
Realmライブラリを初期化するには、context
Realm.init()
静的関数に Android を指定します。初期化用のアクティビティ、フラグメント、またはアプリケーションcontext
を指定すると、動作に違いはありません。 Realmライブラリは、onCreate()
アプリケーションサブクラス の メソッドで初期化できます アプリケーションを実行するたびに、 Realmを 1 回だけ初期化するようにします。
Realm.init(this); // context, usually an Activity or Application
Realm.init(this) // context, usually an Activity or Application
Tip
Android マニフェストでのアプリケーション サブクラスの登録
独自のApplication
サブクラスを作成する場合は、カスタム アプリケーション ロジックを実行するためにアプリケーションのAndroidManifest.xml
にそれを追加する必要があります。 マニフェストのアプリケーション定義のandroid.name
プロパティを設定して、ユーザーがアプリケーションを起動したときに Android が他のクラスよりも先にApplication
サブクラスをインスタンス化するようにします。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mongodb.example"> <application android:name=".MyApplicationSubclass" ... /> </manifest>
アプリ クライアントへのアクセス
Realm UI で確認できるアプリのアプリケーション ID を渡します。
String appID = YOUR_APP_ID; // replace this with your App ID App app = new App(new AppConfiguration.Builder(appID).build());
val appID : String = YOUR_APP_ID // replace this with your App ID val app: App = App(AppConfiguration.Builder(appID).build())
重要
インスタンスを作成する前にアプリを初期化する
App
のインスタンスを作成する前に、 Realm.init()
とアプリ接続を初期化する必要があります。
構成
ほとんどのユースケースでは、App Services に接続するためにアプリケーションのアプリケーション ID のみが必要です。 接続のカスタム タイムアウト、MongoDB Data Access に使用されるコーデック、ローカル暗号化のキーなど、アプリ接続の詳細をより細かく制御するには、オプションでAppConfiguration
ビルダを使用してApp
の詳細を制御できます。
String appID = YOUR_APP_ID; // replace this with your App ID App app = new App(new AppConfiguration.Builder(appID) .appName("My App") .requestTimeout(30, TimeUnit.SECONDS) .build());
val appID = YOUR_APP_ID // replace this with your App ID val app: App = App(AppConfiguration.Builder(appID) .appName("My App") .requestTimeout(30, TimeUnit.SECONDS) .build())
複数のアプリに接続するには、複数のアプリクライアントインスタンスを作成します。 同じアプリ ID を共有するすべてのアプリクライアント インスタンスは、同じ基礎の接続を使用します。
重要
アプリ初期化後のアプリ構成の変更
バージョン v 10.18.0での変更: urlPrefix
はアプリ構成にキャッシュされません
App クライアントを初期化すると、構成は内部的にキャッシュされます。 同じプロセス内で変更された構成でアプリを閉じてから再度開かしようとしても効果はありません。 クライアントはキャッシュされた構成を引き続き使用します。
Java SDK バージョン10.18.0以降では、 urlPrefixはアプリ構成にキャッシュされなくなりました。 つまり、 urlPrefix
を変更でき、アプリクライアントは更新された構成を使用します。 以前の SDK バージョンでは、キャッシュされたアプリ構成でurlPrefix
を変更しても効果はありません。