해결된 질문
작성
·
774
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값을 받아와서 한번 넣어보시겠어요?