如何获取Firebase中的过去数据条目?

时间:2018-09-18 09:44:58

标签: android firebase firebase-realtime-database firebase-authentication

我想每天将一些数据上传到Firebase存储中。我必须能够在需要时通过日期筛选来检索它们。如何做到这一点?

1 个答案:

答案 0 :(得分:0)

实现每日上传的一种方法是将GcmNetworkManager用于棒棒糖之前的设备,否则尝试使用JobScheduler。这些对于电池的使用寿命更好。

  1. Firebase Console注册新应用,并按照有关在Android应用中实现Firebase的说明进行操作。
  2. 将Cloud Firestore Android库添加到您的app/build.gradle模块文件中:
    • implementation 'com.google.firebase:firebase-firestore:17.1.0'
  3. 初始化Cloud Firestore实例:
    • FirebaseFirestore db = FirebaseFirestore.getInstance();
  4. 将数据添加到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
                }
            });
    
  5. 按日期检索(请参见filtering options):

    Query query = db
         .collection("users")
         .whereEqualTo("date", new Date())
    query
         .get()
         .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
             // ...
         });
    

希望我有所帮助:)