簡體   English   中英

在 firebase 中存儲數組/在 firebase 中查詢多個字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM