我试图从Firebase云数据库中获取数据,但是数据没有显示出来。

This is the code I try to retrieve data

private fun updateUI(currentUser: FirebaseUser?){ 
    if(currentUser!=null){ 
        fstore.collection("users") 
            .document(auth.currentUser!!.uid) 
            .get() 
            .addOnCompleteListener { task-> 
                task.result!!.get("name") == name.text.toString(); 
                task.result!!.get("email") == email.text.toString(); 
 
                Toast.makeText(baseContext, "Haha", Toast.LENGTH_LONG).show() 
            } 
    }else{ 
        Toast.makeText(baseContext, "fail", Toast.LENGTH_LONG).show() 
    } 
} 

Calling UpdateUI() form activity
class MainActivity : AppCompatActivity() { 
 
lateinit var name: TextView 
lateinit var email: TextView 
 
private lateinit var fstore: FirebaseFirestore 
private lateinit var auth : FirebaseAuth 
 
override fun onCreate(savedInstanceState: Bundle?) { 
    super.onCreate(savedInstanceState) 
    setContentView(R.layout.activity_main) 
 
    name = findViewById(R.id.name) 
    email = findViewById(R.id.email) 
 
    auth   = FirebaseAuth.getInstance() 
    fstore = FirebaseFirestore.getInstance() 
 
    updateUI(auth.currentUser) 
} 

Firebase云数据库:



我尝试后的android模拟器:

请您参考如下方法:

您的文件ID分配错误

.document(doucumentID) //Not user ID 
//Here your document id is  
//JXoTcqxIVENTSF2.....  
//As I can see your firestore image 

并且您以错误的方式将数据分配给 TextView
name.text = "value you want to assign"  

所以像这样编辑你的代码
private fun updateUI(currentUser: FirebaseUser?){ 
    if(currentUser!=null){ 
        fstore.collection("users") 
            .document("JXoTcqxIVENTSF2..") 
            //can not see full id in image so I use '....' 
            //replace it with full id from firestore 
            .get() 
            .addOnCompleteListener { task-> 
 
                name.text = task.result!!.get("name").toString() 
                email.text = task.result!!.get("email").toString() 
 
                Toast.makeText(baseContext, "Haha", Toast.LENGTH_LONG).show() 
            } 
    }else{ 
        Toast.makeText(baseContext, "fail", Toast.LENGTH_LONG).show() 
    } 
} 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!