【发布时间】:2018-09-20 08:32:50
【问题描述】:
我阅读了很多关于如何从 Firebase 数据库实例获取数据的主题,但没有一个对我有用。
我在活动中的代码:
public class Violations extends AppCompatActivity
{
TextView textView7;
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference dbref = database.getReference("save");
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_violations);
textView7 = findViewById(R.id.textView7);
dbref.addValueEventListener(new ValueEventListener()
{
ArrayList<String> Violations = new ArrayList<>();
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
for (DataSnapshot postSnapshot: dataSnapshot.getChildren())
{
Violations.add(postSnapshot.getValue().toString());
System.out.println(postSnapshot.getValue().toString());
}
for(int i=0; i < Violations.size(); i++)
{
textView7.setText(textView7.getText() + Violations.get(i) + System.lineSeparator());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
}
}
那里没有错误,但没有数据显示。我很确定,我的问题是连接到正确的实例并检索数据。
Firebase 数据,如下所示:
有人可以帮我吗?
提前谢谢你。
【问题讨论】:
-
你能在
onDataChange()中放一个断点来检查它是否触发吗?除此之外,你应该看看How to denormalize data in Firebase,因为如果你为你的数据库保留这个精确的结构,你真的会遇到一些麻烦
标签: java android firebase firebase-realtime-database