Как реализовать вывод фотографий через JSON запрос к серверу?

172
02 июля 2018, 21:10

Требуется реализовать возможность вывода фотографий после получения ответа JSON с сервера. В этом ответе содержаться прямые ссылки на фотографии. То есть идет запрос к серверу -> получения ответа JSON -> вывод фото на экран смартфона. Подскажите, как такое реализовать? В какую сторону копать?

Answer 1

Посмотрите в сторону библиотек

  • Retrofit для получения JSON и его разбора
  • Glide для подгрузки и кэщирования картинок на место ImageView

    callToday.enqueue(new Callback<WeatherDay>() {
        @Override
        public void onResponse(Call<WeatherDay> call, Response<WeatherDay> response) {
            Log.e(TAG, "onResponse");
            WeatherDay data = response.body();
            //Log.d(TAG,response.toString());
            if (response.isSuccessful()) {
                tvTemp.setText(data.getCity() + " " + data.getTempWithDegree());
                Glide.with(MainActivity.this).load(data.getIconUrl()).into(tvImage);
            }
    

Код отсюда https://proft.me/2017/05/5/poluchenie-prognoza-pogody-android-retrofit/

Если у вас коллекция, загружайте в RecycleView Adapter и например так отображайте

@Override
public void onBindViewHolder(ViewHolder viewHolder, int position) {
  ImageView imageView = ((MyViewHolder) viewHolder).imageView;
  String currentUrl = myUrls.get(position);
  GlideApp.with(fragment)
    .load(currentUrl)
    .override(imageWidthPixels, imageHeightPixels)
    .into(imageView);
}

https://bumptech.github.io/glide/int/recyclerview.html

Answer 2

Если вы получается в ответ от сервера ссылку на фотографию, то вам поможет Picasso (http://square.github.io/picasso/) и Retrofit для работы с JSON ответом

READ ALSO
Встраивание карт в приложение на Java

Встраивание карт в приложение на Java

Мне необходимо встроить карты в моё оконное приложение на Java, не обязательно google-карты, мне нужно лишь находить место по заданным координатам,...

236
Анимация для изменения цвета JComponent. / Write animation for JComponent to change colors from rectangles&#39; color to grey slowly

Анимация для изменения цвета JComponent. / Write animation for JComponent to change colors from rectangles' color to grey slowly

Я хочу сделать анимацию для изменения цвета JComponent с любого на серый в течении 5 секунд/ I want to make an animation which would change JComponent's color from any color to grey and then back, but slowly,...

159
Сравнение BigDecimal

Сравнение BigDecimal

Даны две точки и середина между нимиПочему результат сравнения неверный? Изначально я использовал тип double, оказалось, что он не очень подходит...

199
Ошибка с FirebaseListAdapter

Ошибка с FirebaseListAdapter

При компиляции кода выдает ошибку:

194