我剛剛進入了firebase和android的世界。我跟着網上教程設置和獲取非嵌套數據並顯示那些在ListView如下:檢索Firebase中的嵌套數據 - Android
之前的數據:
mListView = (ListView) findViewById(R.id.ListView) ;
final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mStudents);
mListView.setAdapter(arrayAdapter);
FirebaseDatabase database = FirebaseDatabase.getInstance();
myRef = database.getReference().child("Student1");
myRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
String value = dataSnapshot.getValue(String.class);
String key = dataSnapshot.getKey();
String totl = key + ": " + value;
mStudents.add(totl);
arrayAdapter.notifyDataSetChanged();
}
});
我加了一個等級場分田數據庫。我想顯示整個student1數據以及成績。當我嘗試運行上面的代碼。我收到以下錯誤。
數據後:
FATAL EXCEPTION: main
Process: com.adcpnmd.mystudents, PID: 3524
com.google.firebase.database.DatabaseException: Failed to convert value of type java.util.HashMap to String
at com.google.android.gms.internal.zzbqi.zzaD(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzb(Unknown Source)
at com.google.android.gms.internal.zzbqi.zza(Unknown Source)
at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)
at com.adcpnmd.mystudents.Main$1.onChildAdded(Main.java:39)
at com.google.android.gms.internal.zzblz.zza(Unknown Source)
at com.google.android.gms.internal.zzbnz.zzYj(Unknown Source)
at com.google.android.gms.internal.zzboc$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
我用來訪問整個數據並添加到我的ListView嗎?還是我錯誤地構造數據?
在此先感謝。
查詢這裏http://stackoverflow.com/ questions/26700924/query-based-multiple-where-clause-in-firebase?noredirect = 1&lq = 1 – Alexander