Ich habe Firebase-Benutzer und die Posts, die sie getan haben. Ich möchte die Post-Bild-URL aus dem Post erhalten, sie herunterladen und in einer Gridview anzeigen.Wie können Sie Firebase-Fotos in der Gridview anzeigen?
Dies ist mein Code:
public class Profile extends Fragment {
private CircleImageView mprofilePic;
private TextView mUsername, mBio;
private GridView mGridView;
private Uri mImageUri = null;
private FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
private StorageReference mStorageImage;
private DatabaseReference mdatabaseUsers = FirebaseDatabase.getInstance().getReference().child("Users");
private FirebaseAuth mAuth;
private FirebaseUser mCurrentUser;
private DatabaseReference userposts;
private static final int GALLERY_REQUEST = 1;
public static Profile newInstance() {
return new Profile();
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View profileView = inflater.inflate(R.layout.fragment_profile, container, false);
mAuth = FirebaseAuth.getInstance();
mCurrentUser = mAuth.getCurrentUser();
userposts = FirebaseDatabase.getInstance().getReference().child("Users").child(mCurrentUser.getUid()).child("posts");
mprofilePic = (CircleImageView) profileView.findViewById(R.id.profile_picture);
mUsername = (TextView) profileView.findViewById(R.id.profile_username);
mBio = (TextView) profileView.findViewById(R.id.profile_bio);
mGridView = (GridView) profileView.findViewById(R.id.gridview);
mdatabaseUsers.child(firebaseUser.getUid()).child("image")
.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String imageUrl = dataSnapshot.getValue().toString();
Glide.with(getContext()).load(imageUrl).into(mprofilePic);
//mprofilePic.setImageURI(Uri.parse(imageUrl));
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
mdatabaseUsers.child(firebaseUser.getUid()).child("Name").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String username = dataSnapshot.getValue().toString();
mUsername.setText(username);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return profileView;
}
}
Was ich brauche, ist der aktuelle Benutzer zu erhalten und das Kind (Beiträge) und das Kind (Bild), dann laden Sie es und es ausdrückte erhalten in die Rasteransicht und renne zum nächsten Post und erhalte das zweite Post-Image und so weiter.
Irgendwelche Vorschläge? Vielen Dank!