Xamarin Forms: удаленные изображения не загружаются на Android - PullRequest
0 голосов
/ 20 октября 2019

Я играю с Xamarin Forms, я создаю простое приложение, которое использует themoviedb api, оно показывает список фильмов в элементе управления ListView, довольно просто. Я оставил его на несколько недель, вчера я попробовал его и заметил, что изображения в Android Simulator никогда не отображаются, то же самое с физическим устройством, единственное отличие, которое у меня было, это то, что я создал проект с VS2017, и теперь я открываю его с помощьюVS2019 (Community Edition оба), гугл Я вижу некоторые посты (хотя их очень мало), которые указывают, что проблема заключалась в изображениях https и конфигурации HttpClient, я проверил, и все выглядело отлично из коробки enter image description here

Я тестировал много других вещей, таких как создание нового проекта с простым изображением, пробовал с другим изображением в том же приложении и не повезло, я тестирую приложение в iOS, и все выглядит правильно. \

enter image description here

Приложение имеет только 1 страницу, это XAML: https://github.com/olman21/xamarin-movies/blob/master/Xamarin.Movies/Xamarin.Movies/Views/SearchMoviePage.xaml

Изображение XAML

<Image Source="{Binding BackdropPath, Converter={StaticResource movieDbImageConverter}}"
                               Aspect="AspectFill"
                               HeightRequest="160"
                               Grid.Row="0"/>

movieDbImageConverter

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        var imageName = value as string;
        if (imageName == null) return string.Empty;

        return ImageSource.FromUri(new Uri($"{internalSettings.MovieDbImageBaseUrl}/{imageName}"));
    }

И это полный репо: https://github.com/olman21/xamarin-movies

Любая помощь будет оценена!

1 Ответ

1 голос
/ 21 октября 2019

Вот проблема, я понял.

Измените new Uri($"{internalSettings.MovieDbImageBaseUrl}/{imageName}"); на

new Uri($"{internalSettings.MovieDbImageBaseUrl}{imageName}");

ex URL-адрес https://image.tmdb.org/t/p/w500/nRXO2SnOA75OsWhNhXstHB8ZmI3.jpg не https://image.tmdb.org/t/p/w500//nRXO2SnOA75OsWhNhXstHB8ZmI3.jpg

Браузерыпонять, что ОС Android не всегда уходит.

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