Вы изучаете разработку под Android в стипендиальной программе Google Udacity? Делаете проекты? Тогда эта статья для вас!

Сколько раз вам трудно начинать новый проект? А как узнать, что вы закончили свой проект и готовы его сдать? Если у вас есть эти сомнения и вам нужны советы или источники, которые помогут вам - продолжайте читать.

Эта статья предназначена для того, чтобы помочь новичкам в разработке Android успешно начать и завершить свои проекты для Nanodegree. На этот раз я расскажу о приложении, цель которого - предоставить перечисленную информацию о местоположении / достопримечательностях и т. Д., Например, о приложении «Путеводитель», но некоторые советы / ссылки должны быть полезны и при выполнении других проектов.

Начиная

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

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

А вот так выглядит мое готовое приложение:

Вы уже начали делать свой макет? Просто изложите все свои идеи на бумаге, не беспокойтесь, если они со временем изменятся или ваше окончательное приложение будет выглядеть иначе, чем ваша первая идея. Возможно, вы нашли лучшие решения, лучший макет или более простые решения - и это здорово, что ваша идея развивается 😊, если вы следуете требованиям!

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

Макеты

Для создания простого приложения для отображения списков с информацией о местоположении / достопримечательностях и т. Д. Вам потребуется как минимум три макета:

  1. Для главного экрана - выберите схему навигации: с вкладками и просмотром пейджера или вид макета навигационного ящика плюс контейнер фрагментов.
  2. Для вашего элемента списка - макет со всеми элементами в вашем единственном элементе списка, например два TextView и один ImageView.
  3. Для представления списка - это может быть просто ListView, и вы можете использовать это представление как представление фрагмента.

Пользовательский объект ListView

Просто создайте новый класс Java. Этот класс будет хранить ваш настраиваемый объект, содержащий все места / достопримечательности / и т. Д. информация: текстовые строки, ссылки на чертежи, сохраненные в виде целочисленных значений.

Вам понадобятся переменные для создания вашего объекта - просто объявите их в начале этого настраиваемого класса, а затем добавьте конструктор с этими переменными. Имейте в виду, что при создании объекта вы вносите важный порядок, поскольку каждый элемент имеет свое собственное место и будет поддерживать тот же порядок / место, когда вы добавляете свои значения в свой ArrayList. Кроме того, вам нужно будет добавить общедоступные методы установки и получения, чтобы иметь возможность изменять и получать значения, используемые в этом классе.

КОНЦЕПЦИЯ: Что такое объект в java, можно прочитать здесь.

Пример:

Тогда вам нужно…

Пользовательский адаптер

Чтобы расширить ListView, вы создаете собственный адаптер. В этом вам поможет эта ссылка или эта ссылка.

Самый простой адаптер для заполнения представления из ArrayList - это ArrayAdapter. Мы создаем настраиваемый ListView путем создания подкласса ArrayAdapter с Location в качестве объекта (см. Пример настраиваемого объекта выше). GetView () - это метод, который возвращает фактическое представление, используемое в виде строки в ListView в определенной позиции.

Пользовательский адаптер заполняет Location в ListView.

Пример:

А теперь…

Фрагменты и ViewPager с TabLayout

Для этой задачи вы можете использовать эти источники:

Не забывай! Чтобы вкладки работали, вам нужно добавить эту зависимость в свой файл Build Gradle (приложение Mode):

реализация ‘com.android.support:design:27.1.1’

Панель навигации

Вот несколько полезных ссылок для учебника по навигационным ящикам:

Если вы хотите пойти дальше и добавить страницу с подробными сведениями об элементах списка, вам нужно будет использовать…

OnItemClickListener

Информацию о том, как добавить onItemCilickListener в ListView и обрабатывать события щелчка по элементам списка, вы можете найти здесь.

Пример:

СОВЕТ. Чтобы решить возможную проблему между представлением кнопок в макете элемента списка и onItemClickListener в вашем ListView - добавьте android: DescendantFocusability = ”blocksDescendants” в родительском представлении элементов списка.

Чтобы обрабатывать события щелчка в AdapterView, прочтите этот учебник.

Некоторые дополнительные инструменты

ЯРЛЫКИ СТУДИИ ANDROID

ЦВЕТА И ДИЗАЙН

ЗНАЧОК ПРИЛОЖЕНИЯ

ШРИФТЫ

ГРАФИКИ

МАКЕТ РЕДАКТОРА

НАМЕРЕНИЕ GOOGLE КАРТЫ

После завершения вашего приложения

Если ваш код работает нормально, без ошибок, вы проверили все критерии макета и функциональности, также не забудьте проверить читаемость кода:

  • Пустые строки
  • Неиспользуемые переменные
  • Неиспользуемые методы
  • Неиспользуемые операторы импорта
  • Закомментированный код
  • Жестко запрограммированные строки
  • Отступы в коде при определении переменных и методов

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

СОВЕТЫ, как облегчить некоторые из этих задач

1. Проверьте жестко запрограммированные строки:

  • В главном меню выберите Анализировать | Запустите проверку по имени или нажмите НАЖАТЬ Ctrl + Alt + Shift + i (Linux / Windows) и затем введите

Жестко запрограммированные строки для проверки всей жестко запрограммированной строки в коде Java.

Жестко запрограммированный текст, чтобы проверить все жестко запрограммированные строки в вашем XML-макете.

2. Оптимизировать импорт:

  • НАЖМИТЕ Ctrl + Alt + O (Linux / Windows)
  • Control + Option + O (Mac)

Когда вы находитесь в открытом классе / действии java, он удалит весь неиспользуемый импорт в этом файле.

3. Чтобы проверить весь ваш код, используйте главное меню студии Android:

Анализировать - ›Проверять код.

Вы увидите проверки по различным вопросам - где в коде вы получили предупреждения - просмотрите их и решите те, которые, по вашему мнению, могут быть важными - например, возможные утечки памяти, возможные исключения нулевого указателя и т. Д. https: // developer. android.com/studio/write/lint .

И все, если вы гордитесь своей работой - значит, вы ее выполнили😊! Но ... Помните, оно никогда не бывает законченным, если вам понравится это приложение, вы продолжите его развивать и заставлять сиять еще больше 😉.

Спасибо, что прочитали ❤️, надеюсь, это помогло избавиться от некоторых ваших сомнений или решить некоторые из ваших проблем.

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

Подробнее откуда это взялось

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

Следите за нашей публикацией, чтобы увидеть больше историй о продуктах и ​​дизайне, представленных командой Журнала.