Java 从Firebase实时数据库检索特定数据的最快方法?

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

我想从我的数据库中检索特定数据,但我不确定最快的方法。以下是我在数据库中保存数据的方式:

我想获取给定名称users->Aleem->profilePic的profilePic值中的字符串

这就是我试图获取数据的方式:

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