Android 折线图中的 Firestore 文档值

Firestore Document values in Android Line Graph

我有一个名为 PuckData 的集合,我在其中存储了一些 int 值(温度、光)和时间戳。我想用 Android 图表库 (jjoe64) 在折线图中显示这些值。第一张图是温度(y 轴)-时间戳(x 轴),第二张图是光照时间戳。我希望时间戳值以这种格式显示:dd:mm:yyyy。在下面的代码中,我收到了温度和光照的值。我也想获得时间戳值。

firebaseFirestore.collection("PuckData").whereEqualTo("region", "Bedroom")
            .get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                for (DocumentSnapshot document : task.getResult()) {
                            int light = document.getLong("light").intValue();
                            int temperature = document.getLong("temperature").intValue();
                            Log.d("PUCK", "LIGHT: " + light);

                }
            } else {
                Log.d("PUCK", "Error getting documents: ", task.getException());
            }
        }
    });

PuckData Collection Image 如何将它们添加到 ArrayLists 中并将它们作为数据点传递? 提前致谢!

为了获得时间戳使用:-

Date lightTimestamp =  document.getDocument().getDate("light-timestamp");

然后您可以将此日期转换为您想要的任何格式。

在数组列表中添加:- 您必须创建一个具有这三个属性的对象。在其中设置数据并在arraylist中传递它们。

I want to get timestamp values also.

要解决此问题,请使用以下代码:

Date date = document.getDate("timestamp");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yy");
String stringDate = simpleDateFormat.format(date);
Log.d("DATE", "timestamp: " + stringDate);

输出将是 dd/MM/yy 格式的日期。

编辑:

firebaseFirestore.collection("PuckData").whereEqualTo("region", "Bedroom")
            .get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                List<String> list = new ArrayList<>();
                for (DocumentSnapshot document : task.getResult()) {
                            int light = document.getLong("light").intValue();
                            int temperature = document.getLong("temperature").intValue();
                            Date date = document.getDate("timestamp");
                            SimpleDateFormat simpleDateFormat = new 
                            SimpleDateFormat("dd/MM/yy");
                            String stringDate = simpleDateFormat.format(date);
                            list.add(stringDate);
                            Log.d("DATE", "timestamp: " + stringDate);
                            Log.d("PUCK", "LIGHT: " + light);

                }
                Log.d("LIST", "list: " + list.toString());
            } else {
                Log.d("PUCK", "Error getting documents: ", task.getException());
            }
        }
    });