Similar presentations:
Android Development. Разработка приложений
1. Android Development
Александр Загоруйко © 2017Android 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. Программирование для AndroidAndroid. Программирование для профессионалов
Android для разработчиков
Книги доступны по ссылке:
https://drive.google.com/open?id=0B0ZTynoOO8QPUUx1RXdPbFRsSm8
19. Сайты про Android
https://developer.android.com/index.htmlhttp://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.html31. Обзор 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.html40. Доли версий (на 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.html55. Результаты
http://startandroid.ru/ru/uroki/vse-uroki-spiskom/12-urok-3-sozdanieavd-pervoe-prilozhenie-struktura-android-proekta.html56. Структура проекта
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