#java #firebase-realtime-database
#java #firebase-realtime-database
Вопрос:
Я пытаюсь получить изображения из базы данных firebase для отображения в моем приложении в Activity.Изображения загружаются успешно, но когда я пытаюсь их просмотреть, я их не вижу.Вот мой код для извлечения их из firebase.Я использую Android Studio.
public class ActionBar22 extends AppCompatActivity {
private RecyclerView mrecyclerview;
private ImageAdapter madapter;
private ProgressDialog mprogresscircle;
private DatabaseReference mdatabaseref;
private List<UploadedPosts> muploads;
List<UploadedPosts> list = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_action_bar22);
//pull items from firebase database
mrecyclerview = findViewById(R.id.recycler_view);
mrecyclerview.setHasFixedSize(true);
mrecyclerview.setLayoutManager(new LinearLayoutManager(this));
mprogresscircle = findViewById(R.id.progress_circle);
mprogresscircle = new ProgressDialog(ActionBar22.this);
mprogresscircle.setMessage("Loading...");
mprogresscircle.show();
muploads = new ArrayList<>();
final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("Uploads");
for(DataSnapshot postsnapshot : dataSnapshot.getChildren()){
UploadedPosts upload=postsnapshot.getValue(UploadedPosts.class);
muploads.add(upload);
}
madapter = new ImageAdapter(ActionBar22.this,muploads);
mrecyclerview.setAdapter(madapter);
mprogresscircle.setVisibility(View.INVISIBLE);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(ActionBar22.this, databaseError.getMessage(),Toast.LENGTH_LONG).show();
mprogresscircle.dismiss();
mprogresscircle.setVisibility(View.INVISIBLE);
}
});
}
}
Я хочу, чтобы оно отображало одну фотографию по ширине экрана.Они будут отображаться в виде столбца.Фотографии не отображаются.Только пустой экран.введите описание изображения здесь
Ответ №1:
Используйте Glide или Picasso для отображения изображений в ImageViews, вот пример того, как вы можете это сделать:
Gradle:
dependencies {
compile 'com.github.bumptech.glide:glide:3.5.2'
compile 'com.android.support:support-v4:22.0.0'
}
Код:
Glide
.with(context)
.load(yourImageURLHere)
.apply(RequestOptions.signatureOf(new CenterCrop()))
.into(ImageView);
и здесь вы можете найти несколько других примеров: https://github.com/bumptech/glide , прокрутите страницу вниз и проверьте их.