Pull to refresh

Comments 29

Подождите, а разве APK собранный под 2.3 не запустится на 4 андроиде в режиме совместимости? Вы ведь имеете в виду именно если собирать под 4 андроид?
Гугл вроде как руку на отсечение дает по поводу обратной совместимости.
У него рук много — ему одной не жалко…
Сами проекты запускаются. Если я закоментирую строчку вызова картинки из интернета, то приложение будет работать. Тут речь не о совместимости.
Как же не о ней, вы же явно пишете:
Представьте себе ситуацию, что в вашем приложении используется загрузка картинки или другого файла из интернета. И часть пользователей, которые обновились до ICS, начинает жаловаться, что ничего не работает. Другая часть пользователей с такой же моделью телефона будет утверждать, что всё прекрасно работает

Однако же, пока вы не указали в target-sdk версию API ICS, то будет работать обратная совместимость.

Хотя, замечу, что подгружать что-либо из сети в главном потоке непрофессионально, как минимум.
Да, это не профессионально, но в демонстрационных целях для себя такое часто используется.
Всё что в Интернете — по дефолту не только для себя :)
Обеспечивается совместимость public API, то есть все классы и интерфейсы которые есть в Android.jar 2.3, будут и в 4.0. Поведение же приложения может отличаться, если в manifest как target api указана 14. В этом случае, напрмер, будет по умолчанию показан Action Bar. Насчет сетевых дел в основном потоке точно не знаю, но думаю, что если target api указан ниже чем honeycomb, то исключения не будет вылетать.
1. Почему бы не просто посмотреть LogCat — сразу была бы видна ошибка и в какой строке, и не надо выводить текст ошибки в TextView.
2. Загружать что-то из сети в UI потоке — зло. Будет тормозить загружаемый ресурс или интернет-будет висеть все приложение, поэтому всегда надо загружать их в отдельном потоке.
Я согласен, что зло. Но в 2.3 это работало. Теперь ошибка заставит переделать примеры. В принципе, в серьезных проектах такой подход и не использовали. А вот в простеньких примерах сплошь и рядом.
Даже в примерах не соит такого делать-люди учатся и пишут тако. только если пример-как не надо делать.
Вы правы, пример получился неважным. Мне хотелось посмотреть на саму возможность загрузки в ImageView из интернета. Будем исправлять
Хорошо. И остальные примеры, в которых есть неверный подход лучше тоже пересмотрите.
Тема такая уже 100500 раз поднималась, раз уж учите молодежь, то учите правильно.
Что ж это за уроки такие, где учат делать I/O в основном потоке…
Наконец-то будут бороться, плохо что не сразу. Еще могли бы какой-нибудь механизм LogCat.Alert придумать, чтобы в режиме обратной совместимости выдавать в Eclipse (так как в обратной совместимости оно не падает).
UFO just landed and posted this here
Вот еще один пример когда сначала пишут код и только потом читают документацию, когда ничего не работает. Я бы посоветовал автору для начала причитать все статьи здесь и только потом применять свои знания в реальных проектах. Спасает от многих ошибок.
Единственное что для меня до сих пор не понятно, так это то почему исключение кидается только в Android 3+, ведь могли сделать и раньше.
Можно заметить, что google стало заботить качество приложений совсем не давно. Раньше и гайдлайнов не было. Может настанет то светлое время, когда на маркете появится хотя-бы минимальная цензура.
Как из пушки по воробьям.
Для таких задач используется AsyncTask или Thread
мда, сами создали проблему, сами же ее героически решили.
Посмотрел под котом — нет там никаких подробностей…
под котом, обычные другое можно найти.)
UFO just landed and posted this here
Ну эм, а то, что у вас зависал раньше интерфейс вас не смущало? И как вы прогресс бар отображали, ну или хотя бы крутящийся значок?
Sign up to leave a comment.

Articles