Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ / /

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
java.lang.Object
io.realm.mongodb.App

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
@Override
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()

Dica

Veja também:

Construtor e descrição
App (
String appId
)

Construtor para criar um aplicativo de acordo com o AppConfiguration fornecido.

Modificador e tipo
Classe e descrição
public static
public static interface
Modificador e tipo
campo e descrição

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.

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.

mapa público

Retorna todos os usuários conhecidos que são User.State.LOGGED_IN ou User.State.LOGGED_OUT .

usuáriopúblico

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() .

Retorna o objeto de configuração para este aplicativo.

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
User user,
CodecRegistry codecRegistry
)

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.

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
usuáriopúblico
Credentials credentials
)

Faz login como um usuário com as credenciais fornecidas associadas a um fornecedor de autenticação.

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
OsJavaNetworkTransport transport
)

Exposto para teste.

usuáriopúblico

Trocar o usuário atual.

  • Métodos herdados da classe java.lang.Object : getClass , hashCode , equals , clone , toString , notify , notifyAll , wait , wait , wait , finalize

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.

public App (
String appId
)
public App (
)

Construtor para criar um aplicativo de acordo com o AppConfiguration fornecido.

Parâmetros

  • config - A configuração a ser usada para esta instância do aplicativo .

Dica

Veja também:

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

  • listener - ouvinte para registrar.

Lança

public Map 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.

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. null se nenhum usuário estiver conectado ou se o usuário tiver expirado.

public boolean equals (
)

Dois aplicativos são considerados iguais e compartilharão seu estado subjacente se ambos se referirem ao mesmo AppConfiguration.getAppId() .

Substitui

equals no objeto de classe

Retorna o objeto de configuração para este aplicativo.

Devoluções

a configuração deste aplicativo.

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 .

User user,
CodecRegistry codecRegistry
)

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.

Dica

Veja também:

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.

public Sync 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.

Devoluções

a instância de sincronização associada a esta aplicação.

public int hashCode ()

Substitui

hashCode no objeto de classe

public User login (
Credentials credentials
)

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

  • credentials - as credenciais que representam o tipo de login.

Devoluções

um usuário que representa o usuário conectado.

Lança

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

  • credentials - as credenciais que representam o tipo de login.

  • callback - chamada de resposta quando o login for concluído ou falhar. A chamada de resposta sempre acontecerá no mesmo thread em que este método é chamado.

Lança

  • Exceção de estado ilegal - se não for chamado em uma thread looper.

Remove o ouvinte de autenticação global fornecido.

Parâmetros

  • listener - ouvinte a ser removido.

public User removeUser (
User user
)

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

  • user - para remover

Devoluções

usuário que foi removido.

Lança

  • AppException - se chamado a partir do thread da interface do usuário ou se o usuário estava conectado, mas não pôde ser desconectado.

protected void setNetworkTransport (
OsJavaNetworkTransport transport
)
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.
public User switchUser (
User user
)

Alternar usuário atual.O usuário atual é o usuário retornado por currentUser() .

Parâmetros

  • user - o novo usuário atual.

Lança

Voltar

io.realm.mongodb