Conectar a um backend do Atlas App Services - Java SDK
O cliente da aplicação é a interface para o backend do App Services. Ela fornece acesso à funcionalidade de autenticação, funções e gerenciamento de sincronização.
Inicializar Realm
Antes de usar o Realm em seu aplicativo, você deve inicializar a biblioteca do Realm. Seu aplicativo deve inicializar o Realm apenas uma vez a cada vez que o aplicativo for executado.
Para inicializar a biblioteca Realm , forneça um Android context
para a Realm.init()
função estática . Você pode fornecer uma Atividade, Fragmento ou Aplicativo context
para inicialização sem nenhuma diferença no comportamento. Você pode inicializar a biblioteca Realm no onCreate()
método de uma aplicação para garantir que você inicialize o Realm apenas uma vez a cada vez que o aplicação for executado.
Realm.init(this); // context, usually an Activity or Application
Realm.init(this) // context, usually an Activity or Application
Dica
Registre sua subclasse de aplicativo no manifesto do Android
Se você criar sua própria subclasse Application
, deverá adicioná-la ao AndroidManifest.xml
do seu aplicativo para executar sua lógica personalizada do aplicativo. Defina a propriedade android.name
da definição do aplicativo do seu manifesto para garantir que o Android instancie sua subclasse Application
antes de qualquer outra classe quando um usuário iniciar seu aplicativo.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mongodb.example"> <application android:name=".MyApplicationSubclass" ... /> </manifest>
Acesse o cliente do aplicativo
Passe o ID do aplicativo para seu aplicativo, que você pode encontrar na interface do 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
Inicialize o aplicativo antes de criar uma instância
Você deve inicializar a conexão do seu aplicativo com Realm.init()
antes de criar qualquer instância de um App
.
Configuração
Na maioria dos casos de uso, você só precisa do ID do aplicativo para se conectar ao App Services. Para um controle mais granular dos detalhes da conexão do aplicativo, como tempos limite personalizado para conexões, codecs usados para o MongoDB Data Access e chaves para criptografia local, você pode opcionalmente usar o AppConfiguration
Builder para controlar os detalhes do seu 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())
Você pode criar várias instâncias do cliente de aplicativo para se conectar a vários aplicativos. Todas as instâncias de cliente de aplicativo que compartilham a mesma ID de aplicativo usam a mesma conexão subjacente.
Importante
Alterando uma configuração de aplicativo após inicializar o aplicativo
Alterado na versão v10.18.0: urlPrefix
não está armazenado em cache na configuração da aplicação
Quando você cliente o , a configuração é armazenada em cache internamente. A tentativa de fechar e reabrir uma aplicação com uma configuração alterada dentro do mesmo processo não tem efeito. O cliente continua usando a configuração em cache.
No Java SDK versão 10.18.0 e posterior, o urlPrefix não é mais armazenado em cache na configuração do aplicativo. Isso significa que você pode alterar o urlPrefix
e o cliente da aplicação usará a configuração atualizada. Em versões anteriores do SDK, as alterações no urlPrefix
em uma configuração de aplicativo em cache não têm efeito.