从Firebase数据库读取时遇到一些问题.
我有一个非常简单的布局
{
"lot" : {
"lot1" : "low",
"lot2" : "low",
"lot3" : "low"
}
}
当然,MyAppName {}最重要.
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getInstance().getReference();
// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// This method is called once with the initial value and again
// whenever data at this location is updated.
lotMap = (HashMap) dataSnapshot.getValue();
Log.d("[Directions Activity]: ", "Lot1 value ====== " +lotMap.get("lot"));
Iterator it = lotMap.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pair = (Map.Entry)it.next();
Log.d("[Directions Activity]: ", "iterator " + pair.getKey() + " = " + pair.getValue());
System.out.println();
it.remove(); // avoids a ConcurrentModificationException
}
}
这是日志返回的内容
D/[Directions?Activity]:: Lot1 value ====== null //null obviously
//because key lot1 doesn't exist
D/[Directions?Activity]:: lot = {lot3=low, lot2=low, lot1=low}
因此,对我来说,它似乎正在返回字符串{lot3 = low,lot2 = low,lot1 = low},但我希望能够获得一个数组,并在可能的情况下使用每个值.
这可以实现吗?