-1
私はfirebase jsonから単一の値を取得できず、nullであるかどうかをチェックすることができません。ここでAndroidのFirebaseが文字列として単一の値を取得する
は私のJSONファイルである:ここで
{ "117500978158564407389":
{
"uid" : "117500978158564407389",
"cat_list" : {
"category_list" : [ {
"cat_name" : "Work"
}, {
"cat_name" : "Health"
}, {
"cat_name" : "Food"
}, {
"cat_name" : "Spare time"
}, {
"cat_name" : "Travel"
} ]
}
}
}
は、私は、JSONの私の「UID」の値を取得しようとMVPの発表で私のコードです。しかし、それは常にヌルを示します。ここで
@Override
public String getId(String id) {
reference = FirebaseDatabase.getInstance().getReferenceFromUrl("https://talisproject-89e62.firebaseio.com/userData/");
reference.child("117500978158564407389").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
CategoryList categoryList = dataSnapshot.getValue(CategoryList.class);
ID = categoryList.getUid();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return ID;
}
}
は、私のPOJOクラスは、私は私のプレゼンター関数を呼び出す
public class CategoryList implements Serializable {
public List<Category> categoryList;
public List<Category> getCategoryList() {
return categoryList;
}
public void setCategoryList(List<Category> categoryList) {
this.categoryList = categoryList;
}
public CategoryList catList;
public String uid;
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public CategoryList(CategoryList catList, String uid) {
this.catList = catList;
this.uid = uid;
}
}
そしてここで、それは常にヌルを示しています。誰もが知っている、なぜそれが常にnullを表示し、どのように私はこの価値を得ることができますか?
ID = interPresenter.getId(uid);
*は誰もが知っているん参照してください* ...私は知っている... firebaseは非同期http://ideone.com/PPHi95 ...明らか 'IDを返すあり;'リスナーが 'onDataChange'にヒットする前に表示されます – Selvin