Json API-заполнитель - получение фотографий для конкретного пользователя c - PullRequest
0 голосов
/ 01 мая 2020

У меня небольшая проблема с фильтром в моем приложении android, потому что я использую JsonPlaceholderApi , и я хочу получить фотографии для конкретного пользователя c, и проблема в том, что вы сначала нужно выбрать альбомы для пользователя, а затем несколько отфильтровать те фотографии, идентификаторы которых мы получаем с запросом на альбомы. Мне удалось получить фотографии для первого альбома, но у меня проблемы с отдыхом, вот код:

        viewModelScope.launch {
            var getAlbums = PostsApi.photosService.getUserAlbumsAsyncWithId(userId)
            var getPhotos = PostsApi.photosService.getAllPhotosAsync()

            try {
                val albumsForUser= getAlbums.await()
                Log.d("ImgRequest-albums", albumsForUser.toString())
                val photosResult = getPhotos.await()
                    .filter { list -> list.albumId == albumsForUser[1].id }
                Log.d("ImgRequest-photos", photosResult.toString())
                _selectedUserPhotos.value = photosResult
            } catch (e: Exception) {
                _selectedUserPhotos.value = ArrayList()
            }
        }


    }

Как отфильтровать больше из них, есть ли какой-нибудь вариант потока, о котором я не знаю? Или может сделать какой-нибудь динамический c запрос к API?

1 Ответ

0 голосов
/ 01 мая 2020

Ответ, который я выяснил, состоит в том, чтобы изменить фильтр на:

.filter { list -> list.albumId in albumsForUser[0].id..albumsForUser[albumsForUser.size-1].id}

Не знаю, на 100% ли это хорошее решение, но оно работает:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...