firebaseのドキュメントガイドを使用してデータベースから単純な文字列をログに記録しようとしていますが、このエラーが表示されます: com.google .firebase.database.DatabaseExceptionは:ヘルプの任意の並べ替えのための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) {
}
});
}
}
ありがとう:これは私のコードである文字列
に型のjava.util.HashMapの値を変換できませんでした!
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_を意味するのは、FirebaseのJSONデータベースである "tree"構造の "node"を指す、あなたの 'DatabaseReference'です。基本的には、データベースの正しい場所にいることを確認するために 'DatabaseReference'を記録してください。もしそうなら、その参照のデータがあなたが望むデータであるかどうかを見ることもできます。 'Log.d(LOG_TAG、" Reference: "+ myRef.toString());'のようなものです。その後、logcatのURLをクリックすることができます。 – Sunshinator