Типичный ответ опытных программистов состоит в том, что нужно начинать с Java, прежде чем переходить к специфичному для Android коду, но я не согласен. Я думаю, что самое важное для нового программиста - это возможность быстро увидеть плоды своей работы в контексте, который для них кажется полезным. Другими словами, у вас должен быть какой-то личный проект, который вы пытаетесь завершить. Это дает вам больше мотивации, чем работа над какой-то случайной программой в учебнике, и вы учитесь, преодолевая определенные препятствия на пути.
Теперь я должен добавить, что я не опытный программист, и я никогда не пытался научить кого-либо программировать. В этом смысле комментарий CommonsWare должен иметь больший вес, поскольку он написал несколько книг по этому вопросу и, таким образом, имеет опыт работы инструктором. Однако я говорю как человек, который научился программировать на Android-Java практически с нуля. Я работал над несколькими языками, такими как VB (для макросов Excel) и C, но я никогда не писал ничего больше, чем около ста строк кода, и ничего не знал об объектно-ориентированном программировании.
Конечно, поступать таким образом будет грязно. Вы будете часто читать учебные пособия и будете смущены тем, почему они делают вещи такими, какие они есть, или, например, тем, что они подразумевают под «частным статическим» целым числом или наследованием класса. Вы также будете программировать с плохим стилем, решать проблемы неуклюже или неэффективно. Тем не менее, я думаю, что эти проблемы перевешиваются преимуществами личной мотивации. Гораздо легче изучать что-либо, если вы знаете, почему это важно для вас.
Однако хитрость заключается в том, чтобы вы выбирали простые проекты для начала. Вы должны понимать, что программирование чего-либо полезного окажется сложным и трудным. Попытка начать с 2d игры не будет работать; слишком много, чтобы учиться в первую очередь. Лучшее место для начала - учебники на веб-сайте Android Developer . Поработайте с ними и посмотрите, сможете ли вы их немного изменить, чтобы сделать разные вещи.
После этого посмотрите, сможете ли вы найти какие-то простые вещи, которые вас раздражают в вашем телефоне (примечание: я предполагаю, что у вас действительно есть телефон Android), или вещи, которые облегчили бы жизнь. В моем случае я написал несколько очень простых программ, позволяющих изменять громкость звонка одним нажатием, переходить с бесшумной на среднюю громкость и наоборот.
Как только вы это сделаете, вы сможете заняться большими проектами. Конечно, в конечном итоге вам придется столкнуться с трудностями и прочитать «правильные» учебные пособия по Java, поскольку вы не можете вечно баловаться полуслепым. Но, повторяя эту мысль, я думаю, что гораздо легче понять, если вы знаете, почему это важно.
Прежде всего, будьте терпеливы и настойчивы! Это весело, когда вы преодолели первоначальное недоумение!