Катушка не загружает изображение Jetpack Compose
Мне нужно показать изображение в моем приложении по URL-адресу с помощью Coil, но это изображение не загружается. Я слежу за официальной документацией https://coil-kt.github.io/coil/compose/.
implementation "io.coil-kt:coil-compose:1.3.1"
@Composable
fun ProfilePicture(profilePicture: String, online: Boolean) {
Card(
shape = CircleShape,
border = BorderStroke(
width = 2.dp,
color = if (online) MaterialTheme.colors.lightGreen else Color.Red
),
modifier = Modifier.padding(16.dp),
elevation = 4.dp
) {
Image(
painter = rememberImagePainter(
data = profilePicture,
builder = {
transformations(CircleCropTransformation())
}
),
modifier = Modifier.size(72.dp),
contentDescription = "Profile picture"
)
}
}
Обновлять
Пример для UserModel
UserModel(
name = "John Doe",
profilePicture = "https://randomuser.me/api/portraits/men/32.jpg",
online = true
)
3 ответа
Coil не загружает изображения в эмулятор, потому что вам нужно включить чистый текстовый трафик, добавьте эту строку в тег приложения в
AndroidManifest.xml
.
android:usesCleartextTraffic="true"
Затем удалите приложение из своего эмулятора и установите его снова, оно будет работать.
Проверьте дату/время на эмуляторе.
Проблема может быть вызвана тем, что эмулятор Android не синхронизирует дату и время с сетью. Это делает сертификат эмулятора просроченным и приводит к отказу сервера в соединении.
После ручной установки времени/даты эмулятора на текущую, у меня заработала загрузка изображений.
Также может помочь холодная загрузка эмулятора (похоже, что при загрузке с сохраненного образа по какой-то причине устанавливается дата/время, когда образ был сохранен).
У меня была такая же проблема, только на эмуляторе. Отключение мобильных данных при включенном Wi-Fi решило проблему для меня.