Docs Menu
Docs Home
/ /
Atlas Device SDK
/ / /

클래스 앱

이 페이지의 내용

  • io.realm.mongodb
  • 생성자
  • 중첩된 클래스 요약
  • 필드 요약
  • 메서드 요약
  • 상속된 메서드
  • 필드 세부 정보
  • NETWORK_POOL_EXECUTOR
  • 생성자 세부 정보
  • 메서드 세부 정보
  • addAuthenticationListener
  • allUsers
  • currentUser
  • 같음
  • getConfiguration
  • getEmailPassword
  • getFunctions
  • getSync
  • 해시 코드
  • login
  • loginAsync
  • removeAuthenticationListener
  • removeUser
  • setNetworkTransport
  • switchUser
java.lang.Object
io.realm.mongodb.App

MongoDB Realm 앱 과 상호 작용하기 위한 주요 클라이언트 사이드 진입점입니다. 은 다음 작업에 사용할 수 있습니다.

  • 인증 제공자(io.realm.mongodb.auth.ApiKeyAuth , EmailPasswordAuthImpl)를 통해 용도를 등록하고 다양한 사용자 관련 작업을 수행합니다.

  • 동기화된 Realm을 사용하여 로컬 장치와 원격 Realm 앱 간에 데이터 동기화

  • Functions로 Realm 앱 함수 호출

  • io 를 사용하여 MongoDB 데이터베이스의 원격 데이터에 액세스합니다. Realm 영역. Mongo.MongoClient

원격 Realm 앱 과 연결된 앱을 만들려면 Realm을 초기화하고 아래와 같이 을 구성합니다.

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);
}
}

을 구성한 후 사용자 관리를 시작하고, 동기화된 Realm을 구성하고, 원격 Realm 함수를 호출하고, mongo 컬렉션을 통해 원격 데이터에 액세스 . 아래 예제는 메인 스레드에서 사용할 수 없는 동기화된 API를 보여줍니다. 이에 상응하는 비동기식 문서는 https://github.com/realm / 영역-java/tree/main/examples/mongoDbRealmExample 을 참조하세요. .

새 사용자를 등록하거나 기존 사용자로 로그인하려면 아래와 같이 하세요:

// Register new user
APP.getEmailPassword().registerUser(username, password);
// Login with existing user
User user = APP.login(Credentials.emailPassword(username, password))

권한이 부여된 사용자와 함께 아래와 같이 io.realm.mongodb.sync.SyncConfiguration 을 사용하여 Realm을 열어 로컬 장치와 원격 Realm 앱 간에 데이터를 동기화할 수 있습니다.

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

아래와 같이 원격 Realm 함수를 호출할 수 있습니다.

Functions functions = user.getFunctions();
Integer sum = functions.callFunction("sum", Arrays.asList(1, 2, 3, 4), Integer.class);

그리고 다음과 같이 원격 Realm 앱에서 collection에 액세스합니다.

MongoClient client = user.getMongoClient(SERVICE_NAME)
MongoDatabase database = client.getDatabase(DATABASE_NAME)
MongoCollection<DocumentT> collection = database.getCollection(COLLECTION_NAME);
Long count = collection.count().get()

다음도 참조하세요.

생성자 및 설명
App (
String appId
)

지정된 AppConfiguration 에 따라 을 만들기 위한 생성자입니다.

수정자 및 유형
클래스 및 설명
public static
public static interface
수정자 및 유형
필드 및 설명

NETWORK_POOL_EXECUTOR

MongoDB Realm 에 대해 네트워크 요청을 수행할 때 사용되는 스레드 풀 . 이 풀은 테스트 목적으로만 노출되며 대기열이 비어 있지 않은 상태에서 교체하면 정의되지 않은 동작이 발생합니다.

수정자 및 유형
메서드 및 설명
public void

로그인 및 로그아웃과 같은 사용자 이벤트에 대해 알림을 받을 글로벌 인증 리스너를 설정합니다.

공개 지도

User.State.LOGGED_IN 또는 User.State.LOGGED_OUT 인 모든 알려진 사용자를 반환합니다.

공개 사용자

로그인하여 여전히 유효한 현재 사용자를 반환합니다.

공개 부울

두 앱은 동일한 것으로 간주되며 둘 다 동일한 AppConfiguration.getAppId() 를 참조하는 경우 기본 상태 를 주식 합니다.

이 앱의 구성 객체를 반환합니다.

Credentials.Provider.EMAIL_PASSword ID 제공자 를 사용하여 생성되거나 로그인되는 사용자와 관련된 기능과 상호 작용하기 위한 래퍼를 반환합니다.

공개 함수
User user,
CodecRegistry codecRegistry
)

인수와 결과를 인코딩 및 디코딩하기 위한 사용자 지정 코덱 레지스트리를 사용하여 Realm 앱의 Realm Functions를 호출하기 위한 함수 관리자를 반환합니다.

공개 함수

Realm 앱의 Realm 함수를 호출하기 위한 함수 관리자를 반환합니다.

공개 동기화

이 앱 과 연결된 로컬 Realm 앱과 원격 Realm 앱 간의 데이터를 동기화하는 진행 중인 Realm 동기화 세션을 관리하는 동기화 인스턴스 반환합니다.

public int
공개 사용자
Credentials credentials
)

인증 제공자와 연결된 지정된 자격 증명을 사용하여 사용자로 로그인합니다.

인증 제공자와 연결된 지정된 자격 증명을 사용하여 사용자로 로그인합니다.

public void

제공된 전역 인증 수신기를 제거합니다.

공개 사용자

이 기기에서 사용자 자격 증명을 제거합니다.

보호된 보이드
OsJavaNetworkTransport transport
)

테스트를 위해 노출되었습니다.

공개 사용자

현재 사용자를 전환합니다.

MongoDB Realm 에 대해 네트워크 요청을 수행할 때 사용되는 스레드 풀 . 이 풀은 테스트 목적으로만 노출되며 대기열이 비어 있지 않은 상태에서 교체하면 정의되지 않은 동작이 발생합니다.

public App (
String appId
)
public App (
)

지정된 AppConfiguration 에 따라 을 만들기 위한 생성자입니다.

매개변수

  • config - 이 인스턴스 에 사용할 구성입니다.

다음도 참조하세요.

로그인 및 로그아웃과 같은 사용자 이벤트에 대해 알림을 받을 글로벌 인증 리스너를 설정합니다. 인증 리스너에 대한 콜백은 UI 스레드에서 발생합니다.

매개변수

  • listener - 리스너를 등록합니다.

스로우

public Map allUsers ()

User.State.LOGGED_IN 또는 User.State.LOGGED_OUT 인 모든 알려진 사용자를 반환합니다.

특정 점에 이 장치에 로그인한 사용자만 반환됩니다.

반환

사용자 식별자와 로컬에 알려진 사용자의 맵입니다.

public User currentUser ()

로그인되어 여전히 유효한 현재 사용자를 반환합니다. 사용자가 로그아웃하거나 사용자의 새로 고침 토큰이 만료되거나 해지되면 사용자가 무효화됩니다.

두 명 이상의 사용자가 로그인한 경우 이 메서드는 마지막으로 유효한 사용자를 반환합니다.

반환

로그인한 적이 있고 여전히 유효한 현재 사용자 입니다. 로그인한 사용자가 없거나 사용자가 만료된 경우 null 입니다.

public boolean equals (
)

두 앱은 동일한 것으로 간주되며 둘 다 동일한 AppConfiguration.getAppId() 를 참조하는 경우 기본 상태 를 주식 합니다.

재정의

equals 클래스 객체 에서

이 앱의 구성 객체를 반환합니다.

반환

이 앱의 구성입니다.

Credentials.Provider.EMAIL_PASSword ID 제공자 를 사용하여 생성되거나 로그인되는 사용자와 관련된 기능과 상호 작용하기 위한 래퍼를 반환합니다.

반환

Credentials.Provider.EMAIL_PASSword ID 제공자 와 상호 작용하기 위한 래퍼입니다.

User user,
CodecRegistry codecRegistry
)

인수와 결과를 인코딩 및 디코딩하기 위한 사용자 지정 코덱 레지스트리를 사용하여 Realm 앱의 Realm Functions를 호출하기 위한 함수 관리자를 반환합니다.

다음도 참조하세요.

Realm 앱의 Realm Functions를 호출하기 위한 함수 관리자를 반환합니다. 이 경우 앱의 기본값 코덱 레지스트리를 사용하여 인수와 결과를 인코딩하고 디코딩합니다.

public Sync getSync ()

이 앱 과 연결된 로컬 Realm 앱과 원격 Realm 앱 간의 데이터를 동기화하는 진행 중인 Realm 동기화 세션을 관리하는 동기화 인스턴스 반환합니다.

반환

과 연결된 동기화 인스턴스입니다.

public int hashCode ()

재정의

hashCode 클래스 객체 에서

public User login (
Credentials credentials
)

인증 제공자 와 연결된 지정된 자격 증명 을 사용하여 사용자로 로그인합니다. 로그인한 사용자가 현재 사용자가 됩니다. 다른 앱 기능은 현재 사용자를 대신하여 작동합니다.

현재 사용자가 이미 있었다면 해당 사용자는 여전히 로그인되어 있으며 allUsers() 가 반환한 목록에서 찾을 수 있습니다.

switchUser(User) 를 사용하여 현재 사용자로 간주되는 사용자를 전환할 수도 있습니다.

매개변수

  • credentials - 로그인 유형을 나타내는 자격 증명입니다.

반환

로그인한 사용자 를 나타내는 사용자입니다.

스로우

  • AppException - 사용자가 로그인할 수 없는 경우입니다.

인증 제공자 와 연결된 지정된 자격 증명 을 사용하여 사용자로 로그인합니다. 로그인한 사용자가 현재 사용자가 됩니다. 다른 앱 기능은 현재 사용자를 대신하여 작동합니다.

현재 사용자가 이미 있었다면 해당 사용자는 여전히 로그인되어 있으며 allUsers() 가 반환한 목록에서 찾을 수 있습니다.

switchUser(User) 를 사용하여 현재 사용자로 간주되는 사용자를 전환할 수도 있습니다.

매개변수

  • credentials - 로그인 유형을 나타내는 자격 증명입니다.

  • callback - 로그인 완료 또는 실패 시 콜백을 실행합니다. 콜백은 항상 이 메서드가 호출되는 동일한 스레드에서 발생합니다.

스로우

  • 불법적인 상태 예외 - 루퍼 스레드에서 호출되지 않은 경우.

제공된 전역 인증 수신기를 제거합니다.

매개변수

  • listener - 제거할 리스너입니다.

public User removeUser (
User user
)

이 기기에서 사용자 자격 증명을 제거합니다. 사용자가 현재 로그인되어 있었다면 프로세스의 일부로 로그아웃됩니다. 이는 로컬 변경일 뿐이며 서버의 사용자 상태에는 영향을 주지 않습니다.

매개변수

  • user - 제거

반환

제거된 사용자입니다.

스로우

  • AppException - UI 스레드에서 호출되거나 사용자가 로그인했지만 로그아웃할 수 없는 경우입니다.

protected void setNetworkTransport (
OsJavaNetworkTransport transport
)
테스트를 위해 노출됩니다. 현재 구성된 네트워크 전송을 제공된 네트워크 전송으로 바꿉니다. 이 작업은 현재 실행 네트워크 요청이 없는 경우에만 수행해야 합니다.
public User switchUser (
User user
)

현재 사용자를 전환합니다. 현재 사용자는 currentUser() 에 의해 반환된 사용자입니다.

매개변수

  • user - 새로운 현재 사용자.

스로우

돌아가기

io.realm.mongodb