4
在火力地堡的文檔約lists,還有就是你創建一個Java對象,並通過setValue()
這樣寫對象的火力地堡參考的例子:Firebase的setValue()如何用於Java中的對象?
private static class MyObject {
private String property1;
private int property2;
public MyObject(String value1, int value2) {
this.property1 = value1;
this.property2 = value2;
}
public String getFirstProperty() {
return property1;
}
}
private void populateList() {
Firebase ref = new Firebase("https://MyDemo.firebaseIO-demo.com/myObjects");
ref.push().setValue(new MyObject("myString", "7"));
}
如何在內部這項工作,即當你沒有寫一個toString()
方法等,什麼值將完全保存到Firebase參考中?更進一步,Firebase客戶端能夠從保存的值恢復舊對象嗎?怎麼樣?
是否有必要擁有private static
類,以便Firebase可以讀取字段?
謝謝,沒有看到!所以這可能使用反射,對嗎?你知道嗎,也許,爲什麼吸氣者是必要的?由於沒有setter,所以必須使用反射才能訪問這些字段,爲什麼不在沒有getters的情況下直接獲取值呢?如果不是,沒問題,因爲我必須接受這個問題,無論如何,我猜;) – caw
JavaBeans屬性通常使用[內省](http://docs.oracle.com/javase/7/docs/api/java/beans /Introspector.html),但是,它確實在幕後使用了反射。 –
更正:Firebase Java客戶端庫在幕後使用[Jackson 1.x](http://jackson.codehaus.org/),並且Jackson有[自己的introspector](http://jackson.codehaus.org/ 1.9.9/javadoc/org/codehaus/jackson/map/introspect/package-summary.html),與JavaBeans不同。 –