• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    해결됨

파이어베이스에는 잘 저장 되는데 불러올때 null값이라고 나옵니다...

21.01.09 00:39 작성 조회수 657

0

파이어베이스는 잘 저장 되는것 같은데

//ResultActivity.kt

FirebaseDatabase.getInstance().getReference().child(intent.getStringExtra("uid").toString())
.addListenerForSingleValueEvent(object : ValueEventListener{
override fun onDataChange(snapshot: DataSnapshot) {
//success
val DataFromFB = snapshot.getValue(Data::class.java)
findViewById<TextView>(R.id.result).setText("금연일: " + DataFromFB?.day_count +" 개수 : "+ DataFromFB?.smoking_count + " 가격 : "+DataFromFB?.money_count)
}
override fun onCancelled(error: DatabaseError) {
//fail
findViewById<TextView>(R.id.result).setText("fail")
}

})

여기서 DataFromFB에서 값을 가져오지 못해서 null값으로 나오는것 같습니다. 뭐가 문제인걸까요?

답변 3

·

답변을 작성해보세요.

0

안녕하세요 여기 문서가 있는데

https://firebase.google.com/docs/database/android/start?hl=ko

아래와 같이 reference의 값을 입력해줘보실래요??

val myRef = database.getReference("smoking")

0

intent에서 uid를 받아와서 로그로 찍어보니 PashFil---이라는 uid값이 나옵니다...

근데 data값이 null값으로 나오는데  uid값이 문제인건가요?

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(
R.layout.activity_result)

val uid = intent.getStringExtra("uid").toString()
Log.e("uid----------",uid)

FirebaseDatabase.getInstance().getReference().child(uid)
.addListenerForSingleValueEvent(
object : ValueEventListener{
override fun onDataChange(snapshot: DataSnapshot) {
//success
Log.e("uid success----------", uid)
val DataFromFB = snapshot.getValue(Data::class.java)
Log.e("data", DataFromFB?.day_count.toString())
findViewById<
TextView>(R.id.result).setText("금연일: " + DataFromFB?.day_count +" 개수 : "+ DataFromFB?.smoking_count + " 가격 : "+DataFromFB?.money_count)
}
override fun onCancelled(error: DatabaseError) {
//fail
Log.e("fail uid ----------", uid)
findViewById<
TextView>(R.id.result).setText("fail")
}

})
}

2021-01-11 16:50:31.213 2034-2034/com.example.firebaseex E/uid----------: PashFilV27P9wDteYC4D4usgKW53 2021-01-11 16:50:32.268 2034-2034/com.example.firebaseex E/uid success----------: PashFilV27P9wDteYC4D4usgKW53 2021-01-11 16:50:32.268 2034-2034/com.example.firebaseex E/data: null

0

안녕하세요 "uid" 값이 저 string 값이 아니라 PashFil----- 이라고 있는 이 값이 들어가야 할 것 같습니다.

auth.currentuser.uid  라고 해서 uid값을 받아와서 한번 넣어보시겠어요?