簡體   English   中英

在Firebase for Android中查詢無法正常工作

[英]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取回任何查詢? 我已經使用過addValueEventListneraddListnerForSingleValueEvent 沒事 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM