Ich versuche, eine einfache Zeichenfolge aus meiner Datenbank mit Firebase Docs Guide zu protokollieren, aber ich erhalte diesen Fehler: com.google .firebase.database.DatabaseException: Fehler Werte vom Typ java.util.HashMap in String konvertierencom.google.firebase.database.DatabaseException: Konnte den Wert vom Typ java.util.HashMap nicht in String umwandeln
dies ist mein Code:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("brands");
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String value = dataSnapshot.getValue(String.class);
Log.d("TAG", "Value is: " + value);
//;
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
Vielen Dank für jede Art von Hilfe!
logcat:
03-27 18:58:12.593 574-574/com.ofir.motoinfo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.ofir.motoinfo, PID: 574
com.google.firebase.database.DatabaseException: Failed to convert value of type java.util.HashMap to String
at com.google.android.gms.internal.zzbtg.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbtg.zzb(Unknown Source)
at com.google.android.gms.internal.zzbtg.zza(Unknown Source)
at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)
at com.ofir.motoinfo.MainActivity$1.onDataChange(MainActivity.java:33)
at com.google.android.gms.internal.zzbpx.zza(Unknown Source)
at com.google.android.gms.internal.zzbqx.zzZS(Unknown Source)
at com.google.android.gms.internal.zzbra$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:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
nicht wirklich sicher, was ein Knoten ist, fügte mein logcat zum Beitrag hinzu. – Skity
Danke für das Logcat. Was ich mit _node_ meine, ist Ihre 'DatabaseReference', die auf einen" Knoten "in der" Baum "-Struktur verweist, die die JSON-Datenbank von Firebase ist. Im Grunde loggen Sie Ihre 'DatabaseReference' ein, um sicherzustellen, dass Sie sich an der richtigen Stelle in Ihrer Datenbank befinden. Wenn dies der Fall ist, können Sie auch sehen, ob die Daten bei dieser Referenz die Daten sind, die Sie möchten. Etwas wie 'Log.d (LOG_TAG," Reference: "+ myRef.toString());' Dann können Sie auf die URL in Ihrem Logcat klicken. – Sunshinator