The App client is the interface for the App Services backend. It provides access to the authentication functionality, functions, and sync management.
Inicializar reino
Before you can use Realm in your app, you must initialize the Realm library. Your application should initialize Realm just once each time the application runs.
Para inicializar la biblioteca Realm, proporcione un Android
context a la función estática Realm.init(). Puede proporcionar una actividad, un fragmento o una aplicación context para la inicialización sin ninguna diferencia de comportamiento. Puede inicializar la biblioteca Realm en el método onCreate() de un subclase de aplicación para garantizar que solo inicialice Realm una vez cada vez que se ejecute la aplicación.
Realm.init(this); // context, usually an Activity or Application
Realm.init(this) // context, usually an Activity or Application
Tip
Register Your Application Subclass in the Android Manifest
If you create your own Application subclass, you must add it to your application's AndroidManifest.xml to execute your custom application logic. Set the android.name property of your manifest's application definition to ensure that Android instantiates your Application subclass before any other class when a user launches your application.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mongodb.example"> <application android:name=".MyApplicationSubclass" ... /> </manifest>
Access the App Client
Pass the App ID for your App, which you can find in the Realm UI.
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())
Importante
Initialize the App before Creating an Instance
Debe inicializar la conexión de su aplicación con Realm.init() antes de crear cualquier instancia de un App.
Configuración
Para la mayoría de los casos de uso, solo necesitas el ID de la aplicación para conectarte a los servicios de App Services. Para un control más granular de los detalles de la conexión de tu aplicación, como tiempos de espera personalizados para las conexiones, códecs utilizados para el acceso a los datos de MongoDB y claves para cifrado local, puedes usar opcionalmente el AppConfiguration Builder para controlar los detalles de tu 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())
Puedes crear varias instancias de un cliente de aplicación para conectarte a múltiples aplicaciones. Todas las instancias de cliente de aplicación que comparten el mismo ID de la aplicación utilizan la misma conexión subyacente.
Importante
Changing an App Config After Initializing the App
Cambiado en la versión10.18.0 v: urlPrefix no se almacena en caché en la configuración de la aplicación
When you initialize the App client, the configuration is cached internally. Attempting to close and then re-open an App with a changed configuration within the same process has no effect. The client continues to use the cached configuration.
En la versión del SDK de Java 10.18.0 y posteriores, el prefijo URL ya no se almacena en caché en la configuración de la aplicación. Esto significa que puede cambiar el urlPrefix y el cliente de la aplicación usará la configuración actualizada. En versiones anteriores del SDK, los cambios en el urlPrefix en una configuración de la aplicación almacenada en caché no surten efecto.