상세 컨텐츠

본문 제목

Realm(내장 DB)

Android(강의정리)

by 낙지지 2020. 11. 23. 13:29

본문

- Realm 플랫폼의 핵심인 Realm 데이터베이스는 오픈 소스로 모바일 사용에 최적화된 내장 데이터베이스 라이브러리입니다.

 

- 전체 소스

class RealmActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_realm)

        Realm.init(this@RealmActivity)
        val config : RealmConfiguration = RealmConfiguration
                .Builder()
                .deleteRealmIfMigrationNeeded() // 기존 table틀에 변경이 생기면, 기존 데이터를 싹다 지우는것?
                .build()
        Realm.setDefaultConfiguration(config)

        // realm을 얻기
        val realm = Realm.getDefaultInstance()

        button_save.setOnClickListener {
            realm.executeTransaction{
                // transaction(하나의 작업단위)
                // A테이블에서 데이터를 가져온다 -> 10
                // B테이블에서 데이터를 가져온다
                // C테이블에서 데이터를 가져온다
                // 조합을 한다.
                // D 테이블에 저장을 한다.
                with(it.createObject(School::class.java)){
                    this.name = "어떤 대학교"
                    this.location = "서울"
                }
            }
        }
        button_load.setOnClickListener {
            realm.executeTransaction {
                val data = it.where(School::class.java).findFirst()
                Log.d("dataa","data : " + data)
            }
        }
        button_delete.setOnClickListener {
            realm.executeTransaction {
                it.where(School::class.java).findAll().deleteAllFromRealm()
//                it.where(School::class.java).findFirst().deleteFromRealm()
            }
        }
    }
}

realm을 사용하기 위해 필요한 plugin과 dependency?

'Android(강의정리)' 카테고리의 다른 글

Permission  (0) 2020.11.24
Retrofit  (0) 2020.11.24
Network  (0) 2020.11.23
Async(비동기)  (0) 2020.11.23
Database(SharedPreference)  (0) 2020.11.20

관련글 더보기

댓글 영역