對不起,混亂的標題,我不能提出一個更好的,所以如果有人有他認爲更好的,請更新。
問題的核心。
我有信息的火力地堡實時數據庫,我有下面的類:從firebase更新應用程序變量的最佳做法
public class FirebaseUtil implements Constants {
private static final String fbRoot = "foods",
fbName = "name",
fbImage = "image";
private static FirebaseUtil instance;
public static FirebaseUtil getInstance() {
return instance == null ? new FirebaseUtil() : instance;
}
private FirebaseDatabase mFBDB;
private int mItemCount = 10;
private boolean mItemCountUpdateRecently = false;
private FirebaseUtil() {
instance = this;
mFBDB = FirebaseDatabase.getInstance();
}
public void getNumberOfItems() {
mFBDB.getReference(fbRoot).addListenerForSingleValueEvent(new VEListenerWrapper(runnable) {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
裏面的getNumberOfItems()
我想所謂的「食物」(fbRoot
)分支的孩子的數量,並更新到mItemCount
。
我到目前爲止的方式是創建一個ValueEventListener
包裝器,它具有一個接口,一旦完成onDataChange
就會被執行並更新我的值。
老實說,我認爲這是一個非常糟糕的做法,這就是爲什麼我想了解從ValueEventListener
內部更改變量的最佳方法是什麼,或者一般情況下可接受的方式是什麼。
請注意,我想更新一個在firebase中不存在的值。
對不起,這個問題還不夠清楚,糾正它。 –