我正在尝试执行一个查询,它将搜索代码child下的所有数据,如果有正结果,我还想知道该值所在的子名称。
Button bt = (Button)findViewById(R.id.button);
bt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
EditText input = (EditText) findViewById(R.id.editText);
String string = input.getText().toString();
Firebase rootRef = new Firebase("https://akiba-c9600.firebaseio.com/codes");
Query queryRef = rootRef.orderByKey().equalTo(String.valueOf(input));
}
});
例如,如果我要查询 HUIYIU ,我想知道它是一个20毫克的孩子。我如何实现这一目标?
答案 0 :(得分:0)
更改
Query queryRef = rootRef.orderByKey().equalTo(String.valueOf(input));
到
Query queryRef = rootRef.orderByKey().equalTo(string);
然后 实施
queryRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// here you will get searched data
}
}
答案 1 :(得分:0)
请使用此代码:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference codesRef = rootRef.child("codes");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.child("aa 20mg").child("HUIYIU").exists()) { //Check if exists
String HUIYIU = dataSnapshot.child("aa 20mg").child("HUIYIU").getValue(String.class);
String HUTERT = dataSnapshot.child("aa 20mg").child("HUTERT").getValue(String.class);
Log.d("TAG", HUIYIU + " / " + HUTERT);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
codesRef.addListenerForSingleValueEvent(eventListener);
您的输出将是:
10 / 10