Как учиться по API (android)?

Здравствуйте, учусь по книге "Андроид. Программирование для профессионалов" 3-e издание. Дошел до 27-й главы.
Параллельно читаю Java для начинающих Шилдта.

Постоянно испытываю затруднения когда задачи не касаются материала книги, тоесть требуется лезть на developer.android.com и использовать его.

К примеру, сейчас пытаюсь понять как сделать индикатор загрузки (с неопределенным состоянием), помню что в параметрах AsyncTask было такое и захожу на AsyncTask нахожу там onProgressUpdate(Progress...) и читаю...

Вызывается в главном потоке, после вызова publishProgress(Progress...). Тайминг выполнения не определен. Этот метод используется чтобы отображать какую-либо форму прогресса в интерфейсе пока фоновые задачи находятся в процессе выполнения. К примеру, может быть использовано, чтобы анимировать строку загрузки или показывать логи в текстовом поле. - Перевод мой

Захожу в publishProgress(Progress...) там тоже инфы 3 строки и нет примеров.
Понятно, что я могу подсмотреть решения на stackOverflow, но правильно ли это? Мне кажется я должен научится пользоваться официальным инструментарием. Чувствую себя некомфортно постоянно прыгать за готовыми примерами.

Подскажите, пожалуйста, кто через это прошел, как вы решали эту проблему?
  • Вопрос задан
  • 356 просмотров
Решения вопроса 1
myjcom
@myjcom
Так посмотрите чужой код разберитесь и напишите сами. Если исходники не дали понимания как это работает. Только без копипаста.
В чем проблема то:) Ничего зазорного в этом нет. Искать инфу это тоже не тривиальная задача учитывая сколько мусора нужно отсеять.
Этому то же нужно учиться.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@Ivan0206
Такая же проблема, иногда чувствуешь себя неполноценным. Но, когда учишься всегда нужна практика. Ты когда в школе учил математику или физику, так же опирался на примеры как решается то или иное уравнение. Накопи базу, когда будешь понимать что происходит при компиляции и какая строчка кода отвечает за тот или иной процесс, начнёшь сам писать код. Всего знать невозможно, так или иначе будешь гуглить.
Ответ написан
Комментировать
Acuna
@Acuna
Заполнил свой профиль
Теория без практики мертва, как известно, поэтому нужно кодить, иначе не научиться. У Андройда реально хреновые доки, я туда за все время лазил пару раз от силы, так что идеальный вариант - искать ответы на SO, там всегда выкладывается код для решения той или иной задачи. Но у него есть и минус: большое количество индусов с соответствующим качеством кода, поэтому чтобы начать активно им пользоваться - к этому времени уже нужно хоть как-то разбираться хотя-бы в логике языка, чтобы уже на лету переписывать код из индусского в нормальный сразу в момент добавления его в проект, чтобы потом не тратить время на рефакторинг. Еще можно брать исходники опенсорсных проектов, но новичку в чужом лапшекоде разбираться весьма трудно, а уж искать решения и подавно.
Ответ написан
Комментировать
tema_sun
@tema_sun
Понятно, что я могу подсмотреть решения на stackOverflow, но правильно ли это?


Если ты просто зайдешь на SO и сделаешь copy/paste решения, то неправильно. Если разберешься в том, что там предлагают, то ок.
Ответ написан
Комментировать
@lomikman
Какой еще AsynсTask, 2018 год на дворе. На asynсtask уже ничего не делают

Последовательно выполнять задания из доисторических и переведенных книг самый медленный путь изучения.
Понятно, что я могу подсмотреть решения на stackOverflow, но правильно ли это?


Это самое главное и частое что ты будешь делать будучи типичным android разработчиком, гуглить и искать решения, экономить время и быстро решать задачи для бизнеса, а не пилить свои велосипеды

Если что то не получается, то нужно а) дебажить 2) вставлять логи 3) смотреть сорцы android sdk или библиотек
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы