Рубрики
Без рубрики

Разработка для Android – от начального до продвинутого

Взгляд на разработку Android, начиная с начинающих и заканчивая расширенными функциями.

Автор оригинала: Ebi Igweze.

Вступление

Начать как разработчик Android было довольно сложно, в то время не было Android studio, именно eclipse была основной средой разработки, и платформа Android была сложной сама по себе в сочетании со сложным процессом разработки с Eclipse, поэтому я отказался.

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

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

Цель

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

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

Прежде чем мы начнем

N. B: Вы не можете стать экспертом за одну ночь, или за неделю, или за месяц. Требуется время, даже годы, чтобы овладеть чем-либо.

Таким образом, цель здесь состоит не в том, чтобы заставить вас стать экспертом, а скорее в том, чтобы заставить вас решать задачи, которые придадут вам уверенности в решении еще более сложных задач Android. Чем больше проблем вы преодолеваете, тем увереннее вы решаете новые.

Что вы будете строить (больше)

Вы можете назвать приложение как угодно, но я бы назвал его “Бингер”. Binger-это приложение, которое позволяет пользователям просматривать свои любимые телешоу и новые, оно уведомляет пользователя о выходе новых эпизодов шоу, которые их интересуют, а также дает пользователю возможность фильтровать/искать другие телешоу.

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

Приступая к работе

Вам понадобится пара вещей, чтобы начать:

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

Начинающий

Особенности : Вот список вещей, которые вам нужно выполнить:

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

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

  • XML-макеты
  • Виды деятельности (и навигация по видам деятельности)
  • Интернет и пакеты
  • RecyclerView (очень распространенная библиотека)
  • Управление библиотеками (с помощью gradle)

Материалы: Вот список материалов, которые могли бы вам помочь.

Промежуточный

Особенности и задачи : Вот список вещей, которые вам нужно выполнить:

  • “Нравится” или “Любимое” телешоу (позволяет пользователям добавлять в свой список избранных, понравившись или “выбрав” телешоу)
  • Сохраните список “любимых” телепередач пользователя в локальной базе данных (сохраните информацию о понравившихся телепередачах в локальной базе данных телефона).
  • Просмотр и управление всеми понравившимися телешоу (разрешить пользователям просматривать список понравившихся телешоу и удалять одно или все из списка)
  • Просмотр списков обоих телешоу в одном и том же действии (используя таблицу, покажите оба списка телешоу, которые транслируются сегодня, и текущий эфир)
  • Поиск телешоу с текстом и фильтрами (позволяет пользователям искать телешоу по названию и фильтрам, таким как жанр, год выпуска, возвращение или окончание и т.д.)
  • Используйте привязку данных для настройки и обновления компонентов пользовательского интерфейса
  • Уведомление о следующем эпизоде (уведомить пользователя, когда выйдет следующий эпизод любимого телешоу)

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

  • Навигация с вкладками
  • Фрагменты
  • Инфляция меню
  • Фоновые задачи
  • Уведомления
  • Поисковый
  • Привязка данных
  • Сохраняемость с локальной базой данных

Материалы

Передовой

Вот несколько дополнительных функций, которые нужно добавить, и несколько вещей, которые нужно изменить:

  • Непрерывная интеграция (Настройка непрерывной интеграции с app-центром)
  • Аутентификация пользователей с помощью Firebase (Включите регистрацию пользователей и вход в систему с помощью firebase, используя электронную почту и пароль)
  • Смотреть трейлеры (Разрешить пользователям смотреть трейлеры выбранного телешоу)
  • Синхронизация локальной базы данных с базой данных firebase (позволяет пользователям хранить свои любимые телепередачи в базе данных firebase)
  • Регистрируйте сбои приложений (добавьте ведение журнала для сбоев приложений)
  • Внедрение зависимостей (Добавление внедрения зависимостей для служб приложений и компонентов просмотра)
  • Реактивное программирование с помощью RxJava/Live Data (настройка реактивного программирования с расширением reactive)
  • Светлая и темная тема ((настройте две темы для приложения светлая и темная)
  • Настройки (настройте представление настроек, в котором пользователи могут выбирать предпочтительный макет темы: светлый или темный)
  • Набор тестов (написать набор тестов для служб и компонентов пользовательского интерфейса)

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

  • Непрерывная Интеграция
  • Идентификация
  • Темы для Android
  • Внедрение Зависимостей
  • Потоковая передача мультимедиа
  • Общие рекомендации
  • База данных Firebase
  • Регистрация
  • Реактивное программирование
  • Модульное тестирование

Материалы

Вывод

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

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

Единственный способ быть в курсе событий-это активно участвовать в сообществе Android, вот несколько каналов и публикаций, на которые вы можете подписаться и получать обновления о новых событиях, происходящих в экосистеме Android.

Вот и все, и все, что осталось, – это ваше приключение, счастливое кодирование.

Оригинал: “https://www.codementor.io/@ebiigweze/android-development-beginner-to-advanced-m3i1ve6y7”