Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (8)

Лучшие ответы пользователя

Все ответы (9)
  • Чем отличие кода С# от java для написания приложения?

    @Boodmoo
    Для себя решил что лучше нативного нет ни чего. Был плохой опыт с Xamarin версию уже не помню, но где то это было полтора года назад. Проблемы были с WCF сервисами, на тот момент Xamarin предлагал это как киллер фичу, а на деле не работала пока не отключил оптимизацию при построении (apk раздувало до 20 мб при том что это тупо hello world from wcf). Потом когда ищешь информацию по android находишь ответы на java и переводишь их под xamarin + иногда встречалось что свойство можно задать просто как это делается в C# (obj.Property1 = val), а на деле это не работало и нужно это делать через метод obj.setProperty1(val); и ни какой даже warning не ругнется что так делать не стоИт . В итоге меня это в конец задрало и проект ждет когда я разберусь с java. Для себя я понял что под android "большая часть интернета" пишет на java и следовательно с тривиальными затыками разобраться получится быстрее на java без необходимости сражаться с багами Xamarin и переводить код с Java в C# (хоть это и не так сложно, но нюансы тоже встречались). Может конечно Xamarin сейчас не тот что был тогда, но осадок остался. Тем более сейчас появилась Android Studio вполне симпатичная и функциональная IDE.
    Ответ написан
    Комментировать
  • Как асинхронно загружать изображения и отображать общий прогресс в Progress Bar'е?

    @Boodmoo
    Читаем что такое MVVM и async/await, создаем UserControl с версткой типа
    <Grid>
                <Image Source="{Binding Path=ViewModel.ImageSource, Mode=OneWay}"/>
                <ProgressBar Value="{Binding Path=ViewModel.DownloadProgres, Mode=OneWay}"/>
     </Grid>


    Создаем ViewModel для контрола с нужными полями методом async Task Download().

    теперь во ViewModel главного окна делаем метод принимающий массив Task, допустим startDownloadImage(params Task[] tasks) и выполняющий эти таски (await Task.WhenAll(tasks)).
    В итоге получаем от каждой кнопки мы шлем таску от соответствующего UserControl`a, а если нужно все скачать то передаем все таски разом.

    как то так, если не понятно то пиши
    Ответ написан
    1 комментарий