클래스 동기화 구성


  • public class SyncConfiguration
    extends RealmConfiguration
    SyncConfiguration 은(는) MongoDB Realm을 사용하여 기기 간에 동기화할 수 있는 Realm 데이터베이스를 설정하는 데 사용됩니다.

    을(를) 만들려면 User SyncConfiguration 유효한 이(가) 필요합니다. 사용자 객체를 가져오는 방법에 대한 자세한 내용은 CredentialsApp.loginAsync(Credentials, App.Callback) 를 참조하세요.

    최소 SyncConfiguration 는 아래에서 찾을 수 있습니다.

     
     App app = new App("app-id");
     User user = app.login(Credentials.anonymous());
     SyncConfiguration config = SyncConfiguration.defaultConfiguration(user, "partition-value");
     Realm realm = Realm.getInstance(config);
     
     

    동기화된 Realm은 자동으로 감지되고 수행될 수 있는 추가 마이그레이션만 지원하므로 다음 빌더 옵션은 일반 Realm에 비해 액세스할 수 없습니다.

    • deleteRealmIfMigrationNeeded()
    • migration(Migration)
    동기화된 Realm은 일반 동기화되지 않은 Realm과 마찬가지로 Realm.getInstance(RealmConfiguration)Realm.getDefaultInstance() 를 사용하여 생성됩니다.
    다음도 참조하세요.
    동기화에 대한 자세한 내용은 Docs 를 참조하세요.
    • 메서드 세부 정보

      • for Recovery

        public static RealmConfiguration forRecovery​(String canonicalPath,
                                                     @Nullable
                                                     byte[] encryptionKey,
                                                     @Nullable
                                                     Object... modules)
        보류 중인 변경 사항을 복구하기 위해 동기화되지 않은 읽기 전용 Realm을 여는 데 적합한 RealmConfiguration 을(를) 반환합니다. 이 기능은 클라이언트 재설정 후 백업/복구 Realm을 열려고 할 때 유용합니다.
        매개변수:
        canonicalPath - 이 구성으로 정의된 Realm 파일의 절대 경로입니다.
        encryptionKey - Realm 파일을 암호화/복호화하는 데 사용되는 키입니다.
        modules - 지정하면 Realm 스키마를 제공된 모듈로 제한합니다.
        반환합니다:
        오프라인에서 사용할 수 있는 RealmConfiguration
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user)
        지정된 사용자에 대한 기본 Flexible Sync 구성을 반환합니다.
        매개변수:
        user - Realm 앱에 액세스하는 데 사용할 사용자입니다.
        반환합니다:
        지정된 사용자에 대한 기본 Flexible Sync 구성입니다.
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      String partitionValue)
        지정된 사용자 및 파티션 값에 대한 기본 파티션 기반 동기화 구성을 반환합니다.
        매개변수:
        user - Realm 앱에 액세스하는 데 사용할 사용자입니다.
        partitionValue - 동기화될 원격 Realm을 식별하는 파티션 값입니다.
        반환합니다:
        지정된 사용자 및 파티션 값에 대한 기본 구성입니다.
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      Long partitionValue)
        지정된 사용자 및 파티션 값에 대한 기본 파티션 기반 동기화 구성을 반환합니다.
        매개변수:
        user - Realm 앱에 액세스하는 데 사용할 사용자입니다.
        partitionValue - 동기화될 원격 Realm을 식별하는 파티션 값입니다.
        반환합니다:
        지정된 사용자 및 파티션 값에 대한 기본 구성입니다.
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      Integer partitionValue)
        지정된 사용자 및 파티션 값에 대한 기본 파티션 기반 동기화 구성을 반환합니다.
        매개변수:
        user - Realm 앱에 액세스하는 데 사용할 사용자입니다.
        partitionValue - 동기화될 원격 Realm을 식별하는 파티션 값입니다.
        반환합니다:
        지정된 사용자 및 파티션 값에 대한 기본 구성입니다.
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      ObjectId partitionValue)
        지정된 사용자 및 파티션 값에 대한 기본 파티션 기반 동기화 구성을 반환합니다.
        매개변수:
        user - Realm 앱에 액세스하는 데 사용할 사용자입니다.
        partitionValue - 동기화될 원격 Realm을 식별하는 파티션 값입니다.
        반환합니다:
        지정된 사용자 및 파티션 값에 대한 기본 구성입니다.
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      UUID partitionValue)
        지정된 사용자 및 파티션 값에 대한 기본 파티션 기반 동기화 구성을 반환합니다.
        매개변수:
        user - Realm 앱에 액세스하는 데 사용할 사용자입니다.
        partitionValue - 동기화될 원격 Realm을 식별하는 파티션 값입니다.
        반환합니다:
        지정된 사용자 및 파티션 값에 대한 기본 구성입니다.
      • for Recovery

        public static RealmConfiguration forRecovery​(String canonicalPath)
        보류 중인 변경 사항을 복구하기 위해 동기화되지 않은 읽기 전용 Realm을 여는 데 적합한 RealmConfiguration 을(를) 반환합니다. 이 기능은 클라이언트 재설정 후 백업/복구 Realm을 열려고 할 때 유용합니다. 참고: 여기서는 기본 Realm 모듈(모두 RealmModel 로 구성됨)을 사용하며 암호화도 사용하지 않아야 한다고 가정합니다.
        매개변수:
        canonicalPath - 이 구성으로 정의된 Realm 파일의 절대 경로입니다.
        반환합니다:
        오프라인에서 사용할 수 있는 RealmConfiguration
      • getInitialSubscriptionsHandler

        public SyncConfiguration.InitialFlexibleSyncSubscriptions getInitialSubscriptionsHandler()
        이 Realm에 대해 구성된 초기 구독 핸들러를 반환합니다.
        반환합니다:
        이 영역에 대한 초기 구독을 구성하는 데 사용되는 핸들러입니다.
      • getUser

        공개 사용자 getUser()
        사용자를 반환합니다.
        반환합니다:
        사용자.
      • getServerUrl

        공개 URI getServerUrl()
        로컬 Realm이 동기화 중인 원격 MongoDB Realm의 서버 URI를 반환합니다.
        반환합니다:
        URI 이 로컬 Realm이 동기화되는 MongoDB Realm을 식별합니다.
      • getErrorHandler

        public SyncSession.ErrorHandler getErrorHandler()
        SyncConfiguration 에 대한 오류 핸들러를 반환합니다.
        반환합니다:
        오류 처리기.
      • getSyncClientResetStrategy

        공개 SyncClientResetStrategy getSyncClientResetStrategy()
        SyncConfiguration 에 대한 동기화 클라이언트 재설정 전략을 반환합니다.
        반환합니다:
        동기화 클라이언트 재설정 전략.
      • shouldDeleteRealmOnLogout

        public 부울 shouldDeleteRealmOnLogout()
        Realm 파일을 소유한 User 가 로그아웃한 후 Realm 파일을 삭제해야 하는 경우 true 를 반환합니다.
        반환합니다:
        true User 로그아웃 시 Realm 파일을 삭제해야 하는 경우 파일이 뒤에 남아 있도록 허용된 경우 false 입니다.
      • shouldWaitForInitialRemoteData

        public 부울 shouldWaitForInitialRemoteData()
        Realm이 처음 열리기 전에 원격 서버에서 알려진 모든 변경 사항을 다운로드하는 경우 true 를 반환합니다.
        반환합니다:
        true Realm이 열리기 전에 모든 원격 변경 사항이 다운로드되는지 여부 Realm을 즉시 열 수 있는 경우 false 입니다.
      • getInitialRemoteDataTimeout

        public long getInitialRemoteDataTimeout(TimeUnit 단위)
        Realm을 처음 열 때 초기 데이터를 다운로드할 때 정의된 시간 제한을 반환합니다.

        이 값은 shouldWaitForInitialRemoteData()true 를 반환하는 경우에만 적용됩니다.

        반환합니다:
        Realm이 중단되고 예외가 발생하기 전에 모든 변경 사항이 다운로드될 때까지 기다리는 시간입니다.
        다음도 참조하세요.
        SyncConfiguration.Builder.waitForInitialRemoteData(long, TimeUnit)
      • getSessionStopPolicy

        public io.realm.internal.OsRealmConfig.SyncSessionStopPolicy getSessionStopPolicy()
        참고: 내부용으로만 사용합니다. 예고 없이 변경될 수 있습니다. Realm이 닫히면 이 Realm의 세션에 대한 중지 정책을 반환합니다.
        반환합니다:
        Realm이 닫힌 후 세션에서 사용하는 중지 정책입니다.
      • getUrlPrefix

        @Nullable
        public String getUrlPrefix()
        Realm 객체 서버에 대한 동기화 연결을 설정할 때 사용되는 URL 접두사를 반환합니다.
      • getPartitionValue

        public BsonValue getPartitionValue()
        이 Realm이 분할된 값을 반환합니다. 파티션 키는 MongoDB Realm에 정의된 속성입니다. 이 값의 속성이 있는 모든 클래스가 Realm과 동기화됩니다.
        반환합니다:
        서버 측 MongoDB Database를 독립적으로 동기화할 수 있는 Realm으로 분할하기 위해 MongoDB Realm에서 사용하는 값입니다.
        예외 처리:
        IllegalStateException - 이 구성이 flexible sync를 위해 구성된 영역에 대한 경우. 이 메서드를 호출하기 전에 isPartitionBasedSyncConfiguration() 를 사용하여 확인할 수 있습니다.
      • isFlexibleSyncConfiguration

        공개 부울 isFlexibleSyncConfiguration()
        이 구성이 Flexible Sync를 위해 구성된 Realm을 열기 위한 것인지 여부를 반환합니다.
        반환합니다:
        true 이 구성이 Flexible Sync Realm에 대한 경우 그렇지 않은 경우 false 입니다.
      • isPartitionBasedSyncConfiguration

        공개 부울 isPartitionBasedSyncConfiguration()
        이 구성이 파티션 기반 동기화를 위해 구성된 Realm을 열기 위한 것인지 여부를 반환합니다.
        반환합니다:
        true 이 구성이 파티션 기반 동기화 Realm에 대한 경우 그렇지 않은 경우 false 입니다.