从 Firebase 进行数据插入或数据检索的示例

在了解之前需要遵循一些与 firebase 集成的项目设置。

  1. 在 Firebase 控制台中创建项目并从控制台下载 google-service.json 文件并将其放入项目的应用级模块中,在控制台中按照创建项目的链接

  2. 在此之后我们需要在项目中添加一些依赖项,

  • 首先在项目级 gradle 中添加类路径,

    classpath 'com.google.gms:google-services:3.0.0'

  • 然后在 app level levell 中应用插件,将其写在依赖部分下面,

    apply plugin: 'com.google.gms.google-services

  • 需要在依赖部分添加应用级别 gradle 的更多依赖性

    compile 'com.google.firebase:firebase-core:9.0.2'

    compile 'com.google.firebase:firebase-database:9.0.2'

  • 现在开始在 firebase 数据库中插入数据,首先要求创建实例

    FirebaseDatabase database = FirebaseDatabase.getInstance();

    在创建 FirebaseDatabase 对象之后,我们将创建 DatabaseReference 以在数据库中插入数据,

    DatabaseReference databaseReference = database.getReference().child("student");

    这里 student 是表名,如果表存在于数据库中然后将数据插入表中,否则创建一个带有学生名的新表,之后你可以使用 databaseReference.setValue(); 函数插入数据如下,

    HashMap<String,String> student=new HashMap<>();

    student.put("RollNo","1");

    student.put("Name","Jayesh");

    databaseReference.setValue(student);

    这里我将数据作为 hasmap 插入但你也可以设置为模型类,

  • 开始如何从 firebase 中检索数据,我们在这里使用 addListenerForSingleValueEvent 来读取数据库中的值,

      senderRefrence.addListenerForSingleValueEvent(new ValueEventListener() {
              @Override
              public void onDataChange(DataSnapshot dataSnapshot) {
                  if(dataSnapshot!=null && dataSnapshot.exists()){
                      HashMap<String,String> studentData=dataSnapshot.getValue(HashMap.class);
                      Log.d("Student Roll Num "," : "+studentData.get("RollNo"));
                      Log.d("Student Name "," : "+studentData.get("Name"));
                  }
              }
    
              @Override
              public void onCancelled(DatabaseError databaseError) {
    
              }
          });