Когда пользователь регистрируется, изображение профиля сохраняется в базе данных Firebase.То, что я пытаюсь сделать, это извлечь его (профиль профиля) из узла «Пользователи / Драйверы» в firebase и поместить его в imageView в AlertDialog.
Что не так с этим кодом, что он не делаетчто он должен?
DatabaseReference driverArrivedRef = rootRef.child("Users/Drivers").child(driverId);
driverArrivedRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
// get driver profile pic from database 'Users/Drivers'
for (DataSnapshot ss : snapshot.getChildren()) {
String imageUrl = ss.child("photoUrl").toString();
DialogInterface.OnClickListener dialogClickListener = new DialogInterface
.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
//Yes button clicked
Toast.makeText(RiderHome.this, "Confirmed!",
Toast.LENGTH_SHORT).show();
isRiderInVehicle();
dialog.dismiss();
break;
case DialogInterface.BUTTON_NEGATIVE:
//No button clicked
Toast.makeText(RiderHome.this, "Not Confirmed, Try Again.",
Toast.LENGTH_SHORT).show();
dialog.cancel();
break;
}
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(RiderHome.this);
getImageBitmapFromURL(context, imageUrl); // code below
builder.setTitle("Driver Has Arrived")
.setMessage("Please proceed to vehicle.")
.setPositiveButton("CONFIRM", dialogClickListener)
.setNegativeButton("CANCEL", dialogClickListener);
AlertDialog alert = builder.create();
alert.getWindow().setGravity(Gravity.CENTER);
alert.show();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
getImageBitmapFromURL ()
public static Bitmap getImageBitmapFromURL(final Context context, final String imageUrl){
Log.e(TAG, "getImageBitmapFromURL");
Bitmap imageBitmap = null;
try {
imageBitmap = new AsyncTask<Void, Void, Bitmap>() {
@Override
protected Bitmap doInBackground(Void... params) {
try {
int targetHeight = 200;
int targetWidth = 200;
return Picasso.with(context).load(String.valueOf(imageUrl))
//.resize(targetWidth, targetHeight)
.placeholder(R.drawable.ic_default_user)
.get();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}.execute().get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
return imageBitmap;
}
Firebase - узел Пользователи / Драйверы