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());
}
}
});
我有一个名为 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());
}
}
});