Aplicativo de classe
Nesta página
- io.realm.mongodb
- Construtores
- Resumo da classe aninhada
- Resumo do campo
- Resumo do método
- Métodos herdados
- Detalhes do campo
NETWORK_POOL_EXECUTOR
- Detalhes do construtor
- Detalhes do método
- addAuthenticationListener
- allUsers
- currentUser
- é igual a
- getConfiguration
- getEmailPassword
- getFunctions
- Sincronize
- hashCode
- login
- loginAsync
- removeAuthenticationListener
- removeUser
- setNetworkTransport
- switchUser
io.realm.mongodb
Um aplicativo é o principal ponto de entrada do lado do cliente para interagir com um aplicativo MongoDB Realm.O aplicativo pode ser usado para:
Registre usos e realize várias operações relacionadas ao usuário por meio de fornecedores de autenticação (io.realm.mongodb.auth.ApiKeyAuth , EmailPasswordAuthImpl)
Sincronize dados entre o dispositivo local e um aplicativo Realm remoto com Realms sincronizados
Invoque funções de aplicativo Realm com funções
Acesse dados remotos de bancos de dados MongoDB com um io. Realm.mongodb.mongo.MongoClient
Para criar um aplicativo vinculado a um aplicativo Realm remoto, inicialize o Realm e configure o aplicativo conforme mostrado abaixo:
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); } }
Depois de configurar o aplicativo , você pode começar a gerenciar usuários, configurar Realms sincronizados, chamar funções de Realm remotas e acessar dados remotos por meio de mongo Collections. Os exemplos abaixo mostram as APIs sincronizadas que não podem ser usadas a partir da thread principal. Para as contrapartes assíncronas equivalentes, consulte https://github.com/ Realm/realm-java/tree/main/examples/mongoDbRealmExample .
Para registrar um novo usuário e/ou fazer login com um usuário existente, faça o seguinte:
// Register new user APP.getEmailPassword().registerUser(username, password); // Login with existing user User user = APP.login(Credentials.emailPassword(username, password))
Com um usuário autorizado, você pode sincronizar dados entre o dispositivo local e o aplicativo Realm remoto abrindo um Realm com um io.realm.mongodb.sync.SyncConfiguration conforme indicado abaixo:
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();
Você pode chamar Função de Realm remotas como mostrado abaixo:
Functions functions = user.getFunctions(); Integer sum = functions.callFunction("sum", Arrays.asList(1, 2, 3, 4), Integer.class);
E acesse collection do Realm remoto, conforme mostrado aqui:
MongoClient client = user.getMongoClient(SERVICE_NAME) MongoDatabase database = client.getDatabase(DATABASE_NAME) MongoCollection<DocumentT> collection = database.getCollection(COLLECTION_NAME); Long count = collection.count().get()
Construtores
Construtor e descrição |
---|
Construtor para criar um aplicativo de acordo com o AppConfiguration fornecido. |
Resumo da classe aninhada
Modificador e tipo | Classe e descrição |
---|---|
public static | |
public static interface |
Resumo do campo
Modificador e tipo | campo e descrição |
---|---|
Pool de threads usado ao fazer solicitações de rede contra o MongoDB Realm. Esse pool é exposto apenas para fins de teste e substituí-lo enquanto a fila não estiver vazia resultará em comportamento indefinido. |
Resumo do método
Modificador e tipo | Método e descrição |
---|---|
public void | Define um ouvinte de autenticação global que será notificado sobre eventos do usuário, como login e logout. |
allUsers () Retorna todos os usuários conhecidos que são User.State.LOGGED_IN ou User.State.LOGGED_OUT . | |
usuáriopúblico | currentUser () Retorna o usuário atual que está conectado e ainda é válido. |
booleanopúblico | Dois aplicativos são considerados iguais e compartilharão seu estado subjacente se ambos se referirem ao mesmo AppConfiguration.getAppId() . |
appConfigurationpúblico | Retorna o objeto de configuração para este aplicativo. |
emailPasswordAuthpúblico | Retorna um wrapper para interagir com a funcionalidade relacionada a usuários que estão sendo criados ou conectados usando o provedor de identidade Credentials.Provider.MAIL_PASSWORD . |
funçõespúblicas | Retorna um gerenciador de funções para invocar as funções do Realm do aplicativo Realm com um registro de codec personalizado para codificar e decodificar argumentos e resultados. |
funçõespúblicas | Retorna um gerente de funções para invocar as funções do Realm do aplicativo Realm. |
sincronizaçãopública | getSync () Retorna a instância de sincronização que gerencia as sessões de sincronização de dados em andamento, sincronizando dados entre o aplicativo Realm Realm e remoto associado a esse aplicativo. |
public int | hashCode () |
usuáriopúblico | Faz login como um usuário com as credenciais fornecidas associadas a um fornecedor de autenticação. |
RealmAsyncTaskpúblico | Faz login como um usuário com as credenciais fornecidas associadas a um fornecedor de autenticação. |
public void | Remove o ouvinte de autenticação global fornecido. |
usuáriopúblico | Remove as credenciais do usuário deste dispositivo. |
protegida nula | Exposto para teste. |
usuáriopúblico | Trocar o usuário atual. |
Métodos herdados
Métodos herdados da classe java.lang.Object :
getClass
,hashCode
,equals
,clone
,toString
,notify
,notifyAll
,wait
,wait
,wait
,finalize
Detalhes do campo
NETWORK_POOL_EXECUTOR
Pool de threads usado ao fazer solicitações de rede contra o MongoDB Realm. Esse pool é exposto apenas para fins de teste e substituí-lo enquanto a fila não estiver vazia resultará em comportamento indefinido.
Detalhes do construtor
Construtor para criar um aplicativo de acordo com o AppConfiguration fornecido. Parâmetros
|
Detalhes do método
addAuthenticationListener
Define um ouvinte de autenticação global que será notificado sobre eventos de usuário, como login e logout.Callbacks para ouvintes de autenticação acontecerão no thread da interface do usuário. Parâmetros
Lança
|
allUsers
Retorna todos os usuários conhecidos que são User.State.LOGGED_IN ou User.State.LOGGED_OUT . Somente os usuários que, em algum ponto, fizeram login neste dispositivo serão retornados. Devoluções um mapa de identificadores de usuário e usuários conhecidos localmente. |
currentUser
public User currentUser () |
---|
Retorna o usuário atual que está conectado e ainda válido. Um usuário é invalidado quando ele faz logout ou o token de atualização do usuário expira ou é revogado. Se dois ou mais usuários estiverem conectados, será o último usuário válido que será retornado por este método. Devoluções usuário atual que fez logon e ainda é válido. |
é igual a
Dois aplicativos são considerados iguais e compartilharão seu estado subjacente se ambos se referirem ao mesmo AppConfiguration.getAppId() . Substitui
|
getConfiguration
public AppConfiguration getConfiguration () |
---|
Retorna o objeto de configuração para este aplicativo. Devoluções a configuração deste aplicativo. |
getEmailPassword
public EmailPasswordAuth getEmailPassword () |
---|
Retorna um wrapper para interagir com a funcionalidade relacionada a usuários que estão sendo criados ou conectados usando o provedor de identidade Credentials.Provider.MAIL_PASSWORD . Devoluções wrapper para interagir com o provedor de identidade Credentials.Provider.MAIL_PASSWORD . |
getFunctions
Retorna um gerenciador de funções para invocar as funções do Realm do aplicativo Realm com um registro de codec personalizado para codificar e decodificar argumentos e resultados. |
Retorna um gerenciador de funções para invocar as funções do Realm do aplicativo Realm . Isso usará o registro de codec padrão do aplicativo para codificar e decodificar argumentos e resultados. |
Sincronize
hashCode
public int hashCode () |
---|
Substitui
|
login
Faz login como usuário com as credenciais fornecidas associadas a um provedor de autenticação. O usuário que faz login se torna o usuário atual. Outras funcionalidades do aplicativo atuam em nome do usuário atual. Se já houver um usuário atual, esse usuário ainda estará conectado e pode ser encontrado na lista retornada por allUsers() . Também é possível alternar entre qual usuário é considerado o usuário atual usando switchUser(User) . Parâmetros
Devoluções um usuário que representa o usuário conectado. Lança
|
loginAsync
Faz login como usuário com as credenciais fornecidas associadas a um provedor de autenticação. O usuário que faz login se torna o usuário atual. Outras funcionalidades do aplicativo atuam em nome do usuário atual. Se já houver um usuário atual, esse usuário ainda estará conectado e pode ser encontrado na lista retornada por allUsers() . Também é possível alternar entre qual usuário é considerado o usuário atual usando switchUser(User) . Parâmetros
Lança |
removeAuthenticationListener
Remove o ouvinte de autenticação global fornecido. Parâmetros
|
removeUser
Remove as credenciais do usuário deste dispositivo. Se o usuário estava conectado no momento, ele será desconectado como parte do processo. Esta é apenas uma alteração local e não afeta o estado do usuário no servidor. Parâmetros
Devoluções usuário que foi removido. Lança
|
setNetworkTransport
Exposto para teste.Troque o transporte de rede atualmente configurado pelo fornecido. Isso só deve ser feito se nenhuma solicitação de rede estiver em execução no momento. |
switchUser
Alternar usuário atual.O usuário atual é o usuário retornado por currentUser() . Parâmetros
Lança
|