io.realm.mongodb
Una aplicación es el principal punto de entrada del lado del cliente para interactuar con una aplicación MongoDB Realm. La aplicación se puede utilizar para:
Registrar usos y realizar diversas operaciones relacionadas con el usuario a través de proveedores de autenticación(io.realm.mongodb.auth.ApiKeyAuth, EmailPasswordAuthImpl)
Sincronice datos entre el dispositivo local y una aplicación Realm remota con Synchronized Realms
Accede a datos remotos de bases de datos MongoDB con un io.realm.mongodb.mongo.MongoClient
Para crear una aplicación vinculada con una aplicación Realm remota, inicialice Realm y configure la aplicación como se muestra a continuación:
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); } }
Tras configurar la aplicación, puede empezar a gestionar usuarios, configurar dominios sincronizados, invocar funciones remotas de dominios y acceder a datos remotos mediante colecciones de Mongo. Los ejemplos a continuación muestran las API sincronizadas que no se pueden usar desde el hilo principal. Para ver las API asíncronas equivalentes, consulte https://github.com/realm/realm-java/tree/main/examples/mongoDbRealmExample.
Para registrar un nuevo usuario y/o iniciar sesión con un usuario existente haga lo que se muestra a continuación:
// Register new user APP.getEmailPassword().registerUser(username, password); // Login with existing user User user = APP.login(Credentials.emailPassword(username, password))
Con un usuario autorizado puedes sincronizar datos entre el dispositivo local y la aplicación Realm remota abriendo un Realm con io.realm.mongodb.sync.SyncConfiguration como se indica a continuación:
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();
Puede llamar a funciones de Realm remotas como se muestra a continuación:
Functions functions = user.getFunctions(); Integer sum = functions.callFunction("sum", Arrays.asList(1, 2, 3, 4), Integer.class);
Y acceder a las colecciones desde la aplicación Realm remota como se muestra aquí:
MongoClient client = user.getMongoClient(SERVICE_NAME) MongoDatabase database = client.getDatabase(DATABASE_NAME) MongoCollection<DocumentT> collection = database.getCollection(COLLECTION_NAME); Long count = collection.count().get()
Constructores
Constructor y descripción |
|---|
Constructor para crear una aplicación según la AppConfiguration indicada. |
Resumen de clases anidadas
Modificador y Tipo | Clase y descripción |
|---|---|
| |
|
Resumen del campo
Modificador y Tipo | Campo y descripción |
|---|---|
Grupo de subprocesos utilizado al realizar solicitudes de red contra MongoDB Realm. Este grupo solo se expone para fines de prueba y reemplazarlo mientras la cola no esté vacía dará como resultado un comportamiento indefinido. |
Resumen del método
Modificador y Tipo | Método y descripción |
|---|---|
vacío público | Establece un detector de autenticación global que recibirá notificaciones sobre eventos de usuario, como inicio y cierre de sesión. |
allUsers () Devuelve todos los usuarios conocidos que son User.State.LOGGED_IN o User.State.LOGGED_OUT. | |
currentUser () Devuelve el usuario actual que ha iniciado sesión y aún es válido. | |
booleanopúblico | Dos aplicaciones se consideran iguales y compartirán su estado subyacente si ambas hacen referencia a la misma AppConfiguration.getAppId(). |
Configuración de aplicaciónpública | Devuelve el objeto de configuración para esta aplicación. |
Correo electrónicopúblico ContraseñaAutenticación | Devuelve un contenedor para interactuar con la funcionalidad relacionada con los usuarios creados o que iniciaron sesión mediante el proveedor de identidad Credentials.Provider.EMAIL_PASSWORD. |
Devuelve un administrador de funciones para invocar las funciones de la aplicación Realm con un registro de códec personalizado para codificar y decodificar argumentos y resultados. | |
Devuelve un administrador de funciones para invocar las funciones de Realm de la aplicación Realm. | |
Sincronizaciónpública | getSync () Devuelve la instancia de sincronización que administra las sesiones de sincronización de Realm en curso y sincroniza los datos entre la aplicación de Realm local y la aplicación de Realm remota asociada con esta aplicación. |
entero público | hashCode () |
Inicia sesión como usuario con las credenciales proporcionadas asociadas a un proveedor de autenticación. | |
Tarea asincrónica dedominio público | Inicia sesión como usuario con las credenciales proporcionadas asociadas a un proveedor de autenticación. |
vacío público | Elimina el escucha de autenticación global proporcionado. |
Elimina las credenciales de un usuario de este dispositivo. | |
vacío protegido | Expuesto para pruebas. |
Cambiar el usuario actual. |
Métodos heredados
Detalle del Campo
NETWORK_POOL_EXECUTOR
Grupo de subprocesos utilizado al realizar solicitudes de red contra MongoDB Realm. Este grupo solo se expone para fines de prueba y reemplazarlo mientras la cola no esté vacía dará como resultado un comportamiento indefinido.
Detalle del constructor
Constructor para crear una aplicación según la AppConfiguration indicada. Parámetros
|
Detalle del método
addAuthenticationListener
Establece un oyente de autenticación global que recibirá notificaciones sobre eventos de usuario, como inicio y cierre de sesión. Las devoluciones de llamadas a los oyentes de autenticación se realizarán en el hilo de la interfaz de usuario. Parámetros
Lanzamientos
|
todos los usuarios
Devuelve todos los usuarios conocidos que son User.State.LOGGED_IN o User.State.LOGGED_OUT. Sólo se devolverán los usuarios que en algún momento iniciaron sesión en este dispositivo. Devuelve un mapa de identificadores de usuarios y usuarios conocidos localmente. |
usuario actual
public User currentUser () |
|---|
Devuelve el usuario actual que ha iniciado sesión y aún es válido. Un usuario se invalida cuando cierra sesión o cuando su token de actualización caduca o se revoca. Si dos o más usuarios han iniciado sesión, este método devuelve el último usuario válido. Devuelve Usuario actual que ha iniciado sesión y aún es válido. |
equals
Dos aplicaciones se consideran iguales y compartirán su estado subyacente si ambas hacen referencia a la misma AppConfiguration.getAppId(). Anulaciones
|
getConfiguration
public AppConfiguration getConfiguration () |
|---|
Devuelve el objeto de configuración para esta aplicación. Devuelve La configuración de esta aplicación. |
obtenerContraseña de correo electrónico
public EmailPasswordAuth getEmailPassword () |
|---|
Devuelve un contenedor para interactuar con la funcionalidad relacionada con los usuarios creados o que iniciaron sesión mediante el proveedor de identidad Credentials.Provider.EMAIL_PASSWORD. Devuelve contenedor para interactuar con el proveedor de identidad Credentials.Provider.EMAIL_PASSWORD. |
obtenerFunciones
Devuelve un administrador de funciones para invocar las funciones de la aplicación Realm con un registro de códec personalizado para codificar y decodificar argumentos y resultados. Tip |
Devuelve un Administrador de funciones para invocar las funciones de Realm de la aplicación Realm. Esto usará el registro de códecs por defecto de la aplicación para codificar y decodificar argumentos y resultados. |
obtener sincronización
Devuelve la instancia de sincronización que administra las sesiones de sincronización de Realm en curso y sincroniza los datos entre la aplicación de Realm local y la aplicación de Realm remota asociada con esta aplicación. Devuelve la instancia de sincronización asociada con esta aplicación. |
código hash
login
Inicia sesión como un usuario con las credenciales proporcionadas asociadas a un proveedor de autenticación. El usuario que inicia sesión se convierte en el usuario actual. Otras funciones de la aplicación actúan en nombre del usuario actual. Si ya existe un usuario activo, ese usuario sigue ha iniciado sesión y se puede encontrar en la lista devuelta por allUsers() . También es posible cambiar entre qué usuario se considera el usuario actual utilizando switchUser(User). Parámetros
Devuelve un usuario que representa al usuario conectado. Lanzamientos
|
loginAsync
Inicia sesión como un usuario con las credenciales proporcionadas asociadas a un proveedor de autenticación. El usuario que inicia sesión se convierte en el usuario actual. Otras funciones de la aplicación actúan en nombre del usuario actual. Si ya existe un usuario activo, ese usuario sigue ha iniciado sesión y se puede encontrar en la lista devuelta por allUsers() . También es posible cambiar entre qué usuario se considera el usuario actual utilizando switchUser(User). Parámetros
Lanzamientos
|
removeAuthenticationListener
Elimina el escucha de autenticación global proporcionado. Parámetros
|
eliminarUsuario
Elimina las credenciales de un usuario de este dispositivo. Si el usuario tenía la sesión iniciada, se cerrará como parte del proceso. Este cambio es solo local y no afecta el estado del usuario en el servidor. Parámetros
Devuelve usuario que fue eliminado. Lanzamientos
|
establecerTransporteDeRed
Expuesto para pruebas. Intercambie el transporte de red configurado actualmente con el proporcionado. Esto solo debe hacerse si no hay solicitudes de red en ejecución. |
cambiar de usuario
Cambiar el usuario actual. El usuario actual es el usuario devuelto por currentUser(). Parámetros
Lanzamientos
|