我想每天将一些数据上传到Firebase存储中。我必须能够在需要时通过日期筛选来检索它们。如何做到这一点?
答案 0 :(得分:0)
实现每日上传的一种方法是将GcmNetworkManager用于棒棒糖之前的设备,否则尝试使用JobScheduler。这些对于电池的使用寿命更好。
app/build.gradle
模块文件中:
implementation 'com.google.firebase:firebase-firestore:17.1.0'
FirebaseFirestore db = FirebaseFirestore.getInstance();
将数据添加到Firestore:
Map<String, Object> data = new HashMap<>();
data.put("name", "Joe");
data.put("date", date);
db.collection("users")
.add(data)
.addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
@Override
public void onSuccess(DocumentReference documentReference) {
// success
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// error
}
});
按日期检索(请参见filtering options):
Query query = db
.collection("users")
.whereEqualTo("date", new Date())
query
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
// ...
});
希望我有所帮助:)