Андроид самоучитель – Start Android — учебник по Android для начинающих и продвинутых

alexxlab
alexxlab
28.08.2020

Разработка приложений для Android: с чего начать?

С чего начать?

Каким образом проходит процесс разработки под Android? Выделим несколько основ:

  • В Java файлах вы описываете логику программы — то, что вы хотите, чтобы ваше приложение выполняло.
  • В XML файлах вы разрабатываете макеты — внешний вид.
  • Как только приложение будет написано, нужно использовать инструмент сборки для того, чтобы скомпилировать все файлы и упаковать их вместе в .apk файл, который можно запускать на устройствах Android и/или опубликовать в Google Play.
  • Все утилиты и файлы, которые используются для создания приложения под Android, объединены в интегрированную среду разработки (IDE). IDE — это программа, которую вы откроете для редактирования ваших файлов кода, а также компиляции и запуска.
  • Ранее стандартной IDE для разработки под Android была Eclipse, но сейчас ее заменила более функциональная Android Studio — продукт компании Google.

Вы, конечно же, найдете более глубокие процессы, происходящие за кулисами вышеперечисленных шагов. Например, продвинутые пользователи захотят узнать роль виртуальной машины Dalvik. В конце статьи будут перечислены ссылки на полезные ресурсы, с которыми должен быть знаком каждый Android разработчик. Первым из них является официальная документация от Google.

Но пока, давайте двигаться дальше. Вот что мы разберем в рамках данной статьи:

  • Загрузим и установим Android Studio.
  • Узнаем про запуск и тестирование приложений на устройствах и эмуляторах Android.
  • Создадим простое приложение на Android, которое выводит надпись «Hello World» на экран мобильного устройства.

В конце статьи вы можете ознакомиться с полезными рекомендациями начинающим разработчикам от компании.

Установка среды разработки Android Studio

Начать читать документацию и писать код что бы узнать на что способна платформа  — это действительно заманчиво. И мы скоро это сделаем! Однако, для начала работы с платформой Android необходимо настроить среду разработки.

Новичкам в программировании под Андроид особенно важно не торопиться и методично следовать каждому шагу. Даже если вы выполняете шаги правильно, может потребоваться устранить небольшую проблему с настройкой среды в зависимости от конфигурации вашей системы или версии продукта. Для этого используйте поисковые сервисы. Особенно можно выделить ресурс StackOverflow.

Важно не допустить, чтобы какие-либо подводные камни препятствовали вашей конечной цели — обучиться Android программированию. Известно, что даже профессионалы иногда испытывают определенные проблемы с настройкой рабочего окружения. В таких случаях бывает важно знание командной строки. Если вы хотите лучше ознакомиться с этим инструментом, внизу приводится ссылка на хороший вводный туториал.

Наряду с тренировками в синтаксисе, важно обучить себя мышлению успешного программиста, которое не будет принимать сообщение об ошибке file X not found окончательным приговором. Такое мышление легко тренируется вами в случаях, если вы не сдаетесь и ищите решение возникшей проблемы.

Перейдите на страницу Android Studio developer.android.com/studio/index.html и найдите кнопку для загрузки последней версии для своей платформы.

Главная страница Android Studio

Кликните по кнопке загрузки и вас попросят ознакомиться с правилами и условиями использования программного продукта. После внимательного прочтения (как вы всегда это делаете) и принятия, начинается загрузка. Вероятно, это займет несколько минут. После этого вы можете установить Android Studio аналогично любой другой программе. На начальной странице загрузки содержатся инструкции по установке под Mac и Windows.

Документ Terms and Conditions

Теперь, когда вы установили Android Studio, давайте запустим его! Запустите Android Studio. Программа спросит, хотите ли вы импортировать свои настройки. Поскольку вы начинаете с нуля, просто выберите второй пункт и продолжайте.

Завершение установки

Вы должны увидеть красивый загрузочный экран в стиле Material Design.

Загрузочный экран

По окончанию загрузки, вы попадете на экран приветствия.

Welcome to Android Studio

Даже в том случае, если вы только что загрузили Android Studio, у вас может быть не самая последняя версия. Чтобы избежать проблем с версиями в дальнейшем, нажмите кнопку «Check for updates now» и, если необходимо, выполнить все инструкции для получения последней версии. Иногда Studio автоматически информирует вас о том, что есть обновление с помощью экрана, подобного этому:

Проверка обновлений

В этом случае всегда выбирайте Update and Restart. Отлично! Мы успешно справились с установкой среды для разработки.

Создание первого Android проекта

Пришло время создать первый проект. Начнем с простого. У программистов принято называть первую программу «Hello World». Давайте следовать этой традиции, а затем сделаем несколько небольших изменений, чтобы приложение использовало ваше имя для приветствия. В конце вы сможете загрузить его  на устройство и показать своим знакомым. Android Studio имеет небольшой пошаговый инструмент, который поможет вам создать свой проект. Нажмите «New Project» на стартовом экране:

Создание нового проекта

Далее вы должны увидеть окно, подобное следующему:

Описание проекта

Заполните его подобным образом. Не стесняйтесь заменить «example» в имени пакета на что-то еще, чтобы удалить предупреждение внизу экрана. Вы также можете установить местоположение проекта, указав любую папку на жестком диске

Для раскрывающихся версий SDK обратите внимание на раздел «Описание» в нижней части диалогового окна. В нем объясняется, для чего предназначена каждая настройка.

Установите минимальный требуемый SDK, как показано на снимке экрана. Это устанавливает минимальную версию Android, необходимую для запуска приложения. Выбор этого значения для ваших собственных проектов — это вопрос балансировки возможностей SDK, которые вы хотите, и устройств, которые будут поддерживаться.

Для первого приложения я рекомендую использовать версию API 14, которая является Android 4.0 Ice Cream Sandwich. Каждое приложение будет иметь разные требования, и вы можете выбрать что-то другое, в зависимости от ситуации.

Для получения дополнительной информации о версиях API и их использовании, на сайте для разработчиков под Android существует специальная страничка Dashboards https://developer.android.com/about/dashboards/index.html.

Dashboards

После выбора версии, открывается экран выбора стартового шаблона. Вы можете создать приложение, которое уже взаимодействует с api google maps и отображает карту. В нашем тестовом примере выбираем Empty Activity и нажимаем кнопку «Next».

Выбор стартового шаблона

И сейчас вы находитесь на последнем шаге процесса создания приложения. Прежде чем нажать «Finish», обратите внимание на некоторые вещи. Тут вы впервые сталкиваетесь с упоминаниями о главных архитектурных компонентах любого приложения.

  • Activity Name — это первое, но не последнее упоминание слова Activity. В контексте Android, Activity обычно рассматривается как «экран» в вашем приложении. Этот элемент очень гибкий. Когда Android Studio создает класс MainActivity, он наследует его от класса Activity из пакета Android SDK. Те, кто знаком с объектно-ориентированным программированием, понимают эту концепцию, но для новичков, это, в основном, означает, что ваша MainActivity будет настраиваемой версией Activity.

Activity Name

  • Layout Name — макет того, что будет показано пользователю, определен в специальном виде Android XML. Вы скоро научитесь читать и редактировать эти файлы.

Нажимаем Finish. Некоторое время займет создание и загрузка проекта. Через некоторое время Android Studio завершит билд вашего проекта. Конечно, проект пока пуст, но в нем есть все необходимое для запуска на Android-устройстве или эмуляторе.

Билдинг проекта

После загрузки проекта вы просматриваете файл макета в формате XML. Прежде чем перейти к программированию под Android, давайте поговорим о том, каким образом мы можем запустить это приложение. Пришло время сказать «Hello world!».

xml структура проекта

Запуск приложения на эмуляторе

Теперь настало время сказать пару слов об эмуляторе. Android Studio поставляется с программным обеспечением, способным эмулировать Android-устройство для запуска на нем приложений, просмотра веб-сайтов, отладки и всего остального.

Эту возможность предоставляет Android Virtual Device (AVD) Manager. По желанию вы можете настроить несколько эмуляторов, установить размер экрана и версию платформы для каждого нового эмулятора. Этот функционал очень полезен, поскольку избавляет разработчиков от необходимости покупать несколько устройств для тестирования программ.

Нажмите на кнопку Run в виде зеленой стрелки.

Запуск приложения на эмуляторе Android устройства

Придется подождать некоторое время, пока эмулятор загрузится и как только он будет готов, вы увидите что-то вроде этого:

Рабочее приложение

Мои поздравления! Вы сделали свое первое приложение для Android!

И так… Почему и как это сработало?

Чтобы начать делать изменения и добавлять интересные функции, необходимо получить рабочее знание о том, что происходит за кулисами. Взгляните на раздел проекта Android Studio с файлами и папками в левой части экрана. Возможно, вам понадобится нажать маленькую вкладку на краю (см. Ниже), если на данный момент проводник проекта не отображается.

Структура папок Android проекта

Просмотрите в течение нескольких минут структуру папок и дважды кликните по файлам, чтобы увидеть их содержимое в главном окне. Если все это выглядит загадочно, не волнуйтесь!

Структура Android проекта: Команда

Каждая хорошая команда состоит из людей, которые выполняют отведенные им роли. Вы хотите выполнить работу правильно? Вам нужна правильная команда. В проектах Android есть несколько ключевых элементов, и каждый из них должен сыграть определенную роль:

Java: Профессионал

Это часть вашего кода, которая отвечает за логику приложения. Ваш код будет находиться в каталоге src\main\java в основной папке проекта. Для изучения Java можно посоветовать книгу Брюса Эккеля «Философия Java»;

Resources: Артист

Недостаточно просто сделать Android приложение, оно должно быть еще и стильным. Ваше приложение никогда не будет выделяться, если у него нет четких значков и изображений, хорошо продуманных макетов и, возможно, даже плавных анимаций.

При инициализации, папка содержит следующие папки:

  • drawable, в которой хранятся иконки. Сейчас там лежит только стандартная иконка приложения.
  • layout с XML файлами, которые представляют собой дизайны экранов.
  • menu c XML файлами списков элементов, которые будут отображаться в панели действий.
  • values с XML файлами, содержащими размеры, цвета, строковые константы и стили.

AndroidManifest.xml: Босс

Этот XML-файл информирует вашу систему о требованиях к оборудованию и программному обеспечению приложения и содержит его версию имя и значок. Манифест также содержит информацию про все Activity в приложении. Вам нужна работа, выполняемая вашим приложением? Сначала поговорите с начальником.

Внесение изменений

Перейдите к res/values/strings.xml и дважды щелкните файл. Когда вы откроете файл, вы увидите два строковых ресурса в XML.

Эти ресурсы используются в разных местах, но очень удобно иметь весь текст, используемый в вашем приложении в одном файле. Если вам нужно перевести его, или если ваш коллега по маркетингу попросит удалить все лишние ссылки, здесь будет легко внести все изменения.

Измените строку hello_world, которую приложение отображает на экране. Измените ее содержимое на нечто более личное, например используйте ваше собственное имя. Получится что-то вроде:

<string name=»hello_world»>Matt is learning Android!</string>

Нажмите Run. Приложение должно перезапуститься и вы увидите персональное сообщение:

Персональное сообщение в программе

Мы поздравляем вас — вы сделали первый проект и научились редактировать исходный код. Первый шаг в Android программировании сделан. Желаем удачи на этом непростом, но безумно интересном пути! Если вам нужна профессиональная разработка приложения для Android, обращайтесь к специалистам Infoshell.

infoshell.ru

Самоучитель Android

Для планшетов и смартфонов.

Леонтьев, В.П. «Новейший самоучитель Android 5» Эксмо, 2015 год, 288 стр. (8,10 мб. pdf)

Самоучитель Android поможет вам освоить работу со своим смартфоном или планшетом буквально за несколько вечеров. Вы узнаете о всех особенностях четвертой и пятой версий операционной системы Android, её тонкостях и секретах. Под управлением этой операционной системы сейчас в мире работает почти семьдесят процентов всех мобильных гаджетов. Если вы еще не приобрели планшет или смартфон, то в книге, автор подготовил для вас рекомендации по выбору подходящей модели с приемлемым соотношением цена-качество. Узнаете с каким экраном, фотокамерой, процессором и памятью купить мобильное устройство, при этом не переплачивая лишних денег. Даются советы и обзоры дополнительных модулей: Wi-Fi, 3G/LTE, Bluetooth, Глонасс.

Рассмотрены технические параметры батарей и даются рекомендации по их тестированию. В самоучителе Android все советы и рекомендации по настройке пользовательского интерфейса, управлению встроенными модулями и использованию программного обеспечения ( а описывается более 250 полезных приложений), даются.- как и положено для хорошего самоучителя, в доступной форме и сопровождаются рисунками, фотографиями и пояснениями. Вы сможете настроить свой Android гаджет и оснастить его лучшим софтом, при этом не потратив деньги на покупку ПО.
ISBN 978-5-699-79105-7

Оглавление книги

Введение 5
Выбираем гаджеты 14
Экран 17
Процессор 18
Память 21
Камера 23
Батарея 25
Беспроводные модули 30
Знакомимся с Android 34
Аккаунт Google 34
Управление Android 37
Интерфейс Android 52
Коммуникации 63
Приложения 74
Стандартные приложения 87
Мобильные приложения Google 117
Настройки Android 150
Android для продвинутых 159
Самые необходимые бесплатные приложения для вашего гаджета 168
Система 169
Интерфейс 176
Погода 178
Связь 179
Будильники 181
Телефон 183
Приложения 185
Интернет 186
Измерения 188
Облачные копилки 190
Новости 193
Социальные сети 195
Коммуникаторы 201
Знакомства 208
Офисные приложения 210
Планировщики 213
Литература 215
Религия 219
Музыка 222
Радио 226
Видео 228
Фотография 233
Рисование, Дизайн 240
Кулинария 241
Финансы 242
Шоппинг 244
Законодательство 251
Образование 253
Работа 259
Медицина 259
Спорт, фитнес 262
Путешествия, туризм 264
Навигация 268
Автомобилистам 273
Геолокация 274
Детям 277
Развлечения 280

Скачать книгу бесплатно8,10 мб. pdf

Похожая литература


www.htbook.ru

Несколько книг для начинающего и продолжающего разработчика под Android / Habr

В прошлом году я входил в миры Android. Помимо изучения исходников, документации, статей, блогов, аудио- и видео-материалов по теме, читал книги. Спешу поделиться читательским опытом.

Под катом небольшой обзор восьми книг. Темы следующие:


  1. RxJava
  2. Потоки в Android
  3. Разработка под Android на Java
  4. Kotlin. Обзор языка
  5. Kotlin. Практика
  6. Kotlin. Обзор языка с уклоном на Android
  7. Разработка под Android на Kotlin
  8. Rx в Kotlin


Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications. By Tomasz Nurkiewicz,‎ Ben Christensen. O’Reilly Media; 1 edition October 27, 2016; 372 pages;
ISBN-13: 978-1491931653

Книга, которая на примере RxJava поможет понять вам, что такое реактивное программирование. Она требует от вас неплохое знание Java (по крайней мере, вы должны понимать, что такое обобщенные типы и лямбда-выражения) и предполагает последовательное чтение, т.к. материал подается шаг за шагом. Мне кажется, в этой связности и последовательности подачи материала — основная прелесть книги. Внимательный читатель получит полное представление о RxJava. В этом главный профит издания.

Но, даже если уверены в своих знаниях Rx, книга наверняка откроет вам что-то новое. Тем более, если вы только начинаете изучать тему. Если это так, то можно дать вам еще один совет: закрепляйте на практике пройденные темы и изучайте open-source проекты. Так вы быстрее освоите Rx.

Недостатком книги можно считать тот факт, что она имеет в виду версию RxJava 1.1.6. Во второй версии RxJava претерпела некоторые существенные изменения (см. статьи на Хабре Исследуем RxJava 2 для Android и ReactiveX 2.0 с примерами, а также полный список изменений на wiki проекта What’s different in 2.0), и поэтому некоторые места в книге устарели. Однако эти изменения вытекали из общей логики развития RxJava и в книге о них идет речь. Думаю, второе издание должно поставить все на свои места, хотя к этому моменту, возможно, появиться RxJava 3.

Еще один небольшой недостаток, на мой взгляд: книга недостаточно развернуто объясняет теорию реактивного программирования и начинающему разработчику может быть нелегко войти в тему. Хорошее место для этой цели первая глава, но она (с учетом отличий от RxJava 2) выглядит запутанной.

Непосредственно работе RxJava в Android посвящена восьмая глава. Много прекрасно разобранных практических примеров. Но опять же, на сегодня охват возможностей Rx в Android неполон.

В целом, ни один из недостатков не перечеркивает достоинств книги. Она может быть рекомендована к чтению как начинающими разработчиками, так и опытными девелоперами.

Кроме прочего, всегда интересно посмотреть, каких на этот раз животных поместило на обложку издательство O’Reilly.

Есть перевод на русский:

Нуркевич Т., Кристенсен Б. Реактивное программирование с применением RxJava. Разработка асинхронных событийно-ориентированных приложений. ДМК Пресс, 2017 год, 358 стр.
ISBN: 978-5-97060-496-0


обложка перевода



Efficient Android Threading: Asynchronous Processing Techniques for Android Applications. By Anders Goransson. O’Reilly Media; 1 edition June 13, 2014; 280 pages;
ISBN-13: 978-1449364137
Книга делится на две части. В первой вы узнаете, что находится под капотом операционной системы (ОС) Android: из каких компонентов состоит ОС, как организовано взаимодействие между потоками и между процессами, и как Android организует управление памятью. Во второй части вы научитесь управлять потоками и процессами, узнаете различные механизмы для этого, познакомитесь подробней Service и фреймворком Loader.

Из минусов, на мой взгляд, можно назвать то, что в книге не слишком подробно объясняется взаимодействие между процессами (фрейворк Binder, AIDL), как с теоретической, так и с практической стороны. И, поскольку, книга написана до второй половины 2014 года, мы не найдем в ней то, что появилось с момента выхода Android Lollipop 5.0. Например, можно вспомнить планирование задач с использованием JobScheduler, Doze Mode, ограничения на запуск Service, которые мы получили в Android Oreo 8.0… etc.

То, что есть недостатки, можно отнести скорее к лаконичному стилю изложения (книга < 300 страниц) и ко времени написания. Но не смотря на них, книга must have для погружения в устройство OC Android. Знания, которые может дать книга, нужны любому серьезному разработчику под Android. Здесь они собраны воедино. И если вам не очень понятен доклад о AIDL и Binder, который вы услышали на очередной Android-конференции, то книга поможет вам в этом.

Есть перевод на русский:

Ёранссон А. Эффективное использование потоков в операционной системе Android / пер. с англ. А.В.Снастина. — М.: ДМК Пресс, 2015 год, 304 стр.
ISBN: 978-5-97060-168-6


обложка перевода



Android Programming: The Big Nerd Ranch Guide. By Bill Phillips, Chris Stewart & Kristin Marsicano. Big Nerd Ranch Guides; 3 edition February 9, 2017; 624 pages;
ISBN-13: 978-0134706054
Действительно неплохая книга, которую можно смело рекомендовать начинающим разработчикам или преподавателям, для составления программы обучения Android-разработке. Если вы начинающий разработчик, то в книге вы найдете множество приемов и примеров для программирования Android-приложений, к которым вы бы могли идти самостоятельно довольно долго. Книга начинает с «Hello world» и через теорию, упражнения и написание небольших приложений, обучает основному стеку технологий для создания Android-приложения. Требует среднего знания Java.

Из минусов я бы назвал неравномерную сложность, довольно большой объем. Думаю, если вы начнете проходить книгу от корки до корки, то для этого вам понадобится много терпения. Не факт, что такой способ не замедлит ваше развитие, как разработчика. Я бы рекомендовал использовать этот фолиант скорее как справочник по интересующей вас теме (теорию быстрее узнать, например, на каком-либо онлайн-курсе), а для скорейшего вхождения в тему Android-разработки — писать свои проекты и изучать, как пишут код другие разработчики.

Есть перевод на русский:

Филлипс Б., Стюарт К., Марсикано К.Android. Программирование для профессионалов. 3-е издание / пер. с англ. — СПб.: Издательский дом «Питер», 2017 год, 688 стр.
ISBN: 978-5-4461-0413-0

На Хабре есть заметка от издательства о книге.


обложка перевода



Kotlin in Action. By Dmitry Jemerov & Svetlana Isakova. Manning Publications; 1 edition February 19, 2017; 360 pages;
ISBN-13: 978-1617293290
«Kotlin в действии» — книга от создателей языка. Книга очень хорошо написана. Я имею в виду структуру материала, стиль повествования и оформление текста. Сложилось впечатление, что авторы взяли все лучшее из книг о языках программирования и воплотили это в своей работе. Главная их заслуга в том, что они сумели отойти от формализма документации и смогли показать особенности языка и историю его развития так, что мы получили своего рода «рассказ», связанное повествование, за развитием «сюжета» которого следишь с интересом.

Книга удачно разделена на главы, параграфы и разделы. Материал организован от простого к сложному. Книга предполагает, что читатель знает Java на достаточном уровне, поскольку язык Kotlin во многом опирается на Java. Если вы Android-разработчик, который пишет, или которому предстоит писать на Kotlin, тогда эта книга для вас. Но если вы начинающий девелопер и недостаточно сильны в Java, вы также можете читать эту книгу. Вам просто придется чуть больше поработать над ней. Даже теория (например, теория лямбда-выражений или обобщенных типов) объяснена в книге очень хорошо. И это здорово поможет войти в тему, если вы делаете первые шаги в программировании.

Книга имеет в виду Kotlin 1.0, поэтому, например, в ней отсутствует описание корутин (coroutine).

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

Есть перевод на русский:

Исакова С., Жемеров Д. Kotlin в действии / пер. с англ. Киселев А.Н. — М.: ДМК-Пресс, октябрь 2017 г., 402 стр.
ISBN: 978-5-97060-497-7

На Хабре есть заметка от автора о книге.


обложка перевода



Kotlin for Android Developers: Learn Kotlin the easy way while developing an Android App By Antonio Leiva. CreateSpace Independent Publishing Platform; 1 edition March 21, 2016; 212 pages;
ISBN-13: 978-1530075614
Это была первая книга, которая вышла о языке Kotlin. По сравнению с книгой «Kotlin in action» она проигрывает как введение в язык, но вместе с тем может служить примером использования языка в Android. В книге разрабатываются приложения, исходники которых лежат на GitHub.

Минусы: материал в книге довольно запутан, автор часто ссылается на репозиторий в GitHub, но при этом не всегда можно понять какую ветку он имеет в виду. Впечатление, что написанное в книге, лучше подходит для формата блога или серии статей о разработке приложения на Kotlin.

В книге можно найти пару-тройку интересных приемов программирования на Kotlin под Android.



Android Development with Kotlin By Marcin Moskala & Igor Wojda. Packt Publishing — ebooks Account, September 6, 2017; 440 pages;
ISBN-13: 978-1787123687
Книга по-сути является рассказом о языке Kotlin. Хотя и всегда имеет в виду разработку под Android. Но непосредственно создание небольшого приложения, происходит только в последней главе. Мне представляется, что в плане введения в язык эта книга проигрывает книге «Kotlin in action».

Главный минус, что эта книга никак не является введением в Android-разработку на Kotlin, так что название может путать читателя. Англоязычные читатели жалуются на плохой английский, но я не заметил, конечно.

Саму книгу не дочитал (книги «Kotlin in action» вполне хватает для введения в язык), поэтому не могу судить о ней с полной уверенностью.

В электронной версии книгу очень удобно читать на сайте издательства с помощью специальной читалки Mapt.

У одного из авторов есть занятные статьи: например, о кроссплатформенности на Kotlin.



Mastering Android Development with Kotlin: Deep dive into the world of Android to create robust applications with Kotlin By Milos Vasic. Packt Publishing — ebooks Account, November 8, 2017; 378 pages;
ISBN-13: 978-1788473699
Эту книгу можно считать полноценным введением в разработку под Android. Она начинает с установки Android Studio, проходит по многим аспектам Android, и заканчивает объяснением публикации приложения на Google Play. В этом смысле книга — некий аналог книге «Android Programming: The Big Nerd Ranch Guide», только на Kotlin. Поэтому книга может быть рекомендована начинающим разработчикам, которые решили освоить разработку под Android через Kotlin. Книга предполагает базовое знакомство с Kotlin.

Мне кажется, что книга не слишком глубоко говорит о разработке на Android, но объясняет нужные вещи. Например, работу с Git или использование библиотеки Retrofit. Что касается использования языка Kotlin для обучения разработке под Android, то сам автор предупреждает, что Kotlin лишь дополнительный инструмент для Android, и Java, как и С++ (для Native), еще никто не отменял.

Как я уже говорил, электронные книги данного издательства удобно читать, благодаря встроенной читалке Mapt.



Reactive Programming in Kotlin: Design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring By Rivu Chakraborty. Packt Publishing — ebooks Account, December 5, 2017; 322 pages;
ISBN-13: 978-1788473026
Эта книга появилась недавно, так что я не успел достаточно хорошо с ней познакомиться. Но, что сразу бросается в глаза — она начинается с пространного введения, объясняющего концепцию реактивного программирования, и, затем, плавно переходит на Rx (в данном случае, RxKotlin). Книга имеет в виду вторую версию Rx, что выгодно отличает ее (как и более полное введение) от первой книги («Reactive Programming with RxJava») в этом обзоре. Хотя само объяснение сущностей Rx, операторов, концепции backpressure и т.д. дается в гораздо более лаконичной форме. Этот факт, не позволяет считать данную книгу полноценной заменой первой.

Об RxKotlin в Android идет речь в последней главе. Читатель знакомится с возможностями RxKotlin в Android на примере небольшого приложения, в котором, кроме прочего, используется Retrofit вместе с адаптером от Джейка Вортона.

Книга хорошо оформлена и разбита на главы и разделы, читается быстро. Может быть рекомендована, в дополнение к первой книге об Rx в этом обзоре, особенно для девелоперов изучающих Kotlin. Предполагает знакомство с Kotlin на базовом уровне.

Остальные книги о Kotlin см. на этой странице оф. сайта языка и на сайте издательства Packt Publishing.

habr.com

Как сделать приложение для Android самостоятельно — руководства на Skillbox

Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.

Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).


Справка

Чем ниже версия Android, тем больше устройств, на которых приложение запустится. Чем выше версия, тем богаче функциональность API.


Выбираем основную активность, которая будет запускаться при нажатии на иконку приложения, и даём ей имя.

После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.

Если выбрать в выпадающем меню вид Android, то вы увидите файлы проекта. Например, наша основная активность называется app > java > ru.skillbox.skillboxapp > FullscreenActivity. При создании проекта мы указали вместо активности Main полноэкранную активность.

Далее можно посмотреть файл app > res > layout > activity_fullscreen.xml. Это XML-файл с макетом для UI нашей основной активности.

Наконец, третий важный файл app > manifests > AndroidManifest.xml описывает фундаментальные характеристики приложения и определяет все его компоненты.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ru.skillbox.skillboxapp">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".FullscreenActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name"
            android:theme="@style/FullscreenTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

skillbox.ru

Подборка материалов по разработке под Android

Если вы давно хотели начать разработку под под эту популярную операционную систему, то эта подборка значительно облегчит вам процесс обучения.





Закончились идеи для Android-приложения? Мы поможем!

Список содержит в себе книги, видеоуроки и прочие материалы, обеспечивающие легкий старт в столь интересном деле.
Итак, для того чтобы вообще понять, что же такое разработка под Android и какие возможности она дает, предлагаем Вам прочесть официальную документацию.
Теперь, если вы уверены в том, что хотите продолжать, но не знаете, с чего начинать, советуем подтянуть знания по Java, так как в основном именно на нем и пишут приложения под эту операционную систему.
Книги по Java вы найдете тут и тут, а если вам больше нравится видео уроки, то вам сюда.
Теперь у вас некоторые навыки в Java, и вы готовы к труду и обороне, можно приступать к делу:
Видеокурс по мобильной разработке от технопарка,

следующий курс также поможет вам на старте.

В дальнейшем вам могут пригодиться следующие книги:

После прочтения второго издания этой книги вы будете знакомы с интегрированной средой разработки Android Studio, которая легко и быстро поможет создавать приложения для этой популярной операционной системы. Изучив основы программирования, вы также узнаете о возможностях Lollipop, новых инструментах библиотек, некоторых главных инструментах стандартной библиотеки такой как SoundPool. Благодаря учебным приложениям вам будут продемонстрированы важные приемы и принципы программирования под Android, которые вы сможете использовать на практике.

Эта книга погрузит вас в динамичный мир разработки приложений для устройств Android с использованием Software Development Kit (SDK) и уже упомянутой среды разработки. Ориентированный на приложения подход обеспечит вас подробным описанием каждой технологии на примере полностью протестированных приложений. Благодаря этой книге у вас будет база, необходимая для разработки приложений и быстрой публикации их в Google Play. Издание полностью обновлено и познакомит вас с возможностями 6 версии этой ОС и Android Studio.

proglib.io

Полезные книги о разработке мобильных игр на Android и iOS / Mail.ru Group corporate blog / Habr

Вы решили заняться разработкой мобильных игр. С чего начать? Большинство программистов в геймдеве не ходили в учебные заведения, специализирующие только на играх. Скорее, это был какой-нибудь аналог GeekUniversity с видеоуроками или самостоятельный путь, начавшийся с огромного количества любимых игр, разбора механики, курсов в целом по мобильной разработке, оттачивания найденных алгоритмов в простых игрушках, создаваемых для первого портфолио.

Вне зависимости от выбранного пути, рано или поздно появится необходимость подключить еще один источник знаний, и тут вы можете задуматься о книгах. Учитывайте, что ни одна книга по мобильной разработке не заменит практику. В больших статьях по геймдеву вы слово «книга» можете вообще не встретить. Однако книги имеют определенное преимущество по сравнению со статьями — легко отсортировать их по рейтингу и выбрать лучшие.

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


Android

Hello, Android: Introducing Google’s Mobile Development Platform 4th Edition

C 2010 года живет и обновляется «Hello, Android», начинающая знакомить вас с азами мира этой мобильной платформы. С первой главы книга покажет, как с нулевым багажом знаний создать рабочее приложение: «Hello, World» для Android.

Далее последует пример простейшей мобильной игры Ultimate Tic-Tac-Toe — это симулятор игры в крестики-нолики с несколькими различными режимами. Постепенно добавляя в игру функции, вы научитесь основам разработки под Android: создадите пользовательский интерфейс, сделаете поддержку аудио и видео, добавите графику с использованием 2D и 3D OpenGL, научитесь хранить данные с помощью SQLite, а также узнаете, как публиковать готовое игровое приложение в Google Play.

Learning Java by Building Android Games — Explore Java Through Mobile Game Development

Эта книга также ориентирована на новичков, поэтому вы получите простое и доступное изложение материала о языке Java, его базовых API и ООП. «Learning Java by Building Android Games» ориентирована на то, чтобы научить вас Java по процессу создания игры. Вы будете создавать 4 игры для смартфона и планшета: математическую тестовую игру, игру с памятью в стиле «Саймон» и две игры в ретро-аркадном стиле.

Из книги вы узнаете, как настроить среду разработки Android Studio, создать собственный Android-интерфейс, ввести в игры пиксельную графику, клики, анимацию, звуковые эффекты и многое другое. Да, и еще с нуля выучите Java в степени, достаточной для создания собственных игр.

Beginning Android Games

Книга знакомит с принципами создания базового игрового движка и игр, которые будут работать на разных версиях смартфонов и планшетов. «Beginning Android Games» подойдет не только новичкам, но и опытным программистам — благо, что информации на 714 страницах вместилось много. Обратите внимание, что в примерах кода из книги могут встречаться ошибки — если учиться методом «копировать/вставить», не задумываясь над смыслом происходящего, ничего путного не выйдет.

Android NDK Game Development Cookbook

Относительно короткая (320 страниц) книга о пакете разработки Android NDK (native development kit). Android NDK — это набор инструментов, которые позволяют реализовать на языках С и С++ часть вашего приложения, требующего прямого доступа к ресурсам системы. Android NDK также используется для создания игр.

В книге изложены пошаговые рецепты, помогающие начать разработку мобильных игр, используя Android NDK, а также некоторые популярные библиотеки C++. Фактически, у вас получится создать полноценное мобильное игровое приложение на языке C++.

Вы узнаете, как писать переносимый многопоточный код на C++, использовать свои навыки языка в мобильной разработке, воспроизводить аудиофайлы, использовать OpenGL ES для рендеринга и распознавать жесты. Для книги нужно обязательно иметь хотя бы базовые знания по С/С++.

Книгу написали авторы из России — Сергей Косаревский, занимавшийся мобильной разработкой в SPB Software, Яндексе, Layar и Blippar, и Виктор Латыпов, обладающий опытом разработки компиляторов, драйверов, а также программирования для робототехники.

The Beginner’s Guide to Android Game Development

Вы знаете Java? Ответ на этот вопрос не так и важен. При чтении и изучении материалов этой книги не имеет значения, новичок вы или опытный Java-программист. «The Beginner’s Guide» предлагает достаточно информации, чтобы вы начали делать собственную игру с нуля.

В этом руководстве вы найдете теорию и практику отдельных фундаментальных концепций, изложенных поэтапно — по главе на базовые принципы Java и ООП. Книга предоставляет доступ к обширной библиотеке примеров Java-игр и Android-игр через свой веб-сайт, чтобы вы могли продолжить обучение самостоятельно. Все примеры кода из книги доступны под лицензией MIT на сайте автора.

Android Game Programming by Example

Эта книга в основном ориентирована на Java-программистов и любых других, уже имеющих опыт разработки под Android, которые хотели бы адаптировать свои навыки для создания мобильных игр.

Книга учит созданию простых игровых движков для различных типов игр, внедрению продвинутого AI персонажей, прорисовке игровых объектов, HUD, генерации и воспроизведению звука, бесшовной смене уровней и т.д. Для быстрой и плавной синхронизации кадров используется OpenGL ES 2. К концу книги вы по урокам сделаете три полноценные игры.

Android Design Patterns: Interaction Design Solutions for Developers

Если вы опытный разработчик мобильных игр, но хотите улучшить свои навыки, эта книга даст вам различные шаблоны программирования. Автор предлагает более 60 основных паттернов проектирования и обработки сложных аспектов, таких как главное меню, поиск, формы, сортировки, фильтры, навигации и так далее.

Книга также содержит 12 антипаттернов, включающих распространенные ошибки, которые программисты часто допускают в играх. Шаблоны охватывают наиболее сложные типы пользовательских взаимодействий, и каждый из них наглядно иллюстрируется в пошаговой инструкции.

Professional Android 4 Application Development 3rd Edition

Книга вышла 5 лет назад, но нельзя сказать, что она радикально устарела. Это издание и сейчас остается отличным дополнением к любым источникам знаний по основам программирования на Android. Некоторые идеи могли быть реализованы лучше с использованием современных технологий, но это небольшой минус.

Вы получите 850-страничное руководство, написанное Рето Майером, одним из ведущих разработчиков Google, которое наглядно демонстрирует возможности Android SDK. Если вы опытный разработчик, то сможете быстро создавать свои игры. Новички сначала освоят интерфейс Android-приложения, а затем пошагово изучат все возможности оси. Большой плюс книги в том, что можно выбрать тот раздел, который интересует больше всего, и читать сразу выбранный фрагмент.

Книга переведена на русский язык.

Mobile Game Development with Unity: Build Once, Deploy Anywhere 1st Edition

Практическое руководство, рассказывающее, как создать интерактивные приложения для iOS и Android-устройств на движке Unity. Авторы делают обзор возможностей Unity с ориентацией на примерах использования их в реальных игровых ситуациях. Собственную игру вы будете создавать на примере трехмерного симулятора боевого космического корабля.


iOS

Game Development with Swift

Книга начинается со знакомства с лучшими функциями Swift для разработки игр. Затем вы узнаете, как оживить спрайты и текстуры, интегрироваться с Apple Game Center, публиковать готовые игры в App Store и многое другое. Под конец вы сможете создавать свои собственные игры для iOS с помощью Swift и SpriteKit. Вы должны быть знакомы с базовыми концепциями программирования, однако не требуется знаний Swift или знакомства с экосистемой Apple — начинать можно с нуля.

Кроме этой книги можно начать изучение языка с руководства «Swift Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)» или «Swift Essentials — Second Edition». Оба издания дружелюбны к новичкам, и они научат вас основам Swift, вне зависимости от того, как вы будете использовать язык.

Но если вы хотите углубить свои знания в разработке под iOS и вам требуется полное справочное руководство, обратите внимание на книгу «iOS 11 Swift Programming Cookbook: Solutions and Examples for iOS Apps».

Swift 3 Game Development — Second Edition

В 2017 году книга «Swift 3 Game Development» получила обновление и начинается теперь с новых функций SpriteKit и Swift, которые можно использовать для разработки игр. После настройки первого проекта Swift вы научитесь рисовать, анимировать свою игру и добавлять физические симуляции.

Чтобы сделать вашу игру более увлекательной и интересной, вы должны уметь настраивать сцены и фон, добавлять персонажей, создавать меню и интегрироваться с Apple Game Center для использования рейтингов и достижений.

Весь код в книге объяснен или написан таким образом, что вы его хорошо понимаете и осознаете, как использовать схожие концепции в личных проектах.

iOS Swift Game Development Cookbook: Simple Solutions for Game Development Problems

Еще одно издание, получившее свежий апдейт. Книга содержит подробные рецепты для управления широким спектром общих проблем разработки игр iOS: от 2D и 3D-математики до SpriteKit и OpenGL — все они пересмотрены для Swift. Вы получаете простые, прямые примеры решений общих проблем, возникающих при программировании игр. Книга касается тем создания и настройки меню с помощью UIKit Detect, методов воспроизведения звуковых эффектов и музыки, различных способов хранения данных, математических сложностей физического моделирования, игрового ИИ, взаимодействия с игровыми контроллерами и внешними дисплеями.

Для этой книги вам потребуются начальные знания в областях iOS-программирования, Swift и Objective-C.

Beginning iOS Game Development

С книги Патрика Алесси многие начинали (и начинают) разработку под iOS. В «Beginning iOS Game Development» для новичков дается архитектура системы iOS, дизайн, анимация, звуки и многие другие элементы, представляющие собой универсальный конструктор, из которого вы соберете собственную игру.

Не требует никакого опыта создания игр для платформы iOS. Книга покажет, как работать со средой Xcode, рисовать с помощью Quartz 2D API, обрабатывать анимацию с Core Animation и звук с помощью Core Audio.

Swift Game Programming for Absolute Beginners

Название говорит само за себя. До начала этой книги Swift можно вообще в глаза не видеть. У вас будет множество уроков по созданию четырех разных игр, от аркады до паззла (Painter, Tut’s Tomb, Penguin Pairs, Tick Tick). В «Swift Game Programming for Absolute Beginners» следуют больше за структурой игры, чем за синтаксисом языка — вы сможете изучить Swift, но в контексте именно игр. Собственно, даже с играми особое знакомство не требуется — книга учит вас, как создавать игры для iOS без какого-либо предшествующего опыта с геймплеем.

Learning Unreal Engine iOS Game Development

Игры на движке Unreal Engine выполнены в самых различных жанрах и, конечно, их адаптировали под мобильную платформу. «Learning Unreal Engine iOS Game Development» учит основам разработки оптимизированных игр под iOS с использованием движка Unreal Engine 4. Книга не фокусируется на создании контента, и показывает возможности движка для 2D-игр, чтобы продемонстрировать концепцию скриптов, которую впоследствии можно применить к созданию собственных 2D или 3D-игр. Это не всеобъемлющий справочник, но если вы хотите с чего-то начать, возьмите на заметку несколько аспектов движка UE 4, которые вы точно будете использовать в дальнейшей работе.

Beginning Swift Games Development for iOS

Книга сфокусирована на работе с игровым 2D движком SpriteKit, оптимизированным для создания игр под устройства от компании Apple. Собственно, самой Apple движок и был представлен еще в iOS 7. Вторая половина книги касается темы разработки 3D-игр с использованием фреймворка SceneKit от Apple и языка Swift.

После изучения книги вы должны получить два готовых игровых приложения… Вот только для начала не лишним окажется знание Objective-C.

Заключение

Конечно, здесь собраны далеко не все хорошие книги по мобильной разработке. У каждого человека с опытом в геймдеве найдется свой особенный «топ книг», который лично он считает наиболее оптимальным. Если у вас есть примеры хороших изданий и вы считаете их подходящими для начинающих — поделитесь ссылками в комментариях. Приветствуются и примеры хороших адаптаций на русский язык — так получилось, что в сегодняшней подборке исчезающе мало примеров с переводами.

habr.com

Учимся программировать под Андроид / Habr

Привет Хабр! Предлагаю вашему вниманию свободный перевод статьи «How To Learn Android Development» от Amit Shekhar.

image

Как изучить разработку приложений под Андроид?

Я видел много вопросов о том, как начать изучать программирование под Андроид и стать успешным разработчиком. Здесь я попытался охватить большинство важных аспектов в 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.
    Ссылка автора

Хорошего кода 🙂

habr.com

Разное

Отправить ответ

avatar
  Подписаться  
Уведомление о