Android Development
Преподаватель
План презентации
Что такое Android?
Кто такой Android-разработчик?
Чем он занимается?
Отличный повод учить Android
Что нужно знать и уметь?
Что нужно знать и уметь?
Зарплаты (Java, .Net, C++)
Вакансии для андроидщиков
Как стать разработчиком?
Как стать разработчиком?
Программа курса (184 пары)
Программа Java SE (ПП и ООП)
Программа Android
Ресурсы по Android
Литература по Android
Сайты про Android
Подключение устройства
Пункт «для разработчиков»
Подключение устройства
Поиск и установка драйвера
ADB Driver
Если Windows 8 x64
Если Windows 8 x64
Если Windows 8 x64
Понятие SDK
Понятие IDE
ПО для работы с Android
Обзор Android-эмуляторов
Если нет устройства
Первый запуск Android Studio
Установка SDK
Названия версий системы
Обновления версий Android
Названия версий Android
Свежие версии Android
Android O (…O for Oreo ???)
Доли версий (на 30.05.2017)
Создание первого проекта
Создание первого проекта
Создание первого проекта
Minimum SDK
Создание первого проекта
Создание первого проекта
Внешний вид нового проекта
Виды Android-приложений
Виды Android-приложений
Виды Android-приложений
Виды Android-приложений
Виды Android-приложений
Что появится при запуске
Если устройство «не видится»
Результаты
Структура проекта
Практика – Drawer Project
Практика – Drawer Project
Практика – Drawer Project
Где находится картинка?
Практика – Drawer Project
Практика – Drawer Project
Практика
Практика
Домашнее задание
Домашнее задание
Где забрать презентацию?
Спасибо за внимание!

Android Development. Разработка приложений

1. Android Development

Александр Загоруйко © 2017
Android Development

2. Преподаватель

Александр Загоруйко
[email protected]

3. План презентации

О разработке приложений под Android
Литература и полезные сайты
Подключение устройства
Запуск Android Studio, создание проекта
Версии операционной системы Android
Типы Android-приложений
Запуск HelloWorld-приложения
Практика

4. Что такое Android?

Android — свободная операционная
система для мобильных телефонов,
планшетов, смарт-часов и телевизоров,
использующая ядро Linux, и принадлежащая
Google. С момента выхода первой версии в
сентябре 2008 года произошло более 45
обновлений системы. Эти обновления
касаются исправления обнаруженных
ошибок и добавления новой
функциональности в систему.

5. Кто такой Android-разработчик?

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

6. Чем он занимается?

Основные должностные обязанности разработчика
Android-приложений:
Разработка приложений под Android
Тестирование приложений
Поддержка приложений
Размещение приложений в Google Play, Samsung
Apps Store, Amazon Appstore, Opera Mobile Store,
Yandex.Store и прочих магазинах приложений
Разработка инструкций по работе с готовым
продуктом
Оформление необходимой документации

7. Отличный повод учить Android

В 2016 году было продано более 1 млрд Android-устройств.
В первом квартале 2017 года более 82% проданных
смартфонов работают на Android. Программирование и под
Android, и под iOS в целом происходит примерно одинаково.
http://www.gartner.com/newsroom/id/3609817

8. Что нужно знать и уметь?

Основные навыки:
Высшее / неполное высшее образование
(техническое / IT)
Знание HTML, HTTP, XML, принципов объектноориентированного программирования, СУБД
Опыт программирования на языке Java от 1 года
Знание дополнительного языка программирования
(C++, Python, Perl, Ruby) будет плюсом
Представление об Android SDK (комплекте средств
разработки, который позволяет программистам
создавать приложения для ОС Android)

9. Что нужно знать и уметь?

Основные навыки:
Понимание взаимодействия приложения по
модели клиент-сервер
Приветствуется наличие опыта разработки
приложений, веб-интерфейсов
Знание правил и требований к релизам
приложений в Google Play, Amazon Appstore, Opera
Mobile Store, Yandex.Store и тд.
Умение разбираться в чужом коде, оптимизировать
и тестировать его
Владение техническим английским языком

10. Зарплаты (Java, .Net, C++)

11. Вакансии для андроидщиков

https://jobs.dou.ua/vacancies
/?category=Android

12. Как стать разработчиком?

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

13. Как стать разработчиком?

Если вы уже хорошо разобрались с Java и XML,
но являетесь новичком в Android, то специально
для вас компания Google сделала хорошее
введение в Android на своём сайте. Также есть
замечательный гид по Android. Если возникают
вопросы в процессе написания приложения, то в
первую очередь следует проверить
StackOverflow – сайт, который создан для
ответов на технические вопросы и даже
является официальной платформой Q&A для
Android.

14. Программа курса (184 пары)

Процедурное программирование на
языке Java – 40 пар
Объектно-ориентированное
программирование на языке Java – 34
пары
XML – 4 пары
SQL (базы данных) – 18 пар
Android – 88 пар

15. Программа Java SE (ПП и ООП)

Введение в программирование, алгоритмы
Переменные, типы данных, операции
Условные операторы, циклы, псевдографика
Массивы, строки, регулярные выражения
Методы, перечисления, аннотации, обзор JavaFX
ООП, инкапсуляция, структуры данных, JCF
Агрегирование, наследование, полиморфизм
Сбор мусора, исключения, обобщения
Streams, threads, синхронизация потоков
Теоретический экзамен в формате собеседования

16. Программа Android

Элементы управления (кнопки, текстовые поля,
списки и тд.), диалоговые окна, работа с меню
События, жизненный цикл приложения,
макетирование и навигация, Google-карты
Жесты, сенсоры, рисование, работа с камерой
Паттерны проектирования, клиент-сервер
Работа с SQL и NoSQL базами данных
Регистрация в Google Play, публикация
приложений, интеграция рекламных баннеров
Подготовка к защите дипломного проекта

17. Ресурсы по Android

https://tproger.ru/translations/
how-to-start-android/

18. Литература по Android

Head First. Программирование для Android
Android. Программирование для профессионалов
Android для разработчиков
Книги доступны по ссылке:
https://drive.google.com/open?id=0B0ZTynoOO8QPUUx1RXdPbFRsSm8

19. Сайты про Android

https://developer.android.com/index.html
http://startandroid.ru/ru/uroki/vse-uroki-spiskom.html
http://developer.alexanderklimov.ru/android/
http://www.vogella.com/tutorials/android.html
http://4pda.ru/forum/index.php?showforum=281
http://www.fandroid.info/
http://geekinformer.net/
http://droider.ru/
http://androidinsider.ru/
http://top-android.org/
http://mob-core.com/programmy-dlja-android/

20. Подключение устройства

Не подключая устройство к компьютеру,
заходим в пункт меню настроек «специальные
возможности > для разработчиков», в нём
включаем отладку по USB
Подключаем устройство к компьютеру

21. Пункт «для разработчиков»

Как показывает практика, иногда найти
пункт меню настроек «для
разработчиков» не так-то и просто.
Как вариант, в этот раздел поможет
зайти многократное быстрое нажатие
(от 5 до 20 раз) по номеру версии
системы Android.

22. Подключение устройства

В разделе настроек О телефоне >
Память > Подключить как необходимо
выбрать режим Медиа-устройство
(MTP).

23. Поиск и установка драйвера

Для Google-устройств линейки Nexus и Pixel
драйвера будут доступны в SDK менеджере
Android Studio
https://developer.android.com/studio/run/winusb.html
Для других устройств драйвера можно
найти на сайте производителя, либо
воспользоваться универсальным
драйвером ADB Driver, либо в помощь сайт
http://4pda.ru/ или гугл

24. ADB Driver

Заходим на сайт http://adbdriver.com/downloads/
Качаем архив, распаковываем. Будут тонкости при
установке на Windows 8 или 10 (x64) !!!
http://adbdriver.com/documentation/how-to-install-adb-driver-on-windows-8-10x64.html
http://www.howtogeek.com/126016/three-ways-to-access-the-windows-8-bootoptions-menu/
Запускаем ADBDriverInstaller.exe
Нажимаем Install, перезагружаемся

25. Если Windows 8 x64

Как зайти в TroubleShoot:

26. Если Windows 8 x64

Нажимаем кнопку «Перезагрузить сейчас»

27. Если Windows 8 x64

После успешного включения режима
Disable driver signature enforcement и
перезагрузки, устанавливаем драйвер, и на
всякий случай ещё раз перезагружаемся
Как тестировать Android-приложения на
реальном устройстве:
https://www.youtube.com/watch?v=Cm7GeUtjKDc

28. Понятие SDK

SDK (от англ. software development kit) —
комплект средств разработки, который позволяет
специалистам по программному обеспечению
создавать приложения для определённого пакета
программ, программного обеспечения базовых
средств разработки, аппаратной платформы,
компьютерной системы, игровых консолей,
операционных систем и прочих платформ. SDK
включает в себя компилятор Java (javac),
стандартные библиотеки классов Java, примеры,
документацию, различные утилиты и
исполнительную систему Java (JRE).

29. Понятие IDE

Все современные интегрированные среды
разработки приложений на Java, такие как
NetBeans IDE, Android Studio, IntelliJ IDEA,
Eclipse - опираются на сервисы,
предоставляемые SDK. Большинство из них
для компиляции Java-программ используют
компилятор из комплекта SDK. Скачать SDK
можно (и нужно будет) по этой ссылке:
http://www.oracle.com/technetwork/java/java
se/downloads/jdk8-downloads-2133151.html

30. ПО для работы с Android

https://developer.android.com/studio/index.html

31. Обзор Android-эмуляторов

Что делать, если под рукой
нет Android-устройства?
https://habrahabr.ru/post/218739/

32. Если нет устройства

Одним из простых вариантов настройки
эмулятора является использование
программы BlueStacks:

33. Первый запуск Android Studio

34. Установка SDK

Установка необходимых компонентов
SDK может занять от 2 до 10 минут,
поэтому, самое время поговорить про
Android, версии этой операционной
системы и виды приложений.

35. Названия версий системы

Изначально Google рассчитывала
давать версиям Android имена
известных роботов, но отказалась из-за
проблем с авторскими правами. Каждая
версия системы, начиная с версии 1.5,
получает собственное кодовое имя на
тему сладостей. Кодовые имена
присваиваются в алфавитном порядке
латинского алфавита.

36. Обновления версий Android

Android 1.0 «Apple Pie» (раннее название «Astroboy»)
- первая стабильная версия системы, появился
магазин приложений Android Market (23.09.2008)
Android 1.1 «Banana Bread» (раннее название
«Bender») – специфическая версия, выпущенная
специально для HTC Dream (09.02.2009)

37. Названия версий Android

38. Свежие версии Android

Дата выхода Marshmallow:
28 мая 2015 года
Дата выхода Nougat:
22 августа 2016 года

39. Android O (…O for Oreo ???)

https://developer.android.com/preview/index.html

40. Доли версий (на 30.05.2017)

https://developer.android.com/
about/dashboards/index.html

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

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

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

44. Minimum SDK

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

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

47. Внешний вид нового проекта

После создания
первого проекта
ещё от 1 до 10
минут времени
может уйти на
индексирование
библиотек SDK…

48. Виды Android-приложений

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

49. Виды Android-приложений

Приложения переднего плана выполняют свои функции
только, когда видимы на экране, в противном же случае их
выполнение приостанавливается. Такими приложениями
являются, например, игры, текстовые редакторы,
видеопроигрыватели. При разработке таких приложений
необходимо очень внимательно изучить жизненный цикл
активности, чтобы переключения в фоновый режим и
обратно проходили гладко (бесшовно), т.е. при возвращении
приложения на передний план было незаметно, что оно
вообще куда-то пропадало. Для достижения этой гладкости
необходимо следить за тем, чтобы при входе в фоновый
режим приложение сохраняло своё состояние, а при выходе
на передний план восстанавливало его.

50. Виды Android-приложений

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

51. Виды Android-приложений

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

52. Виды Android-приложений

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

53. Что появится при запуске

На устройстве в диалоге
нужно разрешить
компьютеру отладку!
Тогда в списке
устройств появится
нормальное название
телефона.

54. Если устройство «не видится»

http://www.4tablet-pc.net/hints-andtips/4322-android-hints-and-tipsunautorized-adb-message.html

55. Результаты

http://startandroid.ru/ru/uroki/vse-uroki-spiskom/12-urok-3-sozdanieavd-pervoe-prilozhenie-struktura-android-proekta.html

56. Структура проекта

MainActivity – это Java-класс
главного экрана приложения,
который находится в самом
обычном текстовом файле с
расширением .java.
Activity (деятельность,
активность) – это компонент
приложения, который
предоставляет пользователю
экран для того, чтобы сделать
что-либо, например, набрать
чей-то номер, сделать фото,
отправить письмо и тд.

57. Практика – Drawer Project

Добавляем в проект файл для нового
класса, отвечающего за рисование:

58. Практика – Drawer Project

Называем этот класс MyDrawer:

59. Практика – Drawer Project

Добавляем в проект файл картинки:

60. Где находится картинка?

\\fs \ Преподаватели
\ Загоруйко А \ Public

61. Практика – Drawer Project

MainActivity.java:
https://git.io/vHG52
MyDrawer.java:
https://git.io/vHG5d

62. Практика – Drawer Project

Результат:

63. Практика

Используя методы работы с графикой,
отобразить на экране Донателло:

64. Практика

Нарисовать кораблик:

65. Домашнее задание

Подключить устройство на домашнем
компьютере
Установить драйвера для устройства
Скачать и установить Java SDK
Скачать и установить Android Studio
Создать HelloWorld-проект

66. Домашнее задание

Ознакомиться с материалами презентации,
пройти по всем ссылкам
Прочитать 1 и 2 главу книги «Программирование
для Android»

67. Где забрать презентацию?

\\fs \ Преподаватели
\ Загоруйко А \ Public

68. Спасибо за внимание!

English     Русский Правила