クエリ結果からキーを取得する際に問題が発生しています。これは私のFirebaseデータベース構造である:代わりに結果を得ることの私は、このようなランダムコールバックを取得していますなぜFirebaseのクエリからキーを取得する
{
"Users" : {
"7idb6ThWR8aqmnEHFao5GRCV1kI3" : {
"dPicture" : "https://firebasestorage.googleapis.com/v0/b/parkir-ngasal.appspot.com/o/Profile_images%2Fcropped1465266876.jpg?alt=media&token=44f83fdf-935a-4b3c-8138-561dcba2fca7",
"status" : "hi my name is erik",
"uid" : "7idb6ThWR8aqmnEHFao5GRCV1kI3",
"username" : "erik"
}
},
"posts" : {
"-KfsrGsY8TWb2wiMFtAq" : {
"dPicture" : "https://firebasestorage.googleapis.com/v0/b/parkir-ngasal.appspot.com/o/Profile_images%2Fcropped1465266876.jpg?alt=media&token=44f83fdf-935a-4b3c-8138-561dcba2fca7",
"image" : "https://firebasestorage.googleapis.com/v0/b/parkir-ngasal.appspot.com/o/Post_Images%2Fcropped1354055061.jpg?alt=media&token=77fbc9ed-4356-43c1-b7bb-9563300a8b7b",
"small_title" : "tes",
"summary" : "tes",
"title" : "tes",
"uid" : "7idb6ThWR8aqmnEHFao5GRCV1kI3",
"username" : "erik"
}
}
}
私はKfsrGsY8TWb2wiMFtAq
を取得しようとしたが、
Query mThisUsersPosts;
public static final String TAG = "blah" ;
mDatabasePosts = FirebaseDatabase.getInstance().getReference().child("posts");
mThisUsersPosts = mDatabasePosts.orderByChild("uid").equalTo(mCurrentUser);
mThisUsersPosts.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
final String posts_key = dataSnapshot.getChildren().toString();
Log.d(TAG,posts_key);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
の下にこのコードを使用しています、私は理解していません次のように:
[email protected]
[email protected]
[email protected]
事前に感謝します。あなたが複数の投稿をお持ちの場合は
//This assumes Post is the data type you're trying to get.
final Posts posts = dataSnapshot.getValue(Posts.class);
を行うことができます:
datasnapshot.getKey()のようにdatasnapshotからアイテムキーを取得できます。 –
こんにちは@ Mohom.R ...それを試みました...それは "投稿"ハハ... 1つのレベルが高すぎるを返す – Jagmaster
私は答えを投稿してください.. –