Java 从Firebase实时数据库检索特定数据的最快方法?
我想从我的数据库中检索特定数据,但我不确定最快的方法。以下是我在数据库中保存数据的方式: 我想获取给定名称users->Aleem->profilePic的profilePic值中的字符串 这就是我试图获取数据的方式:Java 从Firebase实时数据库检索特定数据的最快方法?,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我想从我的数据库中检索特定数据,但我不确定最快的方法。以下是我在数据库中保存数据的方式: 我想获取给定名称users->Aleem->profilePic的profilePic值中的字符串 这就是我试图获取数据的方式: String profilePicUri=""; String searchFor="any Name"; String url = "https://as*******.firebaseio.com/users.json"; StringRequest request = n
String profilePicUri="";
String searchFor="any Name";
String url = "https://as*******.firebaseio.com/users.json";
StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>(){
@Override
public void onResponse(String s) {
try {
JSONObject obj = new JSONObject(s);
if(obj.getJSONObject(searchFor).getString("users").equals(searchFor)){
profilePicUri=obj.getJSONObject(searchFor).getString("profilePic");
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
},new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError volleyError) {
System.out.println("" + volleyError);
}
});
RequestQueue rQueue = Volley.newRequestQueue(Login.this);
rQueue.add(request);
但代码不起作用。有人能告诉我应该用什么方法检索这些特定的数据吗?好的方法是什么。非常感谢您不需要执行get请求,firebase已经提供了自己的api。要检索数据,需要执行以下操作:
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("users").child("Aleem");
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String profilePic = dataSnapshot.child("profilePic").getValue(String.class);
String password = dataSnapshot.child("password").getValue(String.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
首先添加对节点Aleem的引用,然后附加一个侦听器,您将能够在Aleem下检索数据
查看此处了解更多信息:
您不需要执行get请求,firebase已经提供了自己的api。要检索数据,需要执行以下操作:
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("users").child("Aleem");
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String profilePic = dataSnapshot.child("profilePic").getValue(String.class);
String password = dataSnapshot.child("password").getValue(String.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
首先添加对节点Aleem的引用,然后附加一个侦听器,您将能够在Aleem下检索数据
查看此处了解更多信息:
你确定这能满足你的要求吗?ifobj.getJSONObjectsearchFor.getStringusers.equalSearchFor您确定这会满足您的需要吗?ifobj.getJSONObjectsearchFor.getStringusers.EqualSearchfor