Приготовление блюда – это задача, с которой мы сталкиваемся каждый день. И для многих этот процесс вызывает скорее негативные эмоции. В большинстве своем это связано с тем, что люди видят в этом лишь рутинные однообразные действия. А при поиске новых рецептов появляются сложности с отсутствием требуемых ингредиентов.
За последние годы мобильное производство сделало огромный скачок вперед: теперь почти каждый житель имеет свой собственный смартфон, который у него всегда под рукой. Поэтому наличие рецептов в телефоне, позволило бы людям иметь к ним доступ в любой момент. А удобное мобильное приложение облегчило бы поиск этих рецептов в телефоне. Это послужило мотивацией к созданию приложения для подбора рецептов, для того чтобы приготовление пищи стало приятным времяпрепровождением, как и любое другое занятие.
Цель выпускной квалификационной работы – реализация мобильного приложения с использованием данных, извлеченных созданным поисковым роботом. В качестве предметной области была выбрана реализация мобильной кулинарной книги «Кухни народов мира». Для достижения поставленной цели необходимо решить следующие задачи:
– разработать программный компонент для поиска и сбора рецептов;
– разработать базу данных для хранения собранных рецептов;
– разработать мобильное приложение с удобным пользовательским интерфейсом для поиска и предоставления рецептов пользователю на операционной системе Android. Поиск рецептов в приложении должен быть реализован в соответствии со следующими критериями: по названию блюда, типу кухни и ингредиентам;
– предусмотреть средства реализации личного профиля пользователя для возможности использования приложения с разных мобильных устройств.
Глава 1. ОБЗОР ИСПОЛЬЗУЕМЫХ ИНСТРУМЕНТОВ
ОС Android. Самая распространенная мобильная операционная система, около 80% всех устройств поддерживает эту платформу.
Язык программирования Java. Для разработки приложения использовался язык программирования Java – один из наиболее распространенных языков для создания мобильных приложений.
Android Studio IDE. Официальная интегрированная среда разработки (IDE) для операционной системы Android. Она обеспечивает разработчика всем необходимым для создания мобильного приложения.
Android Virtual Device (AVD). Эмулятор Android позволяет тестировать мобильное приложение на компьютере без подключения телефона. Для отладки своего приложения использовался встроенный в Android Studio эмулятор Nexus 5X FPI 25 (Android 7.1.1), а также реальное физическое устройство – Xiaomi Redmi 3 (Android 5.1.1). При тестировании оказалось, что использование физического мобильного устройства предпочтительнее, так как эмулятор работает очень медленно.
Язык программирования Python. Для настройки поискового робота использовался язык программирования Python – это интерпретируемым языком программирования высокого уровня для программирования общего назначения. Он имеет автоматическое управление памятью и систему динамического типа.
PyCharm IDE. Кросс-платформенная интегрированная среда разработки с полным набором средств для эффективной разработки, созданная специально для языка программирования Python.
ВВЕДЕНИЕ...................................................................................... 3
Глава 1. ОБЗОР ИСПОЛЬЗУЕМЫХ ИНСТРУМЕНТОВ….......... 4
Глава 2. АЛГОРИТМ СБОРА ДАННЫХ....................................... 5
Глава 3. СОЗДАНИЕ БАЗЫ ДАННЫХ....................................... 10
3.1. База данных SQLite.................................................................... 10
3.2. Firebase....................................................................................... 10
Глава 4. РЕАЛИЗАЦИЯ МОБИЛЬНОГО ПРИЛОЖЕНИЯ........... 12
4.1. Подключение SQLite к приложению......................................... 12
4.2. Подключение Firebase к приложению....................................... 13
Глава 5. СОЗДАНИЕ ВИЗУАЛЬНОГО ПРЕДСТАВЛЕНИЯ........ 16
5.1. Создание адаптера..................................................................... 16
5.2. Создание навигационного меню................................................ 17
Глава 6. ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ...................................... 20
ЗАКЛЮЧЕНИЕ................................................................................. 27
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ…............................. 29
ПРИЛОЖЕНИЕ................................................................................. 30
1. Selectors [Электронный ресурс] // Официальная документация Scrapy // URL – https://doc.scrapy.org/en/latest/topics/selectors.html
2. XPath [Электронный ресурс] // Свободная энциклопедия // URL – https://ru.wikipedia.org/wiki/XPath
3. Scrapy Shell [Электронный ресурс] // Официальная документация Scrapy // URL – https://doc.scrapy.org/en/latest/topics/shell.html
4. Firebase Authentication [Электронный ресурс] // Сайт для обучения разработке мобильных приложений // URL – http://www.fandroid.info/en/firebase-autentifikatsiya-polzovatelej-s- pomoshhyu-email-i-parolya-v-android-prilozhenii
5. Firebase Realtime Database [Электронный ресурс] // Официальная документация Firebase // URL – https://firebase.google.com/docs/database/
6. SQLite на Android [Электронный ресурс] // Уроки программирования на Android // URL – http://developer.alexanderklimov.ru/android/sqlite/android-sqlite.php
7. Cursor [Электронный ресурс] // Официальный сайт для разработчиков Android приложений // URL – https://developer.android.com/reference/android/database/Cursor
8. FirebaseUser [Электронный ресурс] // Официальная документация Firebase // URL – https://firebase.google.com/docs/reference/android/com/google/firebase/auth
/FirebaseUser
9. RecyclerView [Электронный ресурс] // Официальный сайт для разработчиков Android приложений // URL – https://developer.android.com/reference/android/support/v7/widget/Recycler View
10. Библиотека Picasso [Электронный ресурс] // Уроки программирования на Android // URL – http://developer.alexanderklimov.ru/android/library/picasso.php
11. Шаблон Navigation Drawer Activity [Электронный ресурс] // Уроки программирования на Android // URL – http://developer.alexanderklimov.ru/android/navigation_drawer_activity.php
12. Интерфейс OnNavigationItemSelectedListener // Официальный сайт для разработчиков Android приложений // URL – https://developer.android.com/reference/android/support/design/widget/Navi gationView.OnNavigationItemSelectedListener
13. Фрагменты [Электронный ресурс] // Уроки программирования на Android // URL – http://developer.alexanderklimov.ru/android/theory/fragments.php