Главная страница

Диплом. Дипломный проект Гелюш Никита Дмитриевич ИС 4 версия 9.2. Разработка приложения Дневник тренировок


Скачать 4.02 Mb.
НазваниеРазработка приложения Дневник тренировок
АнкорДиплом
Дата27.02.2022
Размер4.02 Mb.
Формат файлаdocx
Имя файлаДипломный проект Гелюш Никита Дмитриевич ИС 4 версия 9.2.docx
ТипДиплом
#375761
страница5 из 10
1   2   3   4   5   6   7   8   9   10

1.3 Анализ работы с данными приложения


В мобильных приложениях на Андроид можно хранить большого объема данные в собственной, сокрытых от чужих глаз базы данных. Можно удивиться, как это может быть нужно и, самое главное просто в реализации.

Мобильные приложения становятся основным источником информации с модернизацией веб-приложений. Так из-за наличия хорошего интернет соединения эффективней используются ресурсы смартфона, присутствует гибкая работа с данными. Многие специалисты замечают проблему с допотопными смартфонами, которые ограничены в своих возможностях — отсутствием флеш компонентов, медленная прогрузка контента из-за нагрузки процессора и прочее. Так разработчики не ограничивают себя работой с картами или почтой, так как это удобно выполнять в нативных программах, без использования веб-ресурсов. [27].

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

Все смартфоны Android уже имеют предустановленные база данных библиотек SQLite, так даже без запроса пользователя смарфон может сохранять и проводить обработку поступаемых данных. Для того чтобы разобраться в этом, необходимо разработать приложение, с функцией кэширование данных, которое будет сохранять поступившие данные из сети интернета и кешировать их. После отключения сохранённые данные приложение сможет работать без подключения интернет. Так в приложении «Дневник тренировок» будет решена одна из многих проблем с постоянным подключением к интернету. Загруженная БД из интернета позволит пользователю просматривать всю необходимую информацию, которая была загружена на телефон. В том виде, которая была на последний момент подключения к интернету, как только БД достаточно обновиться приложение будет запрашивать разрешение на её обновления. [28]

SQLite — малообъёмный framework, задействует максимум возможностей смартфона для использования SQL, но так же — аккуратно растрачивает ресурсы телефона. Недостатки SQLite очевидны: разработчик не сможет использовать индексы LIKE-запросы, присутствует ограничение на объём базы данных. Допустим у пользователя недостаточно большой объем памяти на смартфоне, SQLite, позволит решить эту проблему, загружая часть БД, которая непосредственно в данный момент нужна пользователю. Что позволяет не нагружать телефон излишней информацией. [7 с. 29, 145 с. 30].

Стоит отменить, что правильно выводимый контент обязателен: в принципе, БД абсолютно всё равно, что кешировать и зачем. Тем не менее, хранение в БД всей информации приложения приведёт к нагрузке слабых смартфонов: например единичное сохранение тренировоки или отметки о состоянии здоровья в разделе Activity, наиболее подходящим решением будет использование SharedPreferences. Все большие системы БД созданы для хранения большого объема структурированной информации: каталога тренировок, списка задач и упражнений, новостных блоков от тренеров и так далее.


1.3.1 Выбор языка программирования для приложения


Есть по крайне мере 7 языков программирования, которые пользуются популярностью среди Android разработчиков. Как показали недавние исследования «GeekBrains» (2017 год), Система Android установлена на 67% мобильных устройств. [31].

  1. Java – язык программирования Java является официальным языком Android. Так, например, большая часть информации для образования, все интернет-сайты являются базой этого языка. Java является одним из самых популярных языков программирования по «TIOBE», второе место занимает по количеству готовых решений на GitHub. Благодаря языку Java сейчас популярна Android-разработка. Пусть изучения Java будет непросто, разрабатывать приложения проще на современных языках, но — успешность разработки приложения зависит от основ, которые есть в Java, нельзя написать приложение на Android, не изучая Java. Так же самое большое количество готовый решений демонстрирует именно язык программирования Java. [32].

  2. С# - один из самых простых для освоения языков программирования, основным направлением является продукция Microsoft, стоит отметить, что C# действительно хорош для программирования. Это прекрасный язык, вобравший в себя все положительные моменты от Java, при всём этом улучшив свой функционал и исправляя ошибки предшественника. [33].

  3. Python – язык программирования который не поддерживается Android, но использование Python для создания нативных приложений является возможным. Целое сообщество этого языка программирования разработали множество инструментов, позволяющих скомпилировать код на Python для Android. [34].

  4. Kotlin – недооценённый язык программирования, почему Kotlin сам по себе отличный язык? Потому что в связке с Java он лучше всех прочих. Появившись среди язык программирования всего несколько лет назад (2017 год), Kotlin очень быстро завоевывает сердца разработчиков по всему миру практически полным отсутствием недостатков. Но нельзя отметить его недостатки, среди огромнейшего количества плюсов. Есть и недостатки, например готовые решения для начинающих разработчиков практически отсутствуют. [35].

  5. Языки веб-программирования – стандартный языковой набор специалиста в веб: HTML, CSS и JavaScript. Не зная эти 3 языка, подход и понимание в разработке приложений будет достаточно узкой направленности. Если разработчик непосредственно веба в будущей работе касаться не хочет, то мультитасковые приложений вряд ли получиться переступить. [36]

  6. Lua — язык программирования, который старше Java, намного лучше используется в играх чем в простых приложениях, но всё равно востребованный. Создания программной прослойки между движком и оболочкой игры открыло перед Lua двери в мир игр для смартфонов. [37].

  7. С/С++ –язык программирования предоставляет две среди разработки: SDK, предназначенная для работы с Java, и NDK, где нативными языками являются C/C++. [38].

1.3.2 Среда разработки для приложения


Android Studio – среда разработки, разработанная в мае 2017 года. Одной из самых первых публичных версий можно было начать пользоваться в 2013 году. IDE находилась в общем доступе при версии 0.1, в стадию бета-тестирования перешла в июне 2014 года версия СР была 0.8, новые функции которая открыла «Android Studio» ссылаясь на официальную информацию:

  • Новые возможности редактор для прототипа: WYSIWYG, способность работать с UI компонентами при помощи Drag-and-Drop, функция заключалась в возможности предпросмотра макета на предустановленных конфигураций смартфонов.

  • Сборка приложений, основанная на Gradle.

  • Можно создавать множество видов и генераций .apk файлов

  • Рефакторинг кода.

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

  • Встроенный ProGuard и утилита для подписывания приложений.

  • Шаблоны основных макетов и компонентов Android.

  • Поддержка разработки приложений для Android Wear и Android TV.

  • Встроенная поддержка Google Cloud Platform, которая включает в себя интеграцию с сервисами Google Cloud Messaging и App Engine.

  • 4.0 Canary 1 поддерживает Android N Preview SDK, а это значит, что разработчики начинают работу по созданию приложения с использованием мультитаска (возможность использовать на ПК).

  • Новая версия Android Studio 4.0 способна работать с обновленным компилятором Jack, а также получила улучшенную поддержку Java 8 и усовершенствованную функцию Instant Run.

  • Начиная с Platform-tools 23.1.0 для Linux исключительно 64-разрядная.

  • В Android Studio будут по стандарту включены инструменты языка Kotlin основанные на JetBrains IDE. [39].

1.3.3 Автоматизация приложения


Современные фреймы в БД могут выводить результаты и достижений пользователей из приложения в общую статистику для просмотра общего рейтинга тренирующихся в приложении «Дневник тренировок». Автоматизация для такого нативного приложения очень важна, если пользователи действительно увлечены соревнованиями и результатами тренировок. Так общая мотивированность и желание юзера использовать приложения снова не будет уменьшаться. [40].

Проведенный анализ для автоматизации приложения считаются успешными. «Дневник тренировок» получает значительные улучшения:

  1. Анализ тренировок;

  2. Подбор правильного веса спортивного снаряда;

  3. Возможность соревнований между пользователями;

  4. Ведение прогресса тренировки;

  5. Консультации тренеров.

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

  1. реализация системы «соревнования пользователей», системы нет в других приложениях, что позволит приложению стать популярным среди активных пользователей;

  2. запись достижений тренировки, проблема подвергается улучшению, в которой пользователь с начала выполнения тренировки отдаёт распоряжение приложению на сохранение в БД прошедших тренировок;

  3. отслеживания и анализ результатов тренировок, проблема, в которой если вы уже занимались с другим приложением, есть возможность перенести данные и сводить их с данными которые есть в нашем приложении;

  4. калькулятор настройки тренировки, планирование тренировки не всегда безопасно для здоровья, поэтому расчетный калькулятор на основе формулы Матту Бржики, способствует помощи пользователю с безопасным выбором веса снарядов и кол-ва повторений. [41]

Детальное рассмотрение «соревнований пользователей» подразумевает ведение топов в рейтинге. Для чего потребуется иерархическая БД на основе MySQL, где можно в удобной форме просматривать полученные данные от пользователя. Но появляется следующая проблема, для загрузки данных требуется подключение к сети интернет, но для большинства пользователей это будет не актуально в наше время. Решение проблемы при отсутствие интернета следующие, необходимо загрузить актуальные данные рейтинга на смартфон. При обновлении рейтинга таким образом, кэш автоматически будет удаляться, заменяясь новыми данными.

Прогресс на тренировках всегда волновал пользователей, и в приложении «Дневник тренировок» будет осуществляться сравнение каждой тренировки для её анализа, где будет просматриваться информация о прогрессе или регрессе пользователя.
1   2   3   4   5   6   7   8   9   10


написать администратору сайта