【问题标题】:How to retrieve value from firebase without getting the unique key如何在不获取唯一键的情况下从 Firebase 中检索值
【发布时间】:2022-02-08 21:43:19
【问题描述】:

我正在尝试从 Android 中的 Firebase 检索 url。但是,我的问题是如果不获取孩子的唯一键,我就无法检索 url。

我要检索的值如下:

下面是我用来从 firebase 检索数据的代码。

 final FirebaseDatabase database = FirebaseDatabase.getInstance();
    myRef = database.getReference().child("LoadItems");

    myRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for(DataSnapshot child : dataSnapshot.getChildren() ){
                String key;
                key = child.getKey();

                Log.d(TAG, "onDataChange: " + key);
                Log.d(TAG, "onDataChange: " + child.getValue());
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) { }
    });

所以我想要得到的只是 url。

【问题讨论】:

  • 欢迎来到stackoverflow。请不要将您的代码添加为图像 meta.stackoverflow.com/questions/285551/…>.

标签: java android firebase firebase-realtime-database


【解决方案1】:

无需知道任何密钥即可获取该 URL。所以请使用以下代码行:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference shoesRef = rootRef.child("LoadItems").child("Shoes");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String url = ds.getValue(String.class);
            Log.d(TAG, url);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
    }
};
shoesRef.addListenerForSingleValueEvent(valueEventListener);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多