我的資料庫包括一個名為songs的集合,其中有一些欄位。artist, email, link 和 name。目前,所有檔案中的email欄位是一個空字串。這里有一張圖片其中一個條目的圖片。
這是我在我的安卓應用中運行的查詢:
這是我在安卓應用中運行的查詢。
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(s savedInstanceState)。
setContentView(R.layout.activity_registration)。
firebaseAuth = FirebaseAuth.getInstance();
FirebaseFirestore db = FirebaseFirestore.getInstance()。
TextView userinfo = (TextView)findViewById(R.id.link)。
FirebaseUser userauth = firebaseAuth.getCurrentUser()。
db.collection(" songs").whereEqualTo("email",userauth.getEmail()).get()。 addOnCompleteListener(new OnCompleteListener< QuerySnapshot>(){
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task){
if (task.isSuccessful()) {
//在離線快取中找到的檔案
userinfo.setText("發現用戶")。
} else {
userinfo.setText("未找到用戶")。
}
}
});
}
TextView正在列印User found,盡管所有的電子郵件條目都是空字串。預期的行為是未找到用戶。
uj5u.com熱心網友回復:
如果你只檢查一個任務是否成功,并不意味著你得到了結果。它意味著你的查詢已經完成,沒有錯誤。如果你需要知道查詢是否回傳了想要的結果,那么你應該在代碼中進行檢查:
if(task.isSuccessful()){
QuerySnapshot snapshot = task.getResult()。
if (snapshot.isEmpty() ) {
userinfo.setText("未找到用戶")。
} else {
userinfo.setText("找到用戶")。
}
} else {
Log.d("TAG", task.getException().getMessage()); //Don't ignore potential errors!
}
"未找到用戶 "的資訊將被設定為你的userinfoTextView。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/325748.html
標籤:
