[英]Querying in Firebase for Android isn't working
reference = database.getReferenceFromUrl("https://...........firebaseio.com/General/Dish");
dishName.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
searchString = editable.toString();
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("firebase",dataSnapshot.getKey());
for(DataSnapshot snapshot : dataSnapshot.getChildren()){
s.setText(snapshot.getValue(String.class));
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
reference.startAt(searchString).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.d("Firebase",dataSnapshot.getKey()+">>>>"+dataSnapshot.getValue()+">>>"+s);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
s1.setText(searchString);
我為什么不從Firebase取回任何查詢? 我已經使用過addValueEventListner
和addListnerForSingleValueEvent
。 沒事 Url中的“ ......”代表我的firebase
數據庫URL。 由於這是我的創業公司的MVP,所以我不想分享。 我也知道getInstances().child("..")
也是一種選擇。
將代碼精簡下來,它變成:
reference = database.getReferenceFromUrl("https://...........firebaseio.com/General/Dish");
reference.startAt(searchString).addChildEventListener(...
由於您未指定要訂購的商品,因此在這種情況下,Firebase會搜索鑰匙。
您可能想要:
reference.orderByChild("name").startAt(searchString).addChildEventListener(...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.