【发布时间】:2018-12-27 20:42:31
【问题描述】:
【问题讨论】:
-
那么你想创建一个包含key和word 2个字段的模型类?
标签: android firebase firebase-realtime-database
【问题讨论】:
标签: android firebase firebase-realtime-database
让 ref 成为你的 DatabaseReference 然后 addValueEventListener
例子:
ref.addValueEventListener(new ValueEventListener() {
public void onDataChange(DataSnapshot dataSnapshot){
DataModel model = dataSnapshot.getValue(DataModel.class);
}
}
任何类都可以做同样的事情,比如你想得到一个输出
String -> getValue(String.class)
Integer -> getValue(Integer.class)
【讨论】:
你的模型,根据你要检索的数据应该是这样的(假设你只想要key和word)
public class Model {
private String key;
private String word;
private String baseText;
private String mainText;
private String type;
private String url;
public Model() {
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getWord() {
return word;
}
public void setWord(String word) {
this.word = word;
}
public String getBaseText() {
return baseText;
}
public void setBaseText(String baseText) {
this.baseText = baseText;
}
public String getMainText() {
return mainText;
}
public void setMainText(String mainText) {
this.mainText = mainText;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
然后,您可以通过此操作获取该数据
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Model model = dataSnapshot.getValue(Model.class);
log.d("Key: "+model.getKey() + " word: " + model.getWord());
}
@Override
public void onCancelled(DatabaseError databaseError) {
System.out.println("The read failed: " + databaseError.getCode());
}
});
其中ref 是您要提取数据的节点处的DatabaseReference
参考这个链接
https://firebase.google.com/docs/database/admin/retrieve-data?hl=en#section-start
【讨论】: