我希望能夠隨時檢索用戶之間的郵件,但是我似乎只是在我特別引用向後端添加新郵件時創建的子節點時才這樣做(子節點是「+ USER1PHONENUMBER:+ USER2PHONENUMBER」,兩個用戶都將數據寫入同一個子節點)。當用戶進入聯繫人列表並選擇聯繫人時,這是很好的,因爲我可以獲得兩個用戶電話號碼並知道要使用哪個子節點。我已經做了,這裏是這樣的:在用戶之間檢索Firebase數據
if (senderNumber > receiverNumber) {
Firebase ref = new Firebase(Passwords.FB_LINK).child("Message").child(username + ":" + binderContact.getNumber());
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot msg : dataSnapshot.getChildren()) {
Message message = msg.getValue(Message.class);
Log.d("TAG", "Message Received: " + message.getText());
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
else {
Firebase ref = new Firebase(Passwords.FB_LINK).child("Message").child(binderContact.getNumber() + ":" + username);
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot msg : dataSnapshot.getChildren()) {
Message message = msg.getValue(Message.class);
Log.d("TAG", "Message Received: " + message.getText());
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
的事情是,我想任何時候以某種方式接收郵件我的用戶接收其indludes他們PHONENUMBER這樣的話我可以存儲這一點,並顯示它們的子節點上的新信息在列表視圖中顯示聯繫人詳細信息,還可以隨時在用戶手機上創建通知,以便他們收到新消息。任何想法如何實現?我目前沒有任何想法。
我有以下消息類結構:
public class Message {
private String from;
private String to;
private String text;
private String time;
private String timeCreated;
private Boolean repeat;
private String weekdays;
public Message() {}
public Message(String from, String to, String text, String time, String timeCreated, Boolean repeat, String weekdays) {
this.from = from;
this.to = to;
this.text = text;
this.time = time;
this.timeCreated = timeCreated;
this.repeat = repeat;
this.weekdays = weekdays;
}
public String getFrom() {
return from;
}
public String getTo() {
return to;
}
public String getText() {
return text;
}
public String getTime() {
return time;
}
public String getTimeCreated() {
return timeCreated;
}
public Boolean getRepeat() {
return repeat;
}
public String getWeekdays() {
return weekdays;
}
}
這是我如何將數據保存到火力和它是什麼樣子的火力點結束(用戶名=用戶的PHONENUMBER):
// Save message on backend
if (senderNumber > receiverNumber) {
Firebase ref = new Firebase(Passwords.FB_LINK).child("Message").child(username + ":" + binderContact.getNumber()).child(currentTimeStamp);
Message msg = new Message(username, binderContact.getNumber(), message, hour + ":" + minute, currentTimeStamp, repeat, "M, D, W");
ref.setValue(msg);
}
else {
Firebase ref = new Firebase(Passwords.FB_LINK).child("Message").child(binderContact.getNumber() + ":" + username).child(currentTimeStamp);
Message msg = new Message(username, binderContact.getNumber(), message, hour + ":" + minute, currentTimeStamp, repeat, "M, D, W");
ref.setValue(msg);
}
請將您的數據結構作爲文本而不是圖片發佈。當我們可以複製並粘貼到我們的答案中時,文本使得它更快更簡單。 – Jay