[英]Storing array in firebase / querying multiple strings in firebase
是否可以在 firebase 中查詢多個字符串,或將數組存儲到 firebase 數據庫?
我想獲取不同節點的字符串值。 這是我的結構:
msg {
msg1: "some string"
msg2: "another string"
msg3: "yet another"
}
我想獲得 3 條消息的價值,我該如何實現? 我是 firebase 數據庫的新手。
要在一個節點上保存多個字符串,您可以使用 Map:
Map<String,Object> map = new HashMap<>();
map.put("msg1","some string");
map.put("msg2","another string");
map.put("msg3","yet another");
yourRef.setValue(map);
要一起檢索這些數據,您可以這樣做,創建一個 pojo:
public class DataPojo {
//Make sure this variables types match exactly your firebase variable names
private String msg1;
private String msg2;
private String msg3;
public DataPojo() {
}
public String getMsg1() {
return msg1;
}
public void setMsg1(String msg1) {
this.msg1 = msg1;
}
public String getMsg2() {
return msg2;
}
public void setMsg2(String msg2) {
this.msg2 = msg2;
}
public String getMsg3() {
return msg3;
}
public void setMsg3(String msg3) {
this.msg3 = msg3;
}
}
然后檢索這樣的任何消息
yourRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot snapshot: dataSnapshot.getChildren()){
DataPojo dp = snapshot.getValue(DataPojo.class);
String msg1 = dp.getMsg1();
String msg2 = dp.getMsg2();
String msg3 = dp.getMsg3();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
System.out.println("The read failed: " + databaseError.getCode());
}
});
yourRef 是您要發布數據的位置以及要檢索數據的位置。 它是這樣創建的:
DatabaseReference yourRef = FirebaseDatabase.getInstance().getReference();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.