Junior Android Developer (2 ступень - Основы)
Получить расширенные теоретические и практические знания в области разработки мобильных приложений под Android.
Эта цель продолжение цели "Войти в айти после 40...". Углубляемся в мобильную разработку под Android и получаем новые знания.
Цель стать сканером в области Android и плавно перейти в режим дайвинга одной или нескольких областей Android. Пока не затрагивать всю область мобильной разработки, т.е. iOS, TV и др.
Критерий завершения
Самостоятельно от разработки приложения до регистрации его в Google Play Market
Личные ресурсы
Время, информация, знания
Экологичность цели
Эта цель зависит от моего желания стать программистом
-
Введение
Больше информации.
-
Постановка цели. Установка ожиданий.
-
Введение и знакомство с Android. Как работает Android.
-
Отличия ядра Linux для Android от обычных ядер Linux
-
Где и для чего применяется Java
-
Будем изучать Android и Java параллельно.
-
-
Установка среды разработки android приложений
Настраиваем рабочее место.
-
Определиться с ОС (Windows, Linux, Mac)
-
Установка JDK (Java Development Kit) (https://www.fandroid.info/ustanovka-jdk-java-development-kit/)
-
Установка Android Studio (https://www.fandroid.info/ustanovka-android-studio/)
-
Установка Android Studio на Ubuntu (Linux) (https://www.fandroid.info/ustanovka-android-studio-na-ubuntu-linux/)
-
Скачать (https://developer.android.com/studio)
-
Плагины для Android Studio (https://devcolibri.com/top-17-plugins-for-android-studio/ и другие)
-
Установка плагинов для Android Studio
-
Работа с Github (https://metanit.com/java/android/22.1.php)
-
Добавление пакетов Android SDK Manager (https://www.fandroid.info/dobavlenie-paketov-android-sdk-manager/)
-
Как проверить, что у вас стоит все что нужно из SDK
-
-
Android эмулятора - AVD
Есть несколько вариантов или использовать обычные устройства (смартфон или планшет) или виртуальные устройства, которые в свою очередь подразделяются на платные и бесплатные, сильно требовательные к ресурсам или нет, возможностью запустить игры или нет, пользоваться сервисами Googl или без них.
-
Выбор эмулятора.
-
Про эмулятор: что и зачем, как создать
-
Как решать проблемы с запуском эмулятора
-
Ускорение эмулятора Android
-
-
Udemy - Android разработка. Язык XML и элементы UI от Юрий Аллахвердов
Пройти курс на Udemy. https://www.udemy.com/share/101sh0CEoSclpURXQ=/
-
Android. Первое приложение
Для начала создаем приложение, копируя и повторяем за другими.
-
Пользовательские элементы
-
Макеты приложения. Отладка
-
Жизненный цикл Activity. Сохранение состояния
-
Компоненты приложения. Интенты
-
Фрагменты
-
Списковые элементы пользовательского интерфейса
-
Элементы материального дизайна
-
Выход в интернет
-
-
Архитектура платформы Android
Есть 5 уровней: Applications + System Apps, Application Framework, Native Libraries + Android Runtime, Hardware Abstraction Layer (HAL), Linux Kernel.
-
Linux Kernel
-
Hardware Abstraction Layer (HAL)
-
Native Libraries + Android Runtime
-
Application Framework
-
Applications + System Apps
-
-
Android Studio
Полнее изучаем IDE "Android Studio", необходимо быть на ты со столь дружественным помощником.
-
Детальный обзор Android Studio
-
Сравнение IDE "Android Studio" и "IntelliJ IDEA"
-
Стиль кодирования
-
Горячие клавиши
-
Создание проекта
-
Физическая структура проекта
-
Отображение структуры проекта (1: Project: Android, Project...)
-
Ресурсы
-
Пользовательский интерфейс приложения
-
Отладка в Android Studio
-
Логирование в Android Studio
-
Байткод и декомпиляция. Загляни под капот!
-
-
Адаптеры и списки
-
ArrayAdapter
-
Ресурс string-array и ListView.
-
Выбор элемента в ListView.
-
Добавление и удаление в ListView.
-
Расширение списков и создание адаптера.
-
Оптимизация адаптера и View Holder.
-
Сложный список с кнопками.
-
ListActivity
-
Выпадающий список Spinner.
-
Виджет автодополнения AutoCompleteTextView.
-
GridView
-
-
Git - Работа с GitHub.com
Немного освоившись с AS необходимо разобраться с работой с репозиториями. AS через плагин работает напрямую с
GitHub.com
-
Работа с Github (https://metanit.com/java/android/22.1.php)
-
Выявляем и исправляем ошибки
-
Создание репозитория
-
Удаление репозитория
-
-
Android SDK
-
Gradle
Gradle— система автоматической сборки, построенная на принципах Apache Ant и Apache Maven.
Система сборки Gradle очень мощная и сложная.
-
Основы Android
Становимся дигерами
-
Основы создания приложений https://developer.android.com/guide/components/fundamentals?hl=RU#Components
-
Binder — это платформа для быстрого, удобного и объектно-ориентированного межпроцессного взаимодействия.
-
ServiceManager - хранит, регистрирует и выдаёт токены всех остальных сервисов, для того, чтобы разные процессы могли «найти» сервисы друг др
-
Высокоуровневые классы в Android Framework: Activity, Intent и Context.
-
-
Activity
Высокоуровневые классы в Android Framework: Activity
-
Главный компонент Android — Activity.
-
Activity и жизненный цикл приложения.
-
Сохранение и восстановление переменных Activity.
-
Файл манифеста AndroidManifest.xml
-
Паттерн «Одиночка».
-
Приложение с двумя Activity.
-
Запуск Activity с помощью Intent и OnClickListener.
-
Передача параметров.
-
Передача данных между Activity. Сериализация.
-
Parcelable. Или как одна аннотация упрощает работу с Parcelable в Kotlin (а в Java?).
-
Получение результата из Activity.
-
Взаимодействие между Activity.
-
Task и BackStack Activity андроид-приложений
-
-
Intent
Intent — это сообщение, которое указывает системе, что нужно «сделать» (например, открыть данный URL, написать письмо на данный адрес, позвонить на данный номер телефона или сделать фотографию).
-
Intent - явные (explicit) и неявные (implicit)
-
-
Основы создания интерфейса
Введение в создание интерфейса
-
Введение в создание интерфейса.
-
Определение интерфейса в файле XML. Файлы layout.
-
Графические возможности Android Studio.
-
Определение размеров.
-
Ширина и высота элементов.
-
Внутренние и внешние отступы.
-
-
Элементы экрана в android
Изучаем и применяем на практике.
-
Activity
-
Layout
-
View
-
ViewGroup
-
Файл макета экрана android-приложения в XML виде. Поворот устройства.
-
Виды Layouts. Ключевые отличия и свойства.
-
AbsoluteLayout
-
LinearLayout
-
RelativeLayout
-
TableLayout
-
FrameLayout
-
GridLayout
-
ConstraintLayout
-
ScrollView
-
Вложенные Layout.
-
-
Основные элементы управления - виджеты
Изучаем и применяем на практике.
-
TextView
-
EditText
-
Button
-
Приложение Калькулятор.
-
Всплывающие окна. Toast.
-
Snackbar
-
Checkbox
-
ToggleButton
-
RadioButton
-
DatePicker и TimePicker
-
Ползунок SeekBar
-
-
Соединение интерфейса и кода
-
Работа с графическим интерфейсом (тексты, кнопки, списки)
-
Работа с графическим интерфейсом (группы представлений)
-
Реакция на щелчок по кнопке (привязываем функционал через onClick)
-
Что такое Intent, Intent Filter, Context
-
Передача и получение данных через интенты
-
-
Числа, строки и даты
-
Примитивы и объекты
-
Типы чисел и преобразование
-
Операции с числами
-
Строки, символы и подстроки
-
Конкатенация и сравнение строк
-
Регулярные выражения
-
Календарь и метка времени
-
-
Ресурсы
-
Работа с ресурсами
-
Ресурсы строк
-
Ресурсы dimension
-
Ресурсы Color и установка цвета
-
Ресурсы и локализация (картинки, звуки, XML-файлы)
-
-
Работа с изображениями
-
Ресурсы изображений.
-
ImageView
-
Изображения из папки assets.
-
-
RecyclerView
-
RecyclerView – что такое, пример использования, пример адаптера с предопределенными тестовыми темами и данными из массива.
-
Написание собственных итемов для списка и написание более сложного адаптера с асинхронной загрузкой данных (список файлов).
-
-
Меню в Андроид
-
Создание меню.
-
Добавление пунктов меню, обработка нажатия.
-
Группы, подменю.
-
Добавляем иконки и чекбоксы.
-
Программное создание меню, добавляем и скрываем пункты меню.
-
Создаем контекстное меню для экранных компонентов в андроид приложениях.
-
-
Стили и темы
-
Стили
-
Темы
-
-
Фрагменты (Fragment)
-
Введение во фрагменты.
-
Взаимодействие между фрагментами.
-
Фрагменты в альбомном и портретном режиме.
-
Жизненный цикл и типы фрагментов.
-
Fragment и backstack, сохранение состояния фрагмента.
-
-
Тестирование и отладка
-
Отладка.
-
Unit tests.
-
Instrumentation unit tests.
-
-
Многопоточность и асинхронность
-
О программных потоках (UI-поток), Thread + Handler.
-
Класс AsyncTask.
-
AsyncTask и фрагменты.
-
-
Работа с сетью
-
Определение наличия сети
-
Настройка библиотеки RetroFit
-
-
Web Apps
-
О Web Apps и области их применения.
-
WebView
-
Авторизация пользовательского интерфейса.
-
WebViewFragment
-
Загрузка данных и класс HttpURLConnection.
-
-
Работа с мультимедиа
-
Работа с видео.
-
Воспроизведение аудио.
-
-
Настройки и состояние приложения
-
Сохранение состояния.
-
Создание и получение настроек.
-
PreferenceFragment
-
-
Работа с файловой системой
-
Чтение и сохранение файлов
-
-
Хранилища данных
-
Файлы.
-
Размещение файлов во внешнем хранилище.
-
Persistent settings.
-
SQLite
-
ORMLite
-
-
Json
-
Работа с json.
-
-
Работа с базами данных SQLite
-
Подключение к базе данных SQLite.
-
SimpleCursorAdapter и получение данных.
-
Добавление, удаление и обновление данных в SQLite.
-
Использование существующей БД SQLite.
-
Динамический поиск по базе данных SQLite.
-
Модель, репозиторий и работа с базой данных.
-
-
Перелистывание страниц и ViewPager
-
ViewPager и разделение приложения на страницы.
-
Заголовки страниц, PagerTitleStrip и PagerTabStrip.
-
-
Сервисы
-
Введение в сервисы Android.
-
Started Service.
-
Bound Service.
-
IntentService.
-
ContentProvider: загрузка и отображение контактов телефона.
-
-
Телефония и коммуникация
-
Телефонные звонки.
-
Отправка и получение смс.
-
-
Диалоговые окна
-
DatePickerDialog и TimePickerDialog.
-
DialogFragment и создание своих диалоговых окон.
-
Передача данных в диалоговое окно.
-
Взаимодействие с Activity.
-
-
Анимация
-
View animation.
-
Property animation.
-
Layout animation.
-
Activity and fragment transition animation.
-
Cell-анимация.
-
Tween-анимация.
-
-
Провайдеры контента
-
Работа с контактами.
-
Добавление контактов.
-
Создание провайдера контента. Часть 1.
-
Создание провайдера контента. Часть 2.
-
Создание провайдера контента. Часть 3.
-
Асинхронная загрузка данных.
-
-
Работа с XML
-
Ресурсы XML и их парсинг.
-
Получение xml по сети.
-
-
Сенсоры и GPS
-
Android framework location.
-
API Location Services.
-
Обзор сенсоров.
-
Правильное использование сенсоров на примере акселерометра.
-
-
Google Material Design
-
Android Native Development Kit
-
Публикация приложения в Google Play Market
Стоимость этапа — 2500 ₽
-
Лучшие магазины приложений для Android.
-
Изучаем вопрос монетизации и законодательство Украины.
-
Регистрация аккаунта разработчика Google Play.
-
Создание подписанного apk.
-
Публикация приложения в Play Market.
-
-
Android - Разрешения (Permissions)
- 4433
- 09 декабря 2019, 09:06
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением