- Как начать программировать под Android? Пошаговый план
- Изучаем язык
- Kotlin
- Изучаем Android SDK
- Изучаем популярные библиотеки
- Для многопоточного программирования
- Библиотеки для Dependency injection
- Библиотеки для сетевого взаимодействия
- Библиотеки для обработки изображений
- Библиотеки для работы с Json
- Библиотеки для хранения данных
- Уроки по Android
- Вам понравилось? Было полезно? Поделитесь!
- 53 Responses to Уроки по Android
- Учимся программировать под Андроид
Как начать программировать под Android? Пошаговый план
В этой статье мы рассмотрим, как начать программировать под Android. Пошаговый план с ссылками на ресурсы, курсы и книги и типичные вопросы, которые задают на собеседованиях на позицию junior Android-разработчика. Ну а если вы хотите быстро за 12 занятий вникнуть в азы Android — то приглашаю на практический онлайн-интенсив где вы с наставником разработаете собственный проект.
Итак, вы решили начать программировать под операционную систему Android. Для начала, вам нужно изучить язык программирования. В мире Android на момент написания статьи (март 2020) года используются как Java, так и Kotlin, однако второй официально рекомендован компанией Google и набирает всё большую популярность, так что, если вы не знаете ни одного языка программирования — то можете изучать Kotlin, если же вы уже знаете какой-либо объектно-ориентированный язык программирования, то изучить Java или Kotlin для вас не составит труда. На рынке тренд идет в сторону Kotlin.
Изучаем язык
Kotlin
Чтобы освоить Kotlin, вам могут пригодиться, следующие ресурсы:
- Try Kotlin — набор примеров и заданий по Kotlin cразу с консолью, в которой можно ввести код и проверить
- Kotlin Bootcamp for Programmers — туториал от Google
- Android Kotlin Fundamentals Course — набор мини-курсов для быстрого старта в Android — разработке
- Книга «Kotlin. Программирование для профессионалов» — Книга Джоша Скина и Дэвида Гринхола основана на популярном курсе Kotlin Essentials от Big Nerd Ranch. Яркие и полезные примеры, четкие объяснения ключевых концепций и основополагающих API не только знакомят с языком Kotlin, но и учат эффективно использовать его возможности
- Kotlin Bootcamp for Programmers — хороший видеокурс, объясняющий основы программирования на Kotlin
Чтобы освоить Java, вам могут пригодиться, следующие ресурсы:
- Изучаем Java Сьерра Кэти, Бэйтс Берт — эта книга не только научит вас теории языка Java и объектно-ориентированного программирования, она сделает вас программистом. В ее основу положен уникальный метод обучения на практике. В отличие от классических учебников информация дается не в текстовом, а в визуальном представлении.
- Become a Java Developer — курс от Udacity, который поможет вам изучить Java
- Джошуа Блох: Java. Эффективное программирование — эта книга является классикой для Java-программистов. Для новичков может быть несколько сложновата, но постарайтесь прочитать ее хотя бы половину и вернитесь к ней через годик, все сразу станет на свои места. Кстати, многие вопросы на собеседовании по Java взяты именно отсюда, так что не ленитесь, почитайте.
- Java. Библиотека профессионала. Том 1. Основы | Хорстманн Кей С. — Эта книга давно уже признана авторитетным, исчерпывающим руководством и практическим справочным пособием для опытных программистов, стремящихся писать на Java надежный код для реальных приложений. Быстро освоить основной синтаксис Java, опираясь на имеющийся опыт и знания в программировании.
Изучаем Android SDK
Как только вы освоили базовый синтаксис и поняли базовые концепции, переходите к изучению Android SDK, параллельно читая перечисленные выше книги. Изучение Android SDK вы можете начать с таких ресурсов как:
- Android Kotlin Fundamentals — набор туториалов для начинающих Android-разработчиков от Google на языке программирования Kotlin. Из курса вы узнаете об основных компонентах Android SDK, таких как Activity, Intent, BroadcastReceiver и других.
- Become an Android Developer — курс на Udacity, где за 6 месяцев вам расскажут от том как разрабатывать мобильные приложения под Android
- Школа мобильной разработки — набор лекций об устройстве Android от Яндекс. Часть материала немного устарела, но даже сейчас будет очень полезна как начинающим, так и уже более-менее опытным разработчикам.
- Android Programming: The Big Nerd Ranch Guide — достаточно понятная книга для новичков, чтобы понять программирование под Android OS
- The Busy Coder’s Guide to Android Development — книга, которая уже, наверное стала классикой для Android — программистов, один из самых полных источников знаний по Android OS
Это далеко не полный список, материалов огромное количество, но изучив вышеперечисленные ресурсы, вам с запасом хватит знаний для программирования под Android. Главное — не забывайте ежедневно практиковаться, общаться с наставником или ментором чтобы быстрее понимать свои ошибки и учиться на них.
Изучаем популярные библиотеки
Итак, вы неплохо знаете синтаксис языка, понимаете ООП, умеете применять наследование там где оно нужно и ваши приложения более-менее работают. Возможно, еще без применения архитектуры (MVP/MVVM/VIPER/RIBs) и без навороченных библиотек или фрэймворков. Самое время изучить и их.
В этом разделе я приведу список наиболее популярных библиотек, который используются в большинстве Android — проектов. Изучив их, вы смело сможете претендовать на звание junior или даже middle — разработчика.
Для многопоточного программирования
- RxJava 2 — видеокурс введение в RxJava на Stepic или бесплатный базовый курс по RxJava
- Kotlin Coroutines — набор туториалов и документация по корутинам от Jet Brains
- Основы работы с WorkManager— туториал по работе с WorkManager
- Advanced Coroutines with Kotlin Flow and LiveData — туториал от Google как рабоать с корутинами и LiveData
Библиотеки для Dependency injection
Библиотеки для сетевого взаимодействия
- Retrofit — пошаговый туториал, где вы создадите приложение для поиска фильмов
Библиотеки для обработки изображений
Библиотеки для работы с Json
Библиотеки для хранения данных
- Room — мини-курс, который поможет понять основы Room + LiveData
- Realm
Изучив, материалы из этого списка вы уверенно сможете претендовать на роль джуниор-разработчика, а в следующем посте мы рассмотрим наиболее часто задаваемые вопросы на собеседованиях. А прямо сейчас приглашаю вас на онлайн-интенсив по разработке
Источник
Уроки по Android
Программирование под android — с чего начать?
Задались таким вопросом? Тогда добро пожаловать!
На этой странице собраны все то что с некоторой натяжкой можно назвать моими небольшими уроками по Android 🙂
Буду рад если кому-то это поможет :-).
При публикации материалов с этого сайта, пожалуйста, ставьте ссылку на оригинал материала, буду очень признателен!
Вам понравилось? Было полезно? Поделитесь!
53 Responses to Уроки по Android
случайно наткнулась на Ваш блог) теперь постоянно его просматриваю) Статьи очень полезные, спасибо Вам) надеюсь, что блог будет развиваться;)
Спасибо 🙂 Буду стараться !
Скинь прогу для изучения и написания программных алгоритмов пожалуйста ! Только не на английском прошу тебя ! Я хочу выучить но прога для написания нужна !
Я чего-то не совсем пойму какую такую прогу для написания и изучения алгоритмов?
Имею виду типа AIDE но блин она на английском !
А, ну такого боюсь нет (((
Здравствуйте! Мельком пробежался по статьям движка, собрал все в кучу, вроде ошибок нету. Попытался собрать 15-шки, собираются, но приложение не работает. Там нужно графику подключать? Не могли бы вы выложить весь проект игры 15? хочется понять хочется посмотреть что куда идет, что в xml лежит, как правильно организовывать проекты в Eclips и т. д. Можно скинуть на почту, если не сложно.
Счас выложу здесь.
Пожалуйста, ловите проект для Eclipse внизу в посте про пятнашки 🙂
Спасибо уважаемый 🙂 С наступающим Вас новым годом!!
у меня вопрос …. можно портировать простую программу на анероид … если да то как это сделать и насколько это сложно? и как можно сделать пользовательский интерфейс для программы на анероиде?
Портировать так или иначе можно все что угодно. А что-за именно проргамма?
прежде всего спасибо большое за уроки и сурсы.
есть вопрос по полилайн:
mPoint po[i];
for(int i=0;i
собирается, но вылетает при запуске на устройстве
Лучше напиши програмный автоответчик для андройд.
Отличные статьи! Почему бы вам не делать более подробные уроки по отдельно каждому элементу? Например кнопки, текстовые поля, датчики ориентации, акселерометр, всё, что можно использовать при разработке приложений. Это было бы весьма познавательно.
Да можно конечно. Но пока времени нет 🙁
Классные статьи! Я думаю, можно еще написать пару статей о Qt и SDL под Android. Например, библиотека SDL используется в основном для создания кроссплатформенных игр, а т.к. Ваш блог ориентирован именно на разработку игр под Android, то SDL будет в самый раз.
Большое спасибо за такие статьи… а можешь замутить простую игру в крестики — нолики.
Поищите внимательно здесь где ты есть. Просто я сейчас телефона неудобно добавлять ссылки
Добрый день. Столкнулся с проблемой, на андроиде не могу запустить java сайт. Вот этот к примеру http://jc.pcranywhere.com/
Это программа для удаленного управления радиоприемником, подключенным к компьютеру.
Как научить андроид понимать такие сайты? Спасибо!
Боюсь что никак 🙁 Андроид таким штукам не научишь 🙁
Здорово еще раз… делаю живые обои… суть такова: летают пузырьки их можно лопать касанием пальца… после исчезновение самого шарика появляется картинка капель (типо шарик лопнул)… Вопрос как написать так чтоб последняя картинка капель сама исчезала…
Попробуйте прозрачность уменьшать 🙂
Увеличивать. А когда она достигнет максимума — удаляешь объект.
Ага, согласен, уменьшать 🙂
Добрый день… сделал приложение, запихнул на маркет платным… вопрос: как попасть в топ платных.
Честно говоря понятия не имею 🙂 Я как-то больше разработкой чем продвижением занимаюсь 🙂
Приветствую… Подскажите, как сделать так чтобы при каждом нажатии объекта воспроизводился звук.
Привет. Помнится, я обещал автору выложить сюда свой переработанный движок.
Однако, дойдя до конца, и, набравшись опыта, я понял что и мой новый движок далек от идеала. А движок автора в чем то лучше моего. В частности, у автора правильные имена файлов и переменных. А я в своем проекте наворочал черти-чего. По-этому выкладывать не буду, дабы не позориться )
В качестве благодарности автору за обучение — могу выложить кое-то другое. Изучаю готовый движок AndEngine. Есть рабочий код, который создает спрайт самолетика на экране. Можно двигать самолетик акселерометром, можно перетаскивать в-ручную. Главное — в коде море комментов (наверное больше половины кода — комменты). Я все описал на русском, надеюсь все понятно.
Вот код:
http://www.everfall.com/paste/id.php?6f7rpx9xg5ne
Вот видео того, что делает код:
http://www.youtube.com/watch?feature=player_embedded&v=a7WWUBI98nQ
Вот мой бложик. Чтобы задать мне вопросы. Хотя можно и тут, если автор не против.
http://sapfil-proger.livejournal.com/
П.С. Надеюсь, публикация таких ссылок разрешена автором. Если нет — просьба к автору — удалить этот пост частично или полностью — на его усмотрение.
Спасибо.
Здравствуйте, у меня тут такая проблема возникла, (я знаю что я нуб). в общем я не могу скачать эмулятор андроида для ПК!(( все варианты перепробывал, ничего не получается. можете мне кинуть ссыки на скачивание нужных компонентов) заранее спасибо)) очень надеюсь на вашу помощь
Ну собственно все есть вот тутта http://developer.android.com/sdk/index.html SDK с эмулютором и прочими плюшками 🙂 на eclipse.com можно скачать эклипс, а дальше по мануалу из первой ссылки (если конечно с английским все в пряде :)))
Ну вот так всегда! Блог для обучения программирования под android с первых шагов… И с первых же шагов тёмный лес. Просто не все знают язык Java. Я столкнулся с такой проблемой — авторы большинства сайтов, статей и книг для жаждущих написать программку на андрюше почему то дефолтно считают читателя java-программистом и после короткого вступления кидают его в болото классов и непонятных терминов.
Просьба — уточните, что необходимо знать, перед тем как Android осваивать? Может мне сначала Java изучить надо (есть такие догадки). А то как то не вяжется… С наскоку весь код и объяснения к нему непонятны абсолютно. При всем при том, что знаком с PHP, и базовые определения вроде переменных, констант, массивов, циклов и т.д. понимаю. Боюсь представить, какая каша в голове у человека, который не представляет себе, что такое программирование или среда разработки.
Был бы крайне рад услышать совета с чего всё таки начинать? Ну явно не с Hello World
Хм… Вполне логично. Надо ксстати написать про это 🙂
Источник
Учимся программировать под Андроид
Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «How To Learn Android Development» от Amit Shekhar.
Как изучить разработку приложений под Андроид?
Я видел много вопросов о том, как начать изучать программирование под Андроид и стать успешным разработчиком. Здесь я попытался охватить большинство важных аспектов в Android Development.
Изучение андроид-разработки — процесс, который должен проходить шаг за шагом. И данное руководство — не исключение. Никто не может стать полноценным Андроид-разработчиком за 30 дней. В этой статье также будут представлены лучшие учебники и статьи по разработке Андроид.
Итак, как разработать приложение под Андроид?
Ниже представлены темы, которые, по моему мнению, являются самыми важными для разработки приложений под Андроид:
- Прежде всего, вы должны обладать базовыми знаниями языка Java. В этом мне помогла книга Head-First Java
- Установите Android Studio IDE на свой ПК или ноутбук.
Ссылка автора - Когда вы уже подтянули знания по Java, найдите курс или книгу по разработке под Андроид. Обязательно подкрепляйте пройденное практикой
- Ознакомьтесь с жизненным циклом Андроид-приложения.
Ссылка автора
Ссылка переводчика - Узнайте о том, как отлаживать приложение.
Ссылка автора
Ссылка переводчика - Изучите про навигацию между экранами, tasks и back stack.
Ссылка автора
Ссылка переводчика - Разберитесь с тем, что такое контекст в Андроид.
Ссылка автора
Ссылка переводчика - Прочитайте про SharedPreferences.
Ссылка автора
Ссылка переводчика - RecyclerView в Андроид.
Ссылка автора
Ссылка переводчика - Фрагменты.
Ссылка автора - ViewPager в Андроид.
Ссылка автора
Ссылка переводчика - DialogFragments. Ссылка автора
- Основные потоки.
Ссылка автора
Ссылка переводчика - Сторонние библиотеки.
Ссылка автора
Ссылка переводчика - Работа с сетью в приложении.
Ссылка автора
Ссылка переводчика - БД и ORM(объектно-реляционное отображение).
Ссылка автора
Ссылка переводчика - Службы, сервисы.
Ссылка автора - Датчики, GPS, Acceleration.
Ссылка автора
Ссылка переводчика - Разберитесь, как создать пользовательское представление(view-элемент).
Ссылка автора
Ссылка переводчика - Handler in Android.
Ссылка автора
Ссылка переводчика - ThreadPool Executor.
Ссылка автора
Ссылка переводчика - Уведомления.
Ссылка автора - Загрузчики.
Ссылка автора - Поставщик контента.
Ссылка автора - Обработка изменений в режиме выполнения.
Ссылка автора - RxJava. В настоящее время также используется при разработке под Андроид.
Ссылка автора
Ссылка переводчика - Kotlin.
Ссылка автора
Ссылка переводчика - Dagger.
Ссылка автора
Ссылка переводчика - Архитектура MVP.
Ссылка автора
Ссылка переводчика - Архитектура MVVM.
Ссылка автора
Ссылка переводчика - Показатели производительности.
Ссылка автора - Стиль и правила написания кода.
Ссылка автора
Ссылка переводчика - Аннотации.
Ссылка автора
Ссылка переводчика - Советы по разработке:
Ссылка автора
Ссылка переводчика - Статья про то, как улучшить код аннотациями
- Как уменьшить размер APK-файла.
Ссылка автора
Ссылка переводчика - Оптимизация приложений под Android с помощью ArrayMap и SparseArray.
Ссылка автора
Ссылка переводчика - Git.
Ссылка автора
Хорошего кода 🙂
Источник