从 Firebase 进行数据插入或数据检索的示例
在了解之前需要遵循一些与 firebase 集成的项目设置。
-
在 Firebase 控制台中创建项目并从控制台下载 google-service.json 文件并将其放入项目的应用级模块中,在控制台中按照创建项目的链接
-
在此之后我们需要在项目中添加一些依赖项,
-
首先在项目级 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) { } });