【问题标题】:get the url values from Firebase Realtime database从 Firebase 实时数据库中获取 url 值
【发布时间】:2020-11-09 17:11:21
【问题描述】:

我在firebase实时数据库中有上述格式 我需要在arraylist中获取数据

public class EmojiView extends AppCompatActivity {


FirebaseUser firebaseUser;
DatabaseReference reference;

ArrayList<String> images = new ArrayList<>();

private void getImagesfromDB() {
    firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
    reference = FirebaseDatabase.getInstance().getReference("stickers");
    reference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for (DataSnapshot snapshot : dataSnapshot.getChildren()){
                String data = snapshot.getValue(String.class);
                images.add(data);
            }
        }
        @Override
        public void onCancelled(@NonNull DatabaseError error) {

        }
    });
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_emoji_view);
    getImagesfromDB();

}
}

我在 OnDataChange 方法中获取数据变量中的 url,但我无法将这些值分配给图像数组列表

【问题讨论】:

  • arrayList 有什么问题?它根本没有被填充吗?它是否被填充但数据错误?你需要解释到底是什么问题。
  • 我没有得到数据,而且我希望它被分配给 ArrayList[] urls 声明
  • "我没有得到数据" 你是怎么确定的?请注意,除了您共享的内容之外,我们看不到任何内容,因此最好确保您的问题中的信息非常明确地显示您获得的输出以及您期望的输出。另见how to create a minimal, complete, verifiable example
  • 我更新了代码
  • 首先,停止忽略错误。使用Log.d(TAG, error.getMessage());。您是否在 logcat 中打印了一些内容?你是怎么检查的?

标签: java android firebase firebase-realtime-database


【解决方案1】:

试试这个:

更改您对此的引用:

reference = FirebaseDatabase.getInstance().getReference("stickers").getChildren();

然后以这种方式遍历快照(应该是“贴纸”的孩子):

reference.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot snapshot) {
        
        for (DataSnapshot item : snapshot){
            stickers.add(item.getValue(String.class));
        }    

    }

    @Override
    public void onCancelled(@NonNull DatabaseError error) {

    }
});

【讨论】:

    猜你喜欢
    • 2021-07-18
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 2019-09-30
    相关资源
    最近更新 更多