如何从Firebase检索列表并在整个程序中本地使用它?

时间:2019-04-10 15:50:54

标签: java android firebase firebase-realtime-database

基本上,我的应用程序的功能之一是登录,从地图上选择一家酒馆,然后为它提供几个不同类别的评分。

我需要Firebase的原因是每个用户可以为每个发布者评分一次,并且因为每个发布者都必须将用户给他们的评分存储在某个地方。

我要实现的目的是获得ArrayList<Pub>并在程序的整个过程中使用它,并且当数据更改时,它会在数据库中更新。

我无法解决的问题是如何随时在侦听器外部访问数据(如代码所示)。如果数据在onDataChange方法中,我可以得到所有数据,但是我觉得我的操作在那儿非常有限。

public class PubSetup {

    public ArrayList<Pub> pubs;

    FirebaseDatabase database;
    DatabaseReference myRef;

    public PubSetup(){

        pubs = new ArrayList<Pub>();

        database = FirebaseDatabase.getInstance();
        myRef = database.getReference("pubsData");

        AddPubs();

        myRef.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {


            }

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

            }
        });

0 个答案:

没有答案