Изображение флаттера не отображается / отображается из Интернета с использованием Image.network
Я столкнулся с проблемой при работе с трепетанием изображения. Я могу отображать изображения / изображения с моего устройства, но не могу отображать изображения / изображения из Интернета! Хотелось бы упомянуть, я добавляю код в файл androidManifest для интернет-разрешения.
Но что бы это не работало. Вот мой код из флаттера документации.
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
var title = 'Web Images';
return MaterialApp(
title: title,
home: Scaffold(
appBar: AppBar(
title: Text(title),
),
body: Image.network(
'https://picsum.photos/250?image=9',
),
),
);
}
}
Я не могу понять, в чем проблема! Он не показывает ошибки или выбрасывает исключение. Просто изображение не отображается на экране.
Что-нибудь, что мне нужно сделать для рендеринга изображения из Интернета или с помощью URL?
Спасибо
0 ответов
Я протестировал ваш код и, похоже, работает как с эмулятором Android, так и с симулятором iOS.
Относительно этой проблемы была заявлена ошибка.
Поскольку некоторые обходные пути были упомянуты в комментариях, например, проверка
INTERNET
будет включено, если вы работаете в режиме выпуска.
Шаблон приложения Flutter по умолчанию включает
INTERNET
разрешение для режимов отладки / профиля (для поддержки обсерватории Дарт), но не для режима выпуска.
Вы также можете попробовать следующее:
- Проверьте конфигурацию DNS на вашем компьютере. Возможно, он блокирует подключение к Интернету вашего эмулятора Android.
- Проверьте приложение на другом устройстве (например, на физическом устройстве Android с момента его работы в iOS). Если оно работает, это можно проверить на вашем компьютере или в Интернете.
Кроме того, в поданном комментарии к ошибке были упомянуты другие обходные пути:
Кстати, есть две папки, в которых AndroidManifest.xml появляется на моей машине:
android / app / src / profile android / app / src / debugУбедитесь, что у вас есть разрешения в обоих
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.flloadimage"> <uses-permission android:name="android.permission.INTERNET"/> </manifest>
Также здесь есть кое-что еще, чтобы проверить, есть ли проблема с телефоном. Войдите в оболочку adb, когда устройство запущено (или подключено), и проверьте связь с сайтом.
Например, должно выглядеть примерно так
~$ adb shell generic_x86:/ $ ping picsum.photos PING picsum.photos (104.37.178.1) 56(84) bytes of data. 64 bytes from 104.37.178.1: icmp_seq=1 ttl=254 time=17.6 ms 64 bytes from 104.37.178.1: icmp_seq=2 ttl=254 time=22.4 ms ^C --- picsum.photos ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5012ms rtt min/avg/max/mdev = 13.638/19.442/24.621/3.508 ms generic_x86:/ <press ctrl-d to exit to your prompt>
Другие идеи
- Попробуйте использовать другой Wi-Fi, например, в кафе.
- Выполните команду очистки flutter, чтобы восстановить
- Установить на другой компьютер