首页 > 解决方案 > 如何在 Firebase 中获取过去的数据条目?

问题描述

我想每天将一些数据上传到 Firebase 存储中。我必须能够在需要时通过按日期过滤来检索它们。如何完成这项工作?

标签: androidfirebasefirebase-realtime-databasefirebase-authentication

解决方案


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

  1. 在Firebase 控制台注册新应用程序并按照说明在您的 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. 按日期检索(请参阅过滤选项):

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

希望我能以某种方式帮助:)


推荐阅读