如何在应用启动时将Firebase数据放入arraylist中?

时间:2019-11-16 21:37:52

标签: android firebase firebase-realtime-database

对于一个学校项目,我正在尝试制作一个应用程序,以向用户提供有关其所在地区某些事件的信息。

事件的数据(位置,时间,开始等)存储在Firebase实时数据库中。我想检索此数据并将其存储在事件的ArrayList中(在应用程序启动或地图活动中)。我想使用这些数据在Google Map上添加标记。

这是我的活动课程。

validate_conversion()

Firebase data example

在启动时或加载地图活动时,如何将这些数据放入ArrayList中?

1 个答案:

答案 0 :(得分:0)

要将启动过程中的数据从Firebase数据库加载到ArrayList中,您必须实现负责在Android应用程序的“启动器”活动中下载数据的代码,例如,在清单文件中声明的意图过滤器的活动中,例如: / p>

<intent-filter>    
    <action android:name="android.intent.action.MAIN" />    
    <category android:name="android.intent.categor.LAUNCHER" />    
</intent-filter> 

如果要从Firebase数据库加载一系列数据,则必须使用events遍历从请求返回的,以数据库FirebaseDatabase.getInstance().getReference().child("events").addValueEventListener(...)为目标的项目,然后使用处理接收到的对象的方法:

private List<Event> processDataSnapshot(DataSnapshot dataSnap) {
    List<Event> temp = new ArrayList<>();
    for (DataSnapsot data : dataSnap.getChildren()) {
        Event event = data.getValue(Event.class);
        temp.add(event);
    }
    return temp;
}