Изображение флаттера не отображается / отображается из Интернета с использованием 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.

Эмулятор 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, чтобы восстановить
  • Установить на другой компьютер
Другие вопросы по тегам