[英]How to retrieve the data from Firebase database using REST APIs in android?
第一次使用fire base时,当尝试使用fire base rest api检索数据时,我得到这样的响应,
{
"-JQjT7REctmFfOAoGI6d" : {
"age" : "23",
"name" : "xxx",
"id" : "1"
},
"-JQjT7RGTUdl1FTrjed6" : {
"age" : "34",
"name" : "xxx",
"id" : "1"
}
}
它包含多个具有不同ID的json对象而没有jsonarray.i我想将此数据存储在对象中。
如果仅由于键而在解析时遇到问题,则可以使用迭代器提取键并对其进行解析
if(jObj != null){
Iterator<Object> keys = jObj.keys();
while(keys.hasNext()){
String key = String.valueOf(keys.next()); // this will be your JsonObject key
JSONObject childObj = jObj.getJSONObject(key);
if(childObj != null){
//Parse the data inside your JSONObject
}
}
}
you can access data by mainly 3 ways
1 addValueEventListener
2 addChildEventListener
3 addListenerForSingleValueEvent
步骤1:创建模型类
public class UserModel {
String id;
String name;
String age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
步骤2:访问活动中的数据
Firebase firebaseUserDataReference = new Firebase("your firebase url").child("your root name/");
firebaseUserDataReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d("Call", String.valueOf(dataSnapshot.getValue()));
for (DataSnapshot postData : dataSnapshot.getChildren()) {
UserModel userModel= postData.getValue(UserModel.class);
yourArrayList.add(userModel);
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.