我正在使用数组数据结构来保存一些信息,如图所示
UserInfo.java
public class UserInfo {
private String userId, age, height;
public UserInfo(String userId, String age, String height) {
this.userId = userId;
this.age = age;
this.height = height;
}
public String getUserId() {
return userId;
}
public String getAge() {
return age;
}
public String getHeight() {
return height;
}
}
如何获取 array1 和 array2 并将它们保存为 UserInfo 对象? 因为我想填充 Recyclerview 中的数组。
最佳答案
首先您必须检索文档的内容。
一旦您成功检索到 DocumentSnapshot,然后从中获取 Java 对象并使用 Gson 将对象转换为 Json。
然后您可以解析 Json 并生成用户列表。现在您可以在 recyclerview 中填充列表。
FirebaseFirestore db;
List<UserInfo> userList;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_name);
db = FirebaseFirestore.getInstance();
userList = new ArrayList<>();
DocumentReference docRef = db.collection("users").document("h3cj5y....");// you can use your own here
docRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
Object object = documentSnapshot.getData();
String json = new Gson().toJson(object);
Log.v("json",json);
try {
JSONObject infoObj=new JSONObject(json).getJSONObject("info");
Iterator<String> iterator = infoObj.keys();
while (iterator.hasNext()) {
String key = iterator.next();
JSONObject objArray=infoObj.getJSONObject(key);
UserInfo user=new UserInfo();
user.setAge(objArray.getString("age"));
user.setHeight(objArray.getString("height"));
user.setUserId(objArray.getString("userId"));
userList.add(user);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
UserInfo.java
public class UserInfo {
private String age;
private String height;
private String userId;
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getHeight() {
return height;
}
public void setHeight(String height) {
this.height = height;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
}
关于android - 如何从 Firestore 中检索数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58113840/