从我的 firebase 数据库读取数据到活动

0 android tableview firebase-realtime-database

我是android studio的初学者。几个星期以来,我一直在尝试从我的数据库读取数据到我的活动(可用行程)。现在我只是将数据从一个活动传输到另一个活动并将其放入文本视图中。

在之前的活动中,我已经设法将数据保存在数据库中。

理想情况下,我希望表格视图显示 3 列。第一个是“Deprture”,下一个是“Arrival”,第三个是“Time”。然后在每一行有每个孩子。

如果有人可以帮助我,我将非常感激!

先感谢您!

可用的游乐设施活动:

public class AvailableRides extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_available_rides);

    // Get the Intent that started this activity
    Intent intent = getIntent();
    String messageTime = intent.getStringExtra(DisplayMessageActivity.EXTRA_MESSAGE);
    String messageDep = intent.getStringExtra(DisplayMessageActivity.EXTRA_MESSAGE1);
    String messageArr = intent.getStringExtra(DisplayMessageActivity.EXTRA_MESSAGE2);

    // Capture the layout's TextView and set the string as its text
    TextView textView1 = findViewById(R.id.textView26);
    textView1.setText(messageTime);
    TextView textView2 = findViewById(R.id.textView2);
    textView2.setText(messageDep);
    TextView textView3 = findViewById(R.id.textView4);
    textView3.setText(messageArr);
}
Run Code Online (Sandbox Code Playgroud)

Firebase 数据库

在此处输入图片说明

Ale*_*amo 5

假设该Trips节点是 Firebase 根的直接子节点,要显示该数据,请使用以下代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference tripsRef = rootRef.child("Trips");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        List<String> list = new ArrayList<>();
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String arrival = ds.child("Arrival").getValue(String.class);
            String departure = ds.child("Departure").getValue(String.class);
            String time = ds.child("Time").getValue(String.class);
            Log.d("TAG", arrival + " / " + departure  + " / " + time);
            list.add(time);
        }
        Log.d("TAG", time);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
tripsRef.addListenerForSingleValueEvent(valueEventListener);
Run Code Online (Sandbox Code Playgroud)

您的输出将是:

aaaaaa / abababa / 10:00
bbbb / bcbc / 10:00
Run Code Online (Sandbox Code Playgroud)