Разработка мобильного приложения в Android Studio

Программные решения для бизнеса

Мы рассмотрим некоторые особенности разработки мобильных приложений под Android и разберем несколько важных функций: получение данных с помощью API, вывод информации в список и просмотр детальной информации. Поехали!
Глоссарий
Для успешного освоения материала рекомендуем вам изучить следующие понятия:
Видеолекция
Конспект
Популярность мобильных приложений и их влияние постоянно растет. Например, каким бы популярным ни был банк, обслуживающий платежные карты, в наше время он будет значительно проигрывать тому, который взял на вооружение мобильное приложение. В связи с этим постепенно возрастает число компаний, понимающих важность и ценность приложений для смартфонов. Именно поэтому мобильные приложения стали неотъемлемой частью при разработке программных решений.

Для разработки мобильных приложений под андроид мы рассмотрим две среды разработки. Одна из них — Android Studio, позволяющая писать нативные приложения
1. Создаем новый проект:
  • Выбираем стандартный шаблон
  • Указываем название и выбираем язык для разработки. В этом примере будет показана разработка на языке Java
2. Для начала займемся дизайном приложения. Сверстаем activity для главной страницы, для дополнительной информации и одного объекта — отеля, который будет отображаться в списке
3. Добавляем новую activity для детальной информации. Элемент списка, как и страница с детальной информацией, будет состоять из трех элементов: изображение, название отеля и его рейтинг
4. Создаем класс Hotel для работы с API:
  • Нам нужно создать поля для этого класса в соответствии с тем, что планируем использовать в приложении
  • Попробуем получить ответ и в соответствии с этими полями отразить это в нашем классе
  • Создаем конструктор и методы для установки и получения значений с помощью сочетания клавиш Alt + Insert
  • Затем для передачи данных о классе реализуем интерфейс Parcelable и его методы
  • Кроме того, необходимо добавить метод для преобразования полученных данных в изображении

5. После того, как мы создали класс для работы, необходимо создать для него адаптер. Он позволит связывать данные с элементами управления.

  • Для этого создаем новый класс HotelsAdapter, который унаследуем от BaseAdapter, реализовав необходимые методы
  • Создаем поля, которые потом добавляем для инициализации в конструктор. (Context и список отелей mHotelsList).
  • С помощью сочетания Alt + Insert добавляем конструктор
  • После объявления этих полей немного переписываем методы из BaseAdapter под свои нужды:

  1. GetCount будет возвращать количество элементов в списке
  2. GetItem будет возвращать сам объект
  3. GetItemId — код выбранного элемента
  4. GetView — само представление об элементе в списке
  • Метод GetView показывает загрузку представления каждого элемента. Сначала мы указываем, какой ресурс для отображения будем использовать, а затем находим элементы управления и устанавливаем значения
  • Получаем объект, который выбрали для этого View. Устанавливаем значения
6. Так как в списке будет отображаться только самая общая информация, пользователю может быть интересно узнать детали по каждому элементу в списке. Для этого мы обрабатываем нажатие на элемент в списке. Но сначала определим, каким образом осуществляется навигация в приложении. В Android необходимо создать переменную, которая описывает правила и параметры для вызова новой активности. Обратите внимание, по нажатию на элемент мы будем переходить на другую страницу с информацией. Для этого нужно обработать это нажатие и прописать логику перехода. Делать это мы будем в нашем View внутри адаптера.
  • Устанавливаем слушателя на Click, и между намерениями, прежде чем вызвать его, передаем экземпляр нашего объекта
  • В MainActivity создаем экземпляр для адаптера из списков. ListView можно создать в методе OnCreate и установить для него адаптер
  • Создаем экземпляр адаптера
7. Ранее мы создали и развернули API, который позволяет нам работать с единой базой данных с разных устройств. Давайте выведем в мобильном приложении список отелей. Но сначала эти данные необходимо получить
  • Создаем новый класс, унаследованный от AsyncTask, который будет отвечать за получение и загрузку данных
  • Мы реализуем два метода:
  1. DoingBackground, будет отвечать за загрузку данных
  2. onPostExecute — за их обработу
  • Для обращения к локальному API мы будем переходить по адресу не 127 001, а 10 022 — стандартный для Android
  • Соответственно переходим к обработке данных
  • Добавляем созданный объект в список и обновляем адаптер
  • Вызываем выполнение этого метода при запуске MainActivity
  • Обратите внимание, чтобы работать с интернетом, вам необходимо прописать разрешение на подключение в manifest
8. Попробуем запустить приложение на эмуляторе:
  • Для этого создаем новый эмулятор
  • Выводится список данных. Немного поработаем над версткой, т. к. у нас не совсем корректно выводится рейтинг. Достаточно установить максимальное количество звезд
9. Теперь прописываем логику отображения подробной информации об отеле. И в этом нам поможет Parcelable — переменная, которую мы использовали ранее
  • Переходим в DetailsActivity и выводим данные
  • Запускаем — проверяем
Мы рассмотрели очень важные функции в мобильном приложении: получение данных с помощью API, вывод информации в список, просмотр детальной информации. Это далеко не все, что вам предстоит узнать в мобильной разработке, но уже хорошая основа для последующего изучения.
А теперь предлагаем вам проверить свои знания на практике.
Интерактивное задание
Тест
Для закрепления полученных знаний пройдите тест
Стартуем!
Android Studio. Где в проекте описываются разрешения на доступ к различным функциям?
Дальше
Проверить
Узнать результат
Android Studio. Объект Intent содержит:
Дальше
Проверить
Узнать результат
К сожалению, вы ответили неправильно
Прочитайте лекцию и посмотрите видео еще раз
Пройти еще раз
Неплохо!
Но можно лучше. Прочитайте лекцию и посмотрите видео еще раз
Пройти еще раз
Отлично!
Вы отлично справились. Теперь можете ознакомиться с другими компетенциями
Пройти еще раз