작성
·
49
·
수정됨
0
auth.currentUser?.uid.toString() 가 null 이 나와요
잘나왔었는데 몇시간뒤에 하니까 null 이 나옵니다.
로그인 -> 어플종료 -> 다시 어플 키면 uid가 나오는데
MypageActivity가면 uid가 null입니다.
firebase는 이상없이 작동합니다
package com.example.sogating.setting
import android.os.Bundle
import android.util.Log
import android.widget.ImageView
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.example.sogating.R
import com.example.sogating.auth.UserDataModel
import com.example.sogating.utils.FirebaseAuthUtils
import com.example.sogating.utils.FirebaseRef
import com.google.firebase.database.DataSnapshot
import com.google.firebase.database.DatabaseError
import com.google.firebase.database.ValueEventListener
class MyPageActivity : AppCompatActivity() {
private val TAG = "MyPageActivity"
private val uid = FirebaseAuthUtils.getUid()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_my_page)
getMyData()
}
private fun getMyData() {
val myImage = findViewById<ImageView>(R.id.myImage)
val myUid = findViewById<TextView>(R.id.myUid)
val myNickname = findViewById<TextView>(R.id.myNickname)
val myAge = findViewById<TextView>(R.id.myAge)
val myCity = findViewById<TextView>(R.id.myCity)
val myGender = findViewById<TextView>(R.id.myGender)
val postListener = object : ValueEventListener {
override fun onDataChange(dataSnapshot: DataSnapshot) {
// Get Post object and use the values to update the UI
Log.d(TAG, dataSnapshot.toString())
val data = dataSnapshot.getValue(UserDataModel::class.java)
// myUid.text = data!!.uid
// myNickname.text = data.nickname
// myAge.text = data.age
// myCity.text = data.city
// myGender.text = data.gender
}
override fun onCancelled(databaseError: DatabaseError) {
// Getting Post failed, log a message
Log.w(TAG, "loadPost:onCancelled", databaseError.toException())
}
}
// why null ?
Log.d(TAG, uid)
FirebaseRef.userinfoRef.child(uid).addValueEventListener(postListener)
}
}
package com.example.sogating.utils
import com.google.firebase.auth.FirebaseAuth
class FirebaseAuthUtils {
companion object {
private lateinit var auth: FirebaseAuth
fun getUid() : String {
auth = FirebaseAuth.getInstance()
return auth.currentUser?.uid.toString()
}
}
}
자세한 소스 입니다.
답변 1
0
안녕하세요
정확한 원인 파악을 위해 좀 더 자세히 설명주실 수 있나요?
1. 잘나왔었는데 몇시간뒤에 하니까 null 이 나옵니다.
-> 처음에 잘 되다가 갑자기 null값이 나온다는 말씀이실까요?
2. 로그인 -> 어플종료 -> 다시 어플 키면 uid가 나오는데
MypageActivity가면 uid가 null입니다.
-> MyPageActivity에서만 null인가요?
혹시 로그를 출력하신 것을 함께 스크린샷으로 전달주실 수 있으실까요?