【发布时间】:2016-04-01 05:45:39
【问题描述】:
好的,所以标题可能有点模棱两可或难以理解,所以我会尽量详细说明。我正在编写一个有用户的 android 应用程序。
firebase 中的 json 如下所示:
user{
$auid{
"Name": "blah",
"email": "blah",
"image": "blah",
"conversationKeys"{
"randKey":"key",
"randKey":"key",
"randKey":"key",
}
}
}
所以我遇到的问题是嵌套集合(对话键),它们是完全不同集合中对话的键。我不知道如何将它们存储在我拥有的用户 java 类中。我曾尝试将类中的值设为 arrayList,希望它能正常工作。
我用它来检索数据:
userRef = new Firebase((new FireBaseAPI()).getUsersURL()+"/"+sharedPrefs.getAuthuid());
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
user = dataSnapshot.getValue(UserData.class);
}
我希望能够将它们全部存储在一个类中,其中对话键存储在 arrayList 或数组或其他任何东西中。
任何帮助将不胜感激。如果需要更清晰,请不要犹豫。感谢您的帮助。
另外,用户数据类是:
public class UserData {
public String displayName;
public String profileImageURL;
public String coverImageURL;
public String lastLogin;
public String provider;
public String bio;
public ArrayList<String> conversationKeys;
public ArrayList<String> getConversationKeys() {
return conversationKeys;
}
public void setConversationKeys(ArrayList<String> conversationKeys) {
this.conversationKeys = conversationKeys;
}
public UserData(String name,
String profilePic,
String coverPic) {
this.displayName = name;
this.profileImageURL = profilePic;
this.coverImageURL = coverPic;
}
public UserData() {
}
public String getBio() {
return bio;
}
public void setBio(String bio) {
this.bio = bio;
}
public String getProvider() {
return provider;
}
public void setProvider(String provider) {
this.provider = provider;
}
public String getLastLogin() {
return lastLogin;
}
public void setLastLogin(String lastLogin) {
this.lastLogin = lastLogin;
}
public String getProfileImageURL() {
return profileImageURL;
}
public void setProfileImageURL(String profileImageURL) {
this.profileImageURL = profileImageURL;
}
public String getCoverImageURL() {
return coverImageURL;
}
public void setCoverImageURL(String coverImageURL) {
this.coverImageURL = coverImageURL;
}
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
}
【问题讨论】:
-
在下面回答。下一次,您能否确保您显示的 JSON 与您显示的 Java 类相匹配?它还有一个额外的优势,即我们对
blah和randKey之类的解释没有任何区别。您可以使用仪表板中的“导出”按钮轻松地从 Firebase 数据库中获取(部分)JSON。 -
当然,非常感谢您的回复,我应该意识到它需要进入地图。
标签: java android json firebase firebase-realtime-database