Android studio учебник на русском


Книга «Android. Программирование для профессионалов»

Привет, Хаброжители! У нас вышла новая книга:

Авторы: Б. Харди, Б. Филлипс, К. Стюарт, К. Марсикано

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

Начинающему программисту Android предстоит основательно потрудиться. Изучение Android — все равно что жизнь в другой стране: даже если вы говорите на местном языке, на первых порах вы все равно не чувствуете себя дома. Такое впечатление, что все окружающие понимают что-то такое, чего вы еще не усвоили. И даже то, что уже известно, в новом контексте оказывается поп-росту неправильным.

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

Здесь на помощь приходим мы. Мы, сотрудники Big Nerd Ranch, считаем, что каждый программист Android должен:

— писать приложения для Android; - понимать, что он пишет.

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

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

Предварительные условия
Чтобы использовать эту книгу, читатель должен быть знаком с языком Java, включая такие концепции, как классы и объекты, интер-фейсы, слушатели, пакеты, внутренние классы, анонимные внутренние классы и обобщенные классы.

Без знания этих концепций вы почувствуете себя в джунглях, начиная со второй страницы. Лучше начните с вводного учебника по Java и вернитесь к этой книге после его прочтения. Сейчас имеется много превосходных книг для начинающих; подберите нужный вариант в зависимости от своего опыта программирования и стиля обучения.

Если вы хорошо разбираетесь в концепциях объектно-ориентированного программирования, но успели малость подзабыть Java, скорее всего, все будет нормально. Мы приводим краткие напоминания о некоторых специфических возможностях Java (таких, как интерфейсы и анонимные внутренние классы). Держите учебник по Java наготове на случай, если вам понадобится дополнительная информация во время чтения.

Что нового во втором издании?
Второе издание показывает, как использовать интегрированную среду разработки Android Studio для написания приложений для Android 5.1 (Lollipop), обладающих обратной совместимостью с Android 4.1 (Jelly Bean). Также в нем более подробно изложены основы программирования для Android, рассмотрены новые возможности Lollipop (такие, как панель инструментов и материальный дизайн), новые инструменты вспомогательных библиотек (в числе которых RecyclerView и Google Play Services), а также некоторые ключевые инструменты стандартной библиотеки, включая SoundPool, анимацию и ресурсы.

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

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

Желательно, чтобы ваша учебная среда была похожа на нашу. В частности, вам стоит хорошенько выспаться и найти спокойное место для работы. Следующие факторы тоже пригодятся:

— Создайте учебную группу с друзьями или коллегами. — Выделяйте время, когда вы будете заниматься исключительно чтением книги. — Примите участие в работе форума книги на сайте forums.bignerdranch.com. — Найдите специалиста по Android, который поможет вам в трудный момент.

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

GeoQuiz — в первом приложении мы исследуем основные принципы создания проектов Android, активности, макеты и явные интенты. CriminalIntent — самое большое приложение в книге предназначено для хранения информации о проступках ваших коллег по офису. Вы научитесь использовать фрагменты, интерфейсы «главное-детализированное представление», списковые интерфейсы, меню, каме-ру, неявные интенты и многое другое.BeatBox — наведите ужас на своих врагов, пока вы узнаете больше о фрагментах, воспроизведении мультимедийного контента, темах и графических объектах.NerdLauncher — нестандартный лаунчер раскроет тонкости работы системы интентов и задач.PhotoGallery — клиент Flickr для загрузки и отображения фотографий из общедоступной базы Flickr. Приложение демонстрирует работу со службами, многопоточное программирование, обращения к веб-службам и т. д.DragAndDraw — в этом простом графическом приложении рассматривается обработка событий касания и создание нестандартных представлений.Sunset — в этом «игрушечном» приложении вы создадите красивое представление заката над водой, а заодно освоите тонкости анимации.Locatr — приложение позволяет обращаться к сервису Flickr за изображениями окрестностей вашего текущего местонахождения и отображать их на карте. Вы научитесь пользоваться сервисом геопозиционирования и картами.

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

Если же вы окажетесь в тупике, вы всегда сможете обратиться за помощью на форум forums.bignerdranch.com

А вы любознательны?
В конце многих глав также имеется раздел «Для любознательных». В нем приводятся углубленные объяснения или дополнительная информация по темам, представленным в главе. Содержимое этих разделов не является абсолютно необходимым, но мы надеемся, что оно покажется вам интересным и полезным.

Стиль программирования
Существуют два ключевых момента, в которых наши решения отличаются от повсеместно встречающихся в сообществе Android.

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

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

Версии Android
В этой книге программирование для Android рассматривается для всех распространенных версий Android. На момент написания книги это версии Android 4.1 (Jelly Bean) — Android 5.1 (Lollipop). И хотя старые версии Android продолжают занимать некоторую долю рын-ка, на наш взгляд, для большинства разработчиков хлопоты по поддержке этих версий не оправдываются. За дополнительной инфор-мацией о поддержке версий Android, предшествующих 4.1 (особенно Android 2.2 и Android 2.3), обращайтесь к первому изданию книги.

Даже после выхода новых версий Android приемы, изложенные в книге, будут работать благодаря политике обратной совместимости Android (за подробностями обращайтесь к главе 6). На сайте forums.bignerdranch.com будет публиковаться информация об измене-ниях, а также комментарии по поводу использования материала книги с последними версиями.

Более подробно с книгой можно ознакомиться на сайте издательстваОглавлениеОтрывок

Для Хаброжителей скидка 25% по купону — Android Programming

habrahabr.ru

Пишем Hello World на Android. Работаем в Android Studio

В этой статье мы напишем первое свое приложение на Android. Писать классический Hello world или правильнее будет написать Hello Android мы будем в современной среде разработки Android Studio.

Первые шаги: установка и настройка

Для начала нам нужно установить Android Studio и настроить среду разработки. Обратите внимание, у вас на компьютере должна уже быть предустановлена JDK 6 или поздняя версия (как скачать и установить JDK). Приступайте к установке Android только после того, как вы пройдете все шаги установки JDK, описанные по ссылке.

Если у вас стоит Windows, то для установки требует всего-лишь запустить скачанный файл .exe файл и следовать простым инструкциям мастера установки. Если вы работаете на компьютере с Mac OS X, то вам нужно смонтировать образ диска. Для этого сделайте двойной щелчок и перетащите Android Studio в папку Applications.

Запуск Android Studio и создание проекта

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

На экране приветствия видны варианты импорта проекта из системы контроля версий, Eclipse ADT, проекта Gradle или из готовых примеров кода, которые предоставляются вместе с Android. В случае выбора любого из вариантов импорта, Android Studio сама добавит необходимые файлы и настроит конфигурацию проекта для вас. Из этого списка выберите пункт Start a new Android Studio project.

Далее нас просят ввести Название приложения (Application name) и Домен (Company Domain), который потом будет реверсирован в имя пакета. Вводим названия и нажимаем кнопку Next.

Далее нам нужно выбрать минимальную версию Android, для которого будет доступно наше приложение. Если вы не можете точно определить нужную вам версию, то Android Studio может подсказать вам с помощью такого вот графика:

Из всех доступных вариантов я бы предпочел пока выбирать Android 4.0 (API 15):

Жмем Next и попадаем на следующий экран, где нам будет представлен список возможных вариантов Hello world проектов с некоторыми уже настроенными компонентами. Нам нужен пункт Empty Activity:

Нажимаем Next и в следующем экране Finish ничего при этом не меняя.

После нажатия на кнопку Finish, у вас должно появиться маленькое окно с информацией о ходе генерации проекта:

Это может занять довольно много времени, но не больше 1-2 минуты. После этого появится готовый проект Hello world, который можно запускать:

Создание эмулятора Android устройства

Нам нужно создать эмулятор какого-то устройства, чтобы протестировать только что сгенерированный проект. Для этого идем в AVD Manager и создаем новый девайс:

Как только новый эмулятор будет создан, нажимайте треугольник Run в столбце Actions:

После запуска эмулятора, в Android Studio нужно нажать на кнопку Run:

и выбрать з выпадающего списка только что запущенный эмулятор:

И смотрим в Android эмулятор:

Все, вы написали Hello world на Android и запустили его на эмуляторе. Точно также можно было бы запустить проект и на реальном устройстве, однако об этом мы поговорим в следующих уроках. Следите за обновлениями рубрики Программирование под Android.

Больше полезных статей!

javadevblog.com

Урок JA-1. Установка Android Studio. | Java для начинающих

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

Мы разделим этот этап на три шага:

Шаг 1. Установка Java.

Подробно данный шаг описан в уроке #1 основного курса Java:

http://study-java.ru/uroki-java/urok-1-ustanovka-java

Шаг 2. Установка Android Studio.

Последнюю рабочую версию Android Studio скачиваем по ссылке:

https://developer.android.com/sdk/installing/studio.html

Рис.1.1

Сайт сам подбирает подходящий дистрибутив для версии вашей операционной системы. Все,что требуется, — это нажать «Download Android Studio» (рис 1.1) и согласиться с условиями установки Android SDK.

Установка сопровождается подсказками «Мастера установки»(рис. 1.2), и если у вас не возникает проблем на данном этапе, то вы можете перейти сразу к шагу 3.

Рис.1.2

«Мастер» предложит вам возможные пути установки (рис. 1.3).

Рис.1.3

Для того, чтобы было понятно отличие предлагаемых вариантов:——————————————————————————————————————-Install for anyone using this computer: «Диск:\Program Files\Android\android-studio»Install just for me: «Диск:\Users\Имя_пользователя\AppData\Local\Android\android-studio»–——————————————————————————————————————

Удостоверимся в том, что нам хватает места на жестком диске, а место, куда мы хотимпроизвести установку, указано верно (рис. 1.4).

Рис.1.4

Нажимаем «Next». Начнется установка (рис. 1.5)

Рис.1.5

«Мастер» уведомит вас о завершении установки(рис. 1.6).

Android Studio готов к запуску.

Рис.1.6

Шаг 3. Установка эмулятора.

Тестировать будущие Android-приложения можно двумя способами:

  • при помощи Android-устройства;
  • при помощи эмулятора.

Подробно мы рассмотрим оба эти способа в следующем уроке, а сейчас установим эмулятор Genymotion(рис. 1.7).

Рис.1.7

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

Скачиваем эмулятор по ссылке (требуется регистрация):

https://cloud.genymotion.com/page/launchpad/download/Для этого необходимо выбрать подходящий дистрибутив под вашу операционную систему.Например, в случае с Windows рекомендуется выбирать «Windows 32/64 bits (withVirtualBox)» (рис. 1.8):

Рис.1.8

Запускаем установщик и следуем подсказкам «Мастера установки». По-умолчаниюдиректорией установки является: «C:\Program Files\Genymobile\Genymotion». Вне зависимости от выставленного пути, его необходимо запомнить (рис. 1.9).

Рис.1.9

Запускаем Android Studio (рис 1.10):

Рис.1.10

Выберем «File->Settings» (рис. 1.11):

Рис.1.11

В настройках IDE («IDE Settings») выбираем раздел Plugins, в котором нажмем кнопку«Browse repositories…» (рис. 1.12).

Рис.1.12

В поисковой строке напишем «Genymotion», а в отобразившемся справа окне нажмем кнопку«Install plugin» (рис.1.13).

Рис.1.13

После этого среда разработки предупредит о необходимости перезапуска. Нажимаем «Close»после чего Android Studio перезапустится.

На этом установка Android Studio завершена!

Примечание: Отметим, что процесс «studio.exe» съедает в среднем 400Mb памяти, что можетпривести к не комфортным условиям работы на устройствах с менее чем 3Gb RAM (рис.1.14).

Рис.1.14

Комментарии и пинги к записи запрещены.

study-java.ru

Полный список

Урок 1. Введение. 26 июля 2011 Урок 2. Установка Android Studio 28 июля 2011 Урок 3. Создание AVD. Первое приложение. Структура Android-проекта. 01 августа 2011 Урок 4. Компоненты экрана и их свойства 04 августа 2011 Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана. 08 августа 2011 Урок 6. Виды Layouts. Ключевые отличия и свойства. 11 августа 2011 Урок 7. Layout параметры для View-элементов. 15 августа 2011 Урок 8. Работаем с элементами экрана из кода 18 августа 2011 Урок 9. Обработчики событий на примере Button. 22 августа 2011 Урок 10. Оптимизируем реализацию обработчиков. 25 августа 2011 Урок 11. Папка res/values. Используем ресурсы приложения. 29 августа 2011 Урок 12. Логи и всплывающие сообщения 01 сентября 2011 Урок 13. Создание простого меню 05 сентября 2011 Урок 14. Меню, группы, порядок. MenuInflater и xml-меню. 08 сентября 2011 Урок 15. Контекстное меню 12 сентября 2011 Урок 16. Программное создание экрана. LayoutParams 15 сентября 2011 Урок 17. Создание View-компонент в рабочем приложении 19 сентября 2011 Урок 18. Меняем layoutParams в рабочем приложении 22 сентября 2011 Урок 19. Пишем простой калькулятор 26 сентября 2011 Урок 20. Анимация 29 сентября 2011 Урок 21. Создание и вызов Activity 03 октября 2011 Урок 22. Intent, Intent Filter, Context - теория 06 октября 2011 Урок 23. Activity Lifecycle. В каких состояниях может быть Activity 10 октября 2011 Урок 24. Activity Lifecycle, пример смены состояний с двумя Activity 13 октября 2011 Урок 25. Task. Что это такое и как формируется 17 октября 2011 Урок 26. Intent Filter - практика 20 октября 2011 Урок 27. Читаем action из Intent 24 октября 2011 Урок 28. Extras - передаем данные с помощью Intent 27 октября 2011 Урок 29. Вызываем Activity и получаем результат. Метод startActivityForResult 31 октября 2011 Урок 30. Подробнее про onActivityResult. Зачем нужны requestCode и resultCode 03 ноября 2011 Урок 31. Зачем у Intent есть атрибут data. Что такое Uri. Вызываем системные приложения 07 ноября 2011 Урок 32. Пишем простой браузер 10 ноября 2011 Урок 33. Хранение данных. Preferences. 14 ноября 2011 Урок 34. Хранение данных. SQLite 17 ноября 2011 Урок 35. SQLite. Методы update и delete с указанием условия 21 ноября 2011 Урок 36. SQLite. Подробнее про метод query. Условие, сортировка, группировка 24 ноября 2011 Урок 37. Запросы из связанных таблиц. INNER JOIN в SQLite. Метод rawQuery. 28 ноября 2011 Урок 38. Транзакции в SQLite. Небольшой FAQ по SQLite. 01 декабря 2011 Урок 39. onUpgrade. Обновляем БД в SQLite 05 декабря 2011 Урок 40. LayoutInflater. Учимся использовать. 08 декабря 2011 Урок 41. Используем LayoutInflater для создания списка 12 декабря 2011 Урок 42. Список - ListView 15 декабря 2011 Урок 43. Одиночный и множественный выбор в ListView 19 декабря 2011 Урок 44. События в ListView 22 декабря 2011 Урок 45. Список-дерево ExpandableListView 26 декабря 2011 Урок 46. События ExpandableListView 29 декабря 2011 Урок 47. Обзор адаптеров 12 января 2012 Урок 48. Используем SimpleAdapter. 16 января 2012 Урок 49. SimpleAdapter. Методы SetViewText и SetViewImage 19 января 2012 Урок 50. SimpleAdapter. Используем ViewBinder 23 января 2012 Урок 51. SimpleAdapter, добавление и удаление записей 26 января 2012 Урок 52. SimpleCursorAdapter, пример использования 30 января 2012 Урок 53. SimpleCursorTreeAdapter, пример использования 02 февраля 2012 Урок 54. Кастомизация списка. Создаем свой адаптер 06 февраля 2012 Урок 55. Header и Footer в списках. HeaderViewListAdapter 09 февраля 2012 Урок 56. Spinner – выпадающий список 13 февраля 2012 Урок 57. GridView и его атрибуты 16 февраля 2012 Урок 58. Диалоги. TimePickerDialog 20 февраля 2012 Урок 59. Диалоги. DatePickerDialog 23 февраля 2012 Урок 60. Диалоги. AlertDialog: Title, Message, Icon, Buttons 27 февраля 2012 Урок 61. Диалоги. AlertDialog.Метод onPrepareDialog 01 марта 2012 Урок 62. Диалоги. AlertDialog. Список 05 марта 2012 Урок 63. Диалоги. AlertDialog. Список с одиночным выбором 08 марта 2012 Урок 64. Диалоги. AlertDialog. Список с множественным выбором 26 марта 2012 Урок 65. Диалоги. AlertDialog. Кастомизация 29 марта 2012 Урок 66. Диалоги. Обработчики и операции 02 апреля 2012 Урок 67. Диалоги. ProgressDialog 05 апреля 2012 Урок 68. Немного о Parcel 09 апреля 2012 Урок 69. Передаем Parcelable объекты с помощью Intent 12 апреля 2012 Урок 70. onSaveInstanceState. Сохранение данных Activity при повороте экрана 16 апреля 2012 Урок 71. Preferences как настройки приложения. PreferenceActivity 19 апреля 2012 Урок 72. Preferences. Список, экраны и категории 23 апреля 2012 Урок 73. Preferences. Управляем активностью настроек (setEnabled) 26 апреля 2012 Урок 74. Preferences. Программное создание экрана настроек 30 апреля 2012 Урок 75. Хранение данных. Работа с файлами. 03 мая 2012 Урок 76. Tab - вкладки. Общий обзор 07 мая 2012 Урок 77. Tab - вкладки. TabActivity. Activity, как содержимое вкладки 10 мая 2012 Урок 78. Tab - вкладки. TabContentFactory, ручное создание содержимого вкладки 14 мая 2012 Урок 79. XmlPullParser. Парсим XML 17 мая 2012 Урок 80. Handler. Немного теории. Наглядный пример использования 21 мая 2012 Урок 81. Handler. Посылаем простое сообщение 24 мая 2012 Урок 82. Handler. Пример с более содержательными сообщениями 28 мая 2012 Урок 83. Handler. Отложенные сообщения, удаление из очереди, Handler.Callback 31 мая 2012 Урок 84. Handler. Обработка Runnable 04 июня 2012 Урок 85. Еще несколько способов выполнения кода в UI-потоке 07 июня 2012 Урок 86. AsyncTask. Знакомство, несложный пример 11 июня 2012 Урок 87. AsyncTask. Параметры. Промежуточные результаты 14 июня 2012 Урок 88. AsyncTask. Итоговый результат. Метод get 18 июня 2012 Урок 89. AsyncTask. Cancel – отменяем задачу в процессе выполнения 21 июня 2012 Урок 90. AsyncTask. Status – статусы задачи 25 июня 2012 Урок 91. AsyncTask. Поворот экрана 28 июня 2012 Урок 92. Service. Простой пример 02 июля 2012 Урок 93. Service. Передача данных в сервис. Методы остановки сервиса 05 июля 2012 Урок 94. Service. Подробно про onStartCommand 09 июля 2012 Урок 95. Service. Обратная связь с помощью PendingIntent 12 июля 2012 Урок 96. Service. Обратная связь с помощью BroadcastReceiver 16 июля 2012 Урок 97. Service. Биндинг. ServiceConnection 19 июля 2012 Урок 98. Service. Локальный биндинг 23 июля 2012 Урок 99. Service. Уведомления - notifications 26 июля 2012 Урок 100. Service. IntentService. Foreground. Автозагрузка сервиса 30 июля 2012 Урок 101. Создаем свой ContentProvider 07 августа 2012 Урок 102. Touch – обработка касания 13 августа 2012 Урок 103. MultiTouch – обработка множественных касаний 17 августа 2012 Урок 104. Android 3. Fragments. Lifecycle 27 августа 2012 Урок 105. Android 3. Fragments. Динамическая работа 03 сентября 2012 Урок 106. Android 3. Fragments. Взаимодействие с Activity 10 сентября 2012 Урок 107. Android 3. ActionBar. Размещение элементов 19 сентября 2012 Урок 108. Android 3. ActionBar. Навигация - табы и выпадающий список 27 сентября 2012 Урок 109. Android 3. Fragments. ListFragment - список 08 октября 2012 Урок 110. Android 3. Fragments. DialogFragment - диалог 18 октября 2012 Урок 111. Android 3. Fragments. PreferenceFragment - настройки. Headers 29 октября 2012 Урок 112. Android 3. ActionBar. Динамическое размещение элементов 07 ноября 2012 Урок 113. Android 3. ActionMode, как альтернатива контекстному меню 19 ноября 2012 Урок 114. Android 3. Библиотека Support Library. Зачем нужна и как ее использовать на примере фрагментов 26 ноября 2012 Урок 115. Одно приложение на разных экранах 07 декабря 2012 Урок 116. Поведение Activity в Task. Intent-флаги, launchMode, affinity 17 декабря 2012 Урок 117. Виджеты. Создание. Lifecycle 14 января 2013 Урок 118. Виджеты. Конфигурационный экран. Обновление 23 января 2013 Урок 119. PendingIntent – флаги, requestCode. AlarmManager 04 февраля 2013 Урок 120. Виджеты. Обработка нажатий 13 февраля 2013 Урок 121. Виджеты. Список 25 февраля 2013 Урок 122. Виджеты. Превью, изменение размера, экран блокировки, ручное обновление 06 марта 2013 Урок 123. Как подписать приложение. Утилиты keytool и jarsigner 18 марта 2013 Урок 124. Что такое Package для приложения 28 марта 2013 Урок 125. ViewPager 08 апреля 2013 Урок 126. Медиа. MediaPlayer – аудио/видео плеер, основные возможности 29 апреля 2013 Урок 127. Медиа. SoundPool 27 мая 2013 Урок 128. Медиа. Audio Focus 10 июня 2013 Урок 129. Медиа. Запись звука с помощью MediaRecorder 24 июня 2013 Урок 130. Медиа. Запись звука с помощью AudioRecorder 22 июля 2013 Урок 131. Камера. Используем системное приложение 19 августа 2013 Урок 132. Камера. Вывод изображения на экран. Размер preview. Обработка поворота устройства 30 сентября 2013 Урок 133. Камера. Делаем снимок и пишем видео 14 октября 2013 Урок 134. Камера. Настройки 29 октября 2013 Урок 135. Loader. LoaderManager. AsyncTaskLoader 11 ноября 2013 Урок 136. CursorLoader 18 ноября 2013 Урок 137. Сенсоры. Ускорение, ориентация. 09 декабря 2013 Урок 138. Определение местоположения. GPS координаты. 16 декабря 2013 Урок 139. Google maps. Создание и настройка проекта. Карта, камера, события 13 января 2014 Урок 140. Google maps. Свои объекты на карте 27 января 2014 Урок 141. Рисование. Доступ к Canvas 03 февраля 2014 Урок 142. Рисование. Простые фигуры, текст 10 февраля 2014 Урок 143. Рисование. Path 17 февраля 2014 Урок 144. Рисование. Matrix-преобразования 24 февраля 2014 Урок 145. Рисование. Matrix. setRectToRect и setPolyToPoly 03 марта 2014 Урок 146. Рисование. Canvas-преобразования. Методы save и restore. 10 марта 2014 Урок 147. Рисование. Region 17 марта 2014 Урок 148. Рисование. Canvas, clip 24 марта 2014 Урок 149. Рисование. Текст 07 апреля 2014 Урок 150. Рисование. PathMeasure – информация о Path-объекте 28 апреля 2014 Урок 151. Рисование. PathEffect 14 июля 2014 Урок 152. Рисование. Picture 21 июля 2014 Урок 153. Рисование. ColorFilter, ColorMatrix 28 июля 2014 Урок 154. Рисование. PorterDuff.Mode, PorterDuffXfermode 18 августа 2014 Урок 155. Рисование. PorterDuffColorFilter 25 августа 2014 Урок 156. Рисование. AvoidXfermode 01 сентября 2014 Урок 157. Рисование. Bitmap. BitmapFactory. Чтение, вывод на канву, основная информация 06 октября 2014 Урок 158. Рисование. Bitmap. Методы createBitmap, работа с пикселами, density, mutable 13 октября 2014 Урок 159. Рисование. Bitmap. BitmapFactory.Options, сохранение в файл 20 октября 2014 Урок 160. Рисование. Bitmap. Чтение изображений большого размера 27 октября 2014 Урок 161. Рисование. Bitmap. Memory-кэш. Picasso 05 ноября 2014 Урок 162. Графика. Drawable. Shape, Gradient. 18 ноября 2014 Урок 163. Графика. Drawable. Bitmap, Layer List, State List. 01 декабря 2014 Урок 164. Графика. Drawable. Level List, Transition, Inset, Clip, Scale 10 августа 2015 Урок 165. Графика. BitmapShader, LinearGradient, RadialGradient, SweepGradient 24 августа 2015 Урок 166. Графика. Создание своего Drawable 07 сентября 2015 Урок 167. Рисование. Метод Canvas saveLayer. 21 сентября 2015 Урок 168. OpenGL. Введение. 08 октября 2015 Урок 169. OpenGL. Шейдеры 27 октября 2015 Урок 170. OpenGL. Графические примитивы 10 ноября 2015 Урок 171. OpenGL. Цвет. 23 ноября 2015 Урок 172. OpenGL. Perspective. Frustum. Ortho. 08 декабря 2015 Урок 173. OpenGL. Камера 27 января 2016 Урок 174. OpenGL. Модель 16 февраля 2016 Урок 175. OpenGL. Текстуры. 01 марта 2016 Урок 176. OpenGL. Индексы, текстуры для куба. 11 апреля 2016 Урок 180. ConstraintLayout. Основы 07 июля 2017 Урок 181. ConstraintLayout: match_constraints, инструменты в toolbar, guidelines, aspect ratio 09 июля 2017 Урок 182. ConstraintLayout: chain, weight, barrier, group, circular 12 июля 2017 Урок 183. ConstraintSet. Программная настройка ConstraintLayout 17 июля 2017

startandroid.ru

Урок 1. Введение.

Добрый день!

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

Я начал свое знакомство с разработкой под Android с примеров на официальном сайте. Половину того, чего делал - не понимал. Но какие-то знания оттуда вынес и немного почитал теории на том же ресурсе. На этом мое знакомство с Android завершилось ) Я не знал куда двигаться дальше. Про книги я почему-то не подумал, а зря …

Позже я наткнулся на статью «Five of the best Android development books». Интерес снова появился, стало понятно куда двигаться, я начал читать эти книги. Понял не все, но уже гораздо больше чем с первых примеров. Но если читать такие книги полностью с нуля, то многое будет не очевидно и непонятно.

Поэтому я хочу попытаться создать уроки по Android для начинающих, чтобы у читателя за спиной не оставалось непонятных ему тем. Я постараюсь максимально подробно все объяснять и делать различные примеры для большей наглядности. С каждым новым уроком буду вводить и использовать новые понятия и объекты, и использовать объекты из прошлых уроков для закрепления.

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

В отличие от некоторых авторов я не собираюсь научить вас программированию за "24 часа" или за "30 уроков". Мы все понимаем, что это невозможно )  Я не знаю, сколько у меня получится уроков. Думаю, что хватит около сотни, чтобы дать весь базис достаточно подробно. А потом еще сотня уйдет на различные продвинутые фишки. В общем тем, кто начинает изучать, скорее всего не придется много бегать по другим сайтам (кроме официального хелпа) за дополнительными знаниями. Здесь вы найдете много полезной, последовательной и изложенной простым языком информации.

Надо понимать, что мои уроки это не всегда руководство "как именно надо делать". Я могу чем-то пренебречь и что-то упустить, чтобы показать тему урока и не давать лишний материал. Поэтому прошу не считать все изложенное в уроках единственно правильным способом реализации. 

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

На данный момент уроки охватывают темы:

- создание экрана (в редакторе и программно) - обработчики нажатия- логи и всплывающие сообщения- обычное меню, контекстное меню- анимация View-компонентов- создание и вызов Activity (+ возврат результата)- Activity Lifecycle (состояния Activity)- Intent, Intent Filter- хранение данных (Preferences, SQLite)- список и адаптеры- диалоги- Parcel, Parcelable- Preferences при хранении настроек приложения- работа с файлами- Tab вкладки- парсинг XML- асинхронность (Handler, AsyncTask)- сервисы- Content Provider- обработка касаний, мультитач- фрагменты- Action Bar, ActionMode- виджеты- ключи и подпись приложения- ViewPager- воспроизведение звука и видео- запись звука- работа с камерой- сенсоры- GPS- Google Maps- рисование 

Я продолжаю читать книги и уроки будут появляться, пока я сам буду развиваться. В итоге, я думаю, мы придем к тому, что станем достаточно продвинутыми разработчиками, востребованными на рынке. В общем, как говорит один клоун из зомбоящика - "не переключайтесь" )  Будет интересно!

На следующем уроке мы установим и настроим среду разработки Android-приложений.

P.S.

Разработка ведется на Java. Также могут понадобиться знания SQL, XML и прочих смежных технологий. Считается, что вы знакомы с ними. Если нет, то что-нибудь базисное по Java надо будет прочесть. 

Гугл периодически выпускает обновления Android и для среды разработки. Поэтому вполне возможно, что содержимое урока немного устарело и реальная картинка отличается от скринов. Если это отличие кардинально или примеры не работают, пишите об этом на форуме в ветке урока. Будем актуализировать. Если же отличие только в цвете фона приложения или размере шрифта, то это, конечно, не критично и на посыл урока не влияет.  

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

 

P.P.S

Иногда звучат высказывания, что большинство уроков сделаны для Android 2.3, а сейчас уже вышел Android версии, например, 100500 и уроки устарели. Один чудик как-то вообще написал, что уроки на 90% состоят из deprecated методов. Очень я не люблю комментировать чушь, но для начинающих я выскажу свое мнение по поводу этого всего дилетантства.

Я не могу с каждым выходом новой версии андроида переделывать все уроки. Тем более что, переделывать то ничего и не надо. Подавляющее большинство уроков останется прежними и все будет отлично работать на любой версии. К тому же доля устройств на Android 2.Х еще пока достаточно велика, чтобы ею пренебречь. И вы в ваших приложениях будете минимальную версию указывать 2.2 или 2.3, чтобы не потерять целый сегмент пользователей. Так что я не понимаю, в чем смысл кипиша. 

Да, есть такое, что с выходом новых версий, некоторые уроки действительно кардинально устаревают и их надо обновлять. Это, например, коснулось Урока 52, и я сделал его обновление в отдельном уроке. Но постоянно отслеживать и обновлять целый урок из-за того, что там теперь один метод (о ужас-ужас!!!) deprecated - это тяжко. Не забывайте, что я занимаюсь сайтом в свое свободное время. И я лучше потрачу его на написание новых материалов, чем на отслеживание и фикс устаревших методов.

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

 

P.P.P.S

По Android Studio ситуация примерно та же. Не вижу смысла переходить на AS, т.к. главное в уроках - это код, а не среда разработки. Разве что, несколько первых уроков потом продублирую для AS

Присоединяйтесь к нам в Telegram:

- в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.

- в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование

Похожие статьи

Последние статьи

startandroid.ru


Смотрите также