ここにボタンのonclickのコードがあります。彼のボタンをクリックすると、firebaseデータベースから電子メールをフェッチする必要があります。電子メールが見つからなかったテキストを見つけました。ここでは、電子メールを取得して、その電子メールを編集テキストで見つけ出すことができましたが、代わりに見つからない電子メールを表示できませんでした。firebaseクエリの使用方法if else condition
W/PersistentConnection: pc_0 - Using an unspecified index. Consider adding '".indexOn": "email"' at /users/users to your security and Firebase rules for better performance
conbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Firebase ref = new Firebase("https://(refrence of firebse database)");
final String searchEmail = emailcon.getText().toString().trim();
final Query query = ref.orderByChild("email").equalTo(searchEmail);
query.addValueEventListener(new ValueEventListener()
{
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
for (DataSnapshot child : dataSnapshot.getChildren())
{
final String fetchEmail;
Map<?, ?> value = (Map<?, ?>) child.getValue();
Log.d("main2activity ","User data : "+ value);
fetchEmail = (String) value.get("email");
Log.d("main2activity ","User email : "+ fetchEmail);
if (searchEmail.equals(fetchEmail))
{
emailcon.setText("email found hurray "+query.getRef());
}
else
{
emailcon.setText("still no email found!!");
}
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
});
クエリは、一致する電子メールでのレコードだけを返します。 else節は決して実行されないことは明らかです。クエリでレコードが返された場合は、代わりにチェックします。 – Henry
どのようにいくつかのコードを助け、クエリがnullではないが、クエリがnullでないことがわかった場合 – Red
@Henry:これは値リスナーであり、一致する子がない場合にも発生します。 –