El cliente de la aplicación es la interfaz para el backend de App Services. Proporciona acceso a la funcionalidad de autenticación, las funciones y la gestión de la sincronización.
Inicializar reino
Antes de usar Realm en tu aplicación, debes inicializar la biblioteca Realm. Tu aplicación debe inicializar Realm solo una vez cada vez que se ejecuta.
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
Registra tu subclase de aplicación en el manifiesto de Android
Si crea su propia subclase Application, debe agregarla a la AndroidManifest.xml de su aplicación para ejecutar la lógica de aplicación personalizada. Configure la propiedad android.name en la definición de aplicación de su manifiesto para garantizar que Android cree una instancia de su subclase Application antes que cualquier otra clase cuando un usuario inicie su aplicación.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mongodb.example"> <application android:name=".MyApplicationSubclass" ... /> </manifest>
Acceder al cliente de la aplicación
Pase el ID de la aplicación para su aplicación, que puede encontrar en la interfaz de usuario de Realm.
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
Inicializar la aplicación antes de crear una instancia
Debe inicializar la conexión de su aplicación con Realm.init() antes de crear cualquier instancia de un App.
Configuración
En la mayoría de los casos de uso, solo necesita el ID de aplicación de su aplicación para conectarse a App Services. Para un control más detallado de los detalles de la conexión de su aplicación, como los tiempos de espera personalizados para las conexiones, los códecs utilizados para el acceso a datos de MongoDB y las claves para el cifrado local, puede usar opcionalmente el Constructor AppConfiguration para controlar los detalles de su 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 cliente de aplicación para conectarte a varias aplicaciones. Todas las instancias de cliente de aplicación que comparten el mismo ID de aplicación usan la misma conexión subyacente.
Importante
Cambiar la configuración de una aplicación después de inicializarla
Cambiado en la versión10.18.0 v: urlPrefix no se almacena en caché en la configuración de la aplicación
Al inicializar el cliente de la aplicación, la configuración se almacena en caché internamente. Intentar cerrar y volver a abrir una aplicación con una configuración modificada dentro del mismo proceso no tiene ningún efecto. El cliente continúa usando la configuración almacenada en caché.
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.