Gdgkisiiapp
Домашнее хранилище GDG KISII Android Mobile App.
Мы создали приложение для Android для управления нашим сообществом разработчиков. Обновления событий, ресурсов и докладчиков разработчика доступны через мобильное приложение.
Крутые функции включают
- Нижняя навигация
- Навигация вкладок
- Ряд API, включая API MAPS
Моя учебная программа Android Basics
- Общие методы программирования
- Введение в основы Android
- Мастерские макеты в Android
- Система сборки - работа с Градл
- Сеть в Android
- Архитирование ваших приложений для Android
- Тестирование ваших приложений для Android
- Выпуск ваших приложений для Android
- Защита ваших приложений для Android
- Advanced Android
Общие методы программирования
Следующие общие методы программирования являются ключом к началу работы с вашей успешной карьерой в разработке. Эти практики включают в себя:
- Управление источником (GIT) - Управление источником - это инструмент для управления версиями вашего кода, он отлично подходит для совместного написания программного обеспечения.
- GIT Workflows - Существует много разных способов управления программным обеспечением при использовании управления источником. Популярные методы включают в себя: рабочий процесс Gitflow, централизованный рабочий процесс, Working Workflow и т. Д.
- Непрерывная интеграция - непрерывная интеграция гарантирует, что ваш код создает на сервере, который не является вашей собственной машиной. Посмотрите на использование сервера сборки, такого как Jenkins, Buddybuild, Circle CI, Travis и т. Д.
- Запросы на вытягивание - запросы на привлечение - отличный способ получить очень подробные отзывы о разработанном вами коде.
- Методологии Agile/Scrum - большинство современных групп разработки программного обеспечения следуют методологиям Scrum для работы.
- Инструменты качества кода - есть много инструментов, которые компании используют для измерения качества своего кода и здоровья кодовой базы. Метрики, такие как количество линий тестового охвата или сколько технического долга у базы кода становятся видимыми. Некоторые инструменты, которые часто используются: Sonar, Findbugs, Checkstyle и Android Lint.
Введение в основы Android
Существует множество веб -сайтов, которые обеспечивают основы начала работы с разработкой Android. Моя рекомендация состоит в том, чтобы следовать официальной документации, чтобы понять основы.
Некоторые начальные ресурсы:
- Основы приложения Android
- Некоторые из основных компонентов в Android: мероприятия, фрагменты, услуги, вещательные приемники.
- Android -приложение Manifest
- Кодовая лаборатория - создайте первое приложение для Android
Мастерские макеты в Android
В Android есть много разных типов макетов, от Framelayout до RelativeLayout до ConstraintLayout. Убедитесь, что вам удобно с этими обычно используемыми типами макетов: Framelayout, RelativeLayout, Linearlayout, ConstraintLayout, ComportinatorLayout.
Ресурсы:
- Поддержка разных размеров экрана
- Кодовая лаборатория - constraintlayout
- Кодовая лаборатория - координатор
Система сборки - работа с Градл
Работа с Gradle - это, вероятно, то, что упускается из виду при разработке приложений Android. Убедитесь, что вы понимаете основы, еще лучше - научитесь писать свои собственные задачи градл!
Ресурсы:
- Документация Градл
- Настройте свою сборку
Сеть в Android
Хотя большая часть документации Android не ссылается на модернизацию или OKTTP, это наиболее часто используемые библиотеки, когда речь идет о сети в Android. Также хорошо познакомиться с различными инструментами профилирования, доступными в Android Studio.
Ресурсы:
- Понимание RESTFUL Services
- Модернизация-HTTP-клиент для Android и Java для Android и Java
- OKTTP - клиент HTTP & HTTP/2 для приложений Android и Java
- Сетевой профилировщик в Android - инструмент в Android Studio, который позволяет вам профилировать ваши сетевые вызовы.
- Charles Proxy - полезно для перехвата сетевых вызовов во время тестирования.
Архитирование ваших приложений Android
К сожалению, написание кода и приложение для компиляции не являются конец знания, как написать приложение для Android. Крупномасштабные приложения для Android должны следовать хорошим архитектурным конструкциям, чтобы они могли быть подлежащими и тестируемым. Есть много разных шаблонов, за которыми вы можете следовать при написании приложения Android. Обычно используются такие узоры, как MVP, MVVM и чистая архитектура. Убедитесь, что вы понимаете различия между шаблонами, поскольку вы столкнетесь с множеством различных моделей в дикой природе.
Ресурсы:
- Руководство компонентов архитектуры Android
- Введение в видео компонентов Android архитектуры
- Репозиторий приложения Google приложения GitHub
- Кодовая лаборатория - настойчивость
- Кодовая лаборатория - компоненты по знанию жизненного цикла
Тестирование ваших приложений Android
После того, как вы получите повествование о создании приложений для Android, вам нужно будет подумать о том, как их проверить. Единое тестирование и тестирование пользовательского интерфейса являются очень важными понятиями, которые вам нужно, чтобы убедиться, что вы понимаете. Есть много различных инструментов, которые вы можете использовать для написания тестов пользовательского интерфейса. Большинство разработчиков Android используют Espresso и Junit для написания тестов, но есть много других инструментов, таких как роботиум, калабаш, Appium и т. Д. Я бы порекомендовал использовать Espresso и Junit.
Ресурсы:
- Библиотека поддержки Android Testing
- Эспрессо
- Юнит
- Макето
- Кодовая лаборатория - Android Testing
- Кодовая лаборатория - тестирование производительности Android
Выпуск ваших приложений для Android
Отлично, вы сделали это так далеко!
Теперь есть несколько концепций, которые вам нужно будет покрыть, чтобы освободить свое приложение:
- Подготовка вашего приложения к выпуску
- Подписание приложения
- Версия вашего приложения
- Прогуар
Безопасность
Есть много вещей, которые должны быть сделаны, чтобы обеспечить ваше приложение и убедиться, что никто не получает доступ к несанкционированному контенту. Убедитесь, что вы используете Proguard (упоминается ранее). Поймите, что такое человек в средней атаке. Понять различные методы шифрования и способы, которыми вы можете надежно хранить информацию в приложении Android, включая защиту токенов ваших API, закрепления сертификатов и т. Д.
Ресурсы:
- Советы по безопасности на Android.
- Сертификат закрепление
- Safetynet API
- System Android KeyStore '
Расширенные темы Android
После того, как вы рассмотрели все основы написания приложений Android, есть несколько расширенных тем, которые вам может потребоваться, чтобы внести свой вклад в некоторые кодовые базы:
- KOTLIN - Kotlin - это новый язык программирования для Android, разработчики активно пишут свой код в Котлине. Стоит прочитать о котлине и пробежать по котлин -коанам. Существует также кодовая лаборатория Kotlin.
- Rxjava-Rxjava-это библиотека, используемая для асинхронного программирования на основе событий. Это позволяет вам составлять операции вместе для выполнения сложных задач (например, объединение нескольких сетевых вызовов), и может быть очень полезным с учетом управления, в каком потоке выполняется ваш код. Есть отличное видео от Джейка Уортона, описывающего, как использовать rxjava и преимущества его использования.
- Кинжал (инъекция зависимостей) - Инъекция зависимости - это способ управления объектами и их зависимостями в вашем приложении. Концепция DI не является Android, но также доступна во многих других структурах. DI может сделать ваш код более эффективным и способствует тестируемости. Dagger 2 - самая популярная Android DI Framework.
- Дизайн материала - большинство приложений для Android следуют рекомендациям Google Material. Руководящие принципы - это способ разработки ваших приложений стандартным способом, к которым привыкли пользователи.
- Поддержка библиотек в Android - библиотеки поддержки в Android очень важны для того, чтобы ваше приложение смотрело и ведет себя последовательно в нескольких версиях Android. Есть несколько разных библиотек, которые имеют разные цели. Связанная статья описывает причины библиотек.
- Утечки памяти - в Android довольно легко создать утечки памяти. Это может привести к ошибочному поведению в вашем приложении (случайные сбои). Многие разработчики используют Leakcanare в своих приложениях, чтобы убедиться, что утечки памяти не присутствуют.
Лицензия