Android/Android Kotlin

[Android Kotlin] Realtime Database 사용법

Bell91 2023. 10. 25. 17:24
반응형

1. 데이터베이스에 쓰기

val database = Firebase.database //테스트 모드는 괄호를 빼준다.
val database = Firebase.database("https://....firebasedatabase.app")
val myRef = database.getReference("message")
myRef.setValue(binding.etInput.text.toString())  // 데이터 1개가 계속 수정되는 방식
myRef.push().setValue(binding.etInput.text.toString())  // 데이터가 계속 쌓이는 방식

 

2. 데이터베이스에서 읽기

실시간으로 앱 데이터를 읽기 위해 myRef 에 ValueEventListener 를 추가한다.
이 클래스의 onDataChange() 메서드는 데이터가 변경될 때마다 호출된다.
이 클래스의 onCancelled() 메서드는 데이터 읽기에 실패 시 호출된다.

myRef.addValueEventListener(object : ValueEventListener {
   override fun onDataChange(dataSnapshot: DataSnapshot) {  
      val value = dataSnapshot.getValue<String>() // 클레스는 getValue(TestData::class.java) 이렇게 넣어준다.
      Log.d(TAG, "Value is: $value")
   }
   override fun onCancelled(error: DatabaseError) {  
      Log.w(TAG, "Failed to read value.", error.toException())  
   }
})

 

3. 옵저버사용

fragment 에서는 this대신 viewLifecycleOwner를 사용해야 한다.

    fun observerData(){
        viewModel.fetchData().observe(viewLifecycleOwner, Observer {
            mAdapter.setListData(it)
            mAdapter.notifyDataSetChanged()

        })

    }

 


Reference

https://eunoia3jy.tistory.com/174

 

[Android/kotlin] 구글 Firebase Realtime Database 사용하기

Realtime Database Firebase의 Realtime Database는 NoSQL기반 cloud-hosted database입니다. 실시간으로 모든 클라이언트에서 데이터가 동기화 되어 사용할 수 있습니다. https://firebase.google.com/docs/database/android/start An

eunoia3jy.tistory.com

 

반응형