Realm Blog

Realm Java 0.88 — 진보된 객체!

우리는 방금 Realm Java의 새 버전을 우리의 웹사이트와 Maven에 출시하였습니다. 이번 릴리즈는 흥미로운 새 기능이 많이 포함되어 있어요.

진보된
객체!

이번 릴리즈부터 안드로이드용 Realm은 Realm 객체에 대한 전권을 개발자에게 드립니다. 이제 다음의 내용들을 할 수 있습니다.

  • 객체에 커스텀 메서드를 추가할 수 있습니다.
  • 인터페이스를 구현할 수 있습니다.
  • 커스텀 로직을 게터와 세터에 추가할 수 있습니다.
  • 원하는 방식으로 엑세서를 명명할 수 있습니다.
  • 모든 엑세서를 생략하고 퍼블릭 필드로 대신할 수 있습니다.
  • 원하는 대로 toString(), equals(), hashCode()를 정의할 수 있습니다.
  • Realm과 Lombok을 같이 사용할 수 있습니다.

이 말은 이제부터 Realm 객체를 다루는 일은 일반적인 POJO 객체를 다루는 것과 매우 비슷해질거라는 뜻입니다.

이렇게 하기 위해 우리는 단순히 라이브러리만 만든 것이 아니라 Realm 그래들 플러그인을 만들었습니다. 이전 글에서 언급한 바와 같이 이제부터 Realm과 프로젝트를 build.gradle 파일에서 연결하는 방법이 바뀝니다.

buildscript {
 repositories {
    jcenter()
 }

 dependencies {
    classpath 'io.realm:realm-gradle-plugin:0.88.0'
 }
}

apply plugin: 'com.android.application'
apply plugin: 'realm-android'

이제부터 Gradle을 제외한 다른 빌드 시스템을 지원하지 않습니다. 합당하지 않다고 생각하다면 우리가 미리 준비한 두가지 이슈를 통해 다시 Maven이나 Ant 지원에 대해 투표해주세요.

여러분의 의견은 우리가 Ant와 Maven 플러그인에 대해 언제 어떻게 구현할지 영향을 줍니다.

몇몇 제약들은 여전히 Realm 객체에 있습니다.

  • RealmObject이 아닌 다른 클래스로 부터 상속을 받는 것은 허용되지 않습니다.
  • final, volatile, transient 필드는 허용되지 않습니다.

기타 향상점들

이 릴리즈는 여러 다른 향상점을 가지고 있습니다.

호환성 주의사항 🚨

  • 모든 알림은 이제 Looper 큐를 사용합니다. 이전에는 트랜잭션을 커밋할 때 같은 스레드의 RealmChangeListener는 즉각 호출되었습니다. 이 변화에 따라 리스너는 보다 예측가능해지고 일관됩니다. 그들은 모두 다음 Looper 메시지를 기다립니다.
  • 모든 RxJava 옵저버블이 모두 그들을 생성한 Realm 인스턴스을 가집니다. 이 의미는 Realm파일은 옵저버블이 구독해제될 때 닫힌다는 의미입니다. 이는 이제 Realm 인스턴스를 doOnUnsubscribe를 이용해서 닫을 수 있다는 뜻입니다.

자세한 내용은 전체 변경사항을 참고하세요.


읽어주셔서 감사합니다. 이제 Realm과 함께 앞으로 나아가 멋진 앱을 만들어 봅시다! 우리는 항상 StackOverflow, GitHub, and Twitter에 있습니다. 페북에서 운영중인 Realm 한국 사용자 그룹 이나 Realm 한국 사용자 페이지와도 방문해 주십시오. 한국어 연락처는 [email protected] 입니다.


Realm Team

Realm의 미션은 더 나은 앱을 빠르게 개발할 수 있도록 돕는 것입니다. 이를 위해 저희는 개발자들이 실시간 협업, 가상 현실, 라이브 데이터 동기화, 오프라인 경험, 메시징 등 정교하고 강력한 기능을 쉽게 개발할 수 있도록 하는 개발 도구와 플랫폼을 제공하고 있습니다.

저희는 모바일 인터넷이 수많은 사용자와 보다 많은 디바이스가 속한 개방형 네트워크와 이들 간의 실시간 상호 작용으로 진화할 것이라고 믿으며, 개발자가 이같은 방향으로 발전할 수 있도록 돕기 위해 저희 제품들을 개발하고 있습니다.

이런 개발 뉴스를 더 만나보세요