代码之家  ›  专栏  ›  技术社区  ›  H.JiMan

如何在android中获得Firebase实时数据库的字符串值?

  •  0
  • H.JiMan  · 技术社区  · 5 年前

    enter image description here

    这是在recyclerView中显示数据的activity类:

    private void showData() {
        Query query = FirebaseDatabase.getInstance().getReference().child("Room").child("titleSet");
        FirebaseRecyclerOptions<LibraryModel> options = new FirebaseRecyclerOptions
                .Builder<LibraryModel>()
                .setQuery(query, new SnapshotParser<LibraryModel>() {
                    @NonNull
                    @Override
                    public LibraryModel parseSnapshot(@NonNull DataSnapshot snapshot) {
                        return new LibraryModel(snapshot.child("title").getValue().toString());
                    }
                }).build();
    
        mAdapter = new LibraryAdapter(options, context);
    }
    

    有没有办法把“title”的值转换成字符串??

    1 回复  |  直到 5 年前
        1
  •  2
  •   no_profile    5 年前

     Firebase Database firebaseDatabase = FirebaseDatabase.getInstance();
     DatabaseReference myReference = firebaseDatabase.getReference("room");
    
    
        myReference.child("titleSet").addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                if (dataSnapshot.exists()){
                    for (DataSnapshot dataSnapshot1: dataSnapshot.getChildren()){
                        TitleSet title = dataSnapshot1.getValue(TitleSet.class); //your Object
    
                        String myTitle = title.getTitle();
                        Toast.makeText(getActivity(), "Titles: "+myTitle, Toast.LENGTH_SHORT).show();
    
                    }
                    //set your adapter here
    
                }
            }
    
            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
    
            }
        });
    

    你也可以看看这个 link 了解有关在Firebase中检索数据的更多信息。