我试图使用Firebase的文档指南从我的数据库记录一个简单的字符串,但我收到此错误: com.google .firebase.database.DatabaseException:未能类型的java.util.HashMap的值转换为字符串com.google.firebase.database.DatabaseException:未能将java.util.HashMap类型的值转换为字符串
这是我的代码:
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) {
}
});
}
}
感谢任何形式的帮助!
的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)
不确定节点是什么,将我的logcat添加到帖子中。 – Skity
感谢logcat。我的意思是_node_是你的'DatabaseReference',它指向Firebase的JSON数据库的“树”结构中的“节点”。基本上,记录你的'DatabaseReference'以确保你在数据库的正确位置。如果是这样,您还将能够看到该引用的数据是否是您希望的数据。就像'Log.d(LOG_TAG,“Reference:”+ myRef.toString());'然后你可以点击你的logcat中的URL。 – Sunshinator