Разработка мобильного приложения для просмотра документов из облачного хранилища
Изучение операционной системы Android как целевой платформы и средств разработки приложений для нее. Разработка баз данных на основе фреймворка Xamarin и Android Studio и интерфейса. Описание особенностей взаимодействия программы с сервером приложения.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.08.2018 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное агентство связи
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Поволжский государственный университет телекоммуникаций и информатики»
Факультет Информационных систем и технологий
Направление Информатика и вычислительная техника (специальность)
Кафедра Программного обеспечения и управления в технических системах
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
(БАКАЛАВРСКАЯ РАБОТА)
Разработка мобильного приложения для просмотра документов из облачного хранилища
Руководитель
доцент к.т.н.
Е.М.Мезенцева
Разработал ПО-42у
Д.Ю. Поступайло
Самара 2017
Федеральное агентство связи
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Поволжский государственный университет телекоммуникаций и информатики»
ЗАДАНИЕ
по подготовке выпускной квалификационной работы
Студента Поступайло Дмитрия Юрьевича
1 Тема ВКР Разработка мобильного приложения для просмотра документов из облачного хранилища
Утверждена приказом по университету от 03.04.17 № 74-2
2 Срок сдачи студентом законченной ВКР 14.06.17
3 Исходные данные и постановка задачи
4. Исходные данные и постановка задачи
1)спроектировать интерфейс и схему взаимодействия компонентов
2) реализовать связь с облачным хранилищем
3) реализовать просмотр документов
4) сделать заключение.
4 Перечень подлежащих разработке в ВКР вопросов или краткое содержание ВКР. Сроки исполнения 25.04.17
1) основы разработки для Android
2) описание инструментов разработки
3) описание предметной области
4) описание инструментов эмулирования платформы Android
5) разработка мобильного приложения
5 Перечень графического материала. Сроки исполнения 25.05.17
1) презентационный материал.
6 Дата выдачи задания « 04 » апреля 2017 г.
Кафедра Программного обеспечения и управления в технических системах
Утверждаю зав.кафедрой д.т.н., проф. 05.04.17 В.Н. Тарасов
Руководитель доцент к.т.н. 05.04.17 Е.М. Мезенцева
Задание принял к исполнению ПО-42у 05.04.17 Д.Ю.Поступайло
Федеральное агентство связи
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Поволжский государственный университет телекоммуникаций и информатики»
ПОКАЗАТЕЛИ КАЧЕСТВА ВКР
По ВКР студента Поступайло Дмитрия Юрьевича
На тему Разработка мобильного приложения для просмотра документов из облачного хранилища
1 Работа выполнена:
- по теме, предложенной студентом
- по заявке предприятия наименование предприятия
- в области фундаментальных и поисковых научных исследований указать область исследований
2 Результаты ВКР:
- рекомендованы к опубликованию указать где
- рекомендованы к внедрению указать где
- внедрены акт внедрения
3 ВКР имеет практическую ценность
Разработанно мобильное приложение для просмотра документов из облачного хранилища___________________________ в чем заключается практическая ценность
4 Использование ЭВМ при выполнении ВКР: (ПО, компьютерное моделирование, компьютерная обработка данных и др.) Xamarin Framework, Visual Studio 2015, Genymotion
5. ВКР прошла проверку на объем заимствований ? 21% заимствований
Студент ПО-42у Д.Ю.Поступайло
Руководитель ВКР доцент к.т.н. Е.М.Мезенцева
Федеральное агентство связи
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Поволжский государственный университет телекоммуникаций и информатики»
РЕФЕРАТ
Название Разработка мобильного приложения для просмотра документов из облачного хранилища
Автор Поступайло Дмитрий Юрьевич
Научный руководитель Мезенцева Екатерина Михайловна
Ключевые слова Мобильное приложение, Xamarin. C#.
Дата публикации 2017
Библиографическое описание Поступайло Д.Ю. Разработка мобильного приложения для просмотра документов из облачного хранилища [Текст]: бакалаврская работа / Д.Ю.Поступайло. Поволжский государственный университет телекоммуникации и информатики (ПГУТИ). Факультет очного отделения (ФОО) Информатика и Вычислительная Техника (ИВТ): науч. рук. Е.М.Мезенцева-Самара. 2017.
Аннотация Бакалаврская работа заключается в создании мобильного приложения, предоставляющего доступ к документам, хранящимся на облачном хранилище.
Руководитель ВКР ________________ Е.М.Мезенцева
Введение
В современном мире человек становится все более мобильным и коммуникабельным. С каждым днем он все больше развивается, познает и открывает. В связи с этим выдвигаются все более сложные требования к современным приложениям и их функциям. Накопленные знания необходимо хранить, получать к ним моментальный доступ и иметь возможность поделиться ими с интересующимися людьми. Благодаря такому развитию мобильные устройства все больше входят в жизнь человека и становятся неотъемлемой его частью. В связи с этим к ним выдвигаются требования, такие как доступность, надежность, дружелюбность к пользователю.
С появлением и развитием мобильных платформ появилась необходимость разрабатывать под них приложения, удовлетворяющие требованиям пользователей. На данный момент многое достигнуто в плане разработки приложений под мобильные устройства. Программных сред для разработки мобильных приложений становится все больше и они активно развиваются. Многие передовые компании, такие как Microsoft, Google создают собственные инструменты и внедряют технологии в мир мобильных устройств.
С помощью таких программных сред разрабатывается большое количество приложений, которые позволяют решать многие задачи, выполнение которых несколько лет назад требовало присутствия рядом с персональным компьютером. Такие задачи могут включать в себя работу с электронной почтой, поиск информации в интернете, общение через сервисы мгновенного обмена сообщениями, доступ к социальным сетям и т.д. Помимо самого распространения мобильных платформ как таковых наблюдается рост рынка разработки под мобильные устройства. Приложения разрабатываются для совершенно разных задач: GPS-навигация, работа с текстом, интернет-обозреватели.
Одной из самых популярных областей развития технологий, в том числе и для мобильных платформ являются облачные технологии хранения и обработки информации.
Актуальность темы «Разработка мобильного приложения для просмотра документов из облачного хранилища» определило все вышесказанное.
Целью данной выпускной квалификационной работы является разработка мобильного приложения на платформу Android для доступа к документам, хранящимся на удаленном хранилище. Приложение будет предоставлять доступ к облачному хранилищу, такому как google drive. Также доступ к документам, хранящимся на локальном устройстве и возможность обмена документами устройства с облачным хранилищем.
Для решения поставленной цели необходимо проанализировать предметную область и определиться с функциями, которые необходимо реализовать в разрабатываемом приложении. После этого необходимо выбрать инструменты разработки. Затем следует приступить к проектированию и разработке приложения.
Объектом исследования выступают мобильные приложения для платформы Android.
Предметом исследования является разработка мобильного приложения для платформы Android для просмотра документов с облачного хранилища.
Выпускная квалификационная работа состоит из введения, основной части и заключения. Во введении обосновывается актуальность работы, цель, задачи, объект и предмет исследования. В основной части рассматривается предметная область, проводится обзор технологий и инструментов со вспомогательными средствами, а также описывается архитектура приложения и процесс разработки.
В рамках работы была изучена литература таких авторов как Рихтер Дж. и Буч Г., а также техническая документация по языку С#, операционной системе Android и написанию приложений для нее, по фреймворку Xamarin и Android Studio, а также по системе управления базами данных SQLite.
Бакалаврская работа состоит из введения, основной части, заключения, списка литературы и приложений.
Основная часть содержит три главы. В первой главе рассматривается операционная система Android как целевая платформа и средства разработки приложений для нее. Во второй главе описываются выбранные средства разработки. В третьей главе процесс разработки базы данных, интерфейса и взаимодействие с сервером приложения.
В заключении представлены основные выводы по проделанной работе и результаты. сервер интерфейс приложение аndroid
Приложения содержат исходный код программы (Приложение A), презентационный материал (Приложение Б).
1. Теоретическая часть
Обзор мобильной операционной системы Android
Операционная система Android предназначена для мобильных устройств, таки х как планшеты, смартфоны, электронные книги и так далее. В качестве основы данной ОС было использовано ядро Linux и собственная реализация Java Virtual Mashine от Google. Разработчиком Android изначально была компания Android inc., впоследствии выкупленная Google. Впоследствии разработкой и развитием данной ОС занималась компания Open Handset Alliance (OHA), анонсированная Google. Android позволяет создавать Java - приложения, управляющие устройством через разработанные Google библиотеки. Android Native Development Kit позволяет портировать библиотеки и компоненты приложений, написанные на Си и других языках [1].
Операционная система Android является открытой платформой. Это означает, что она не привязана к одному производителю оборудования или провайдеру. Открытость платформы позволяет Android быстро завоевывать рынок. Все производители оборудования и провайдеры могут изготавливать и продавать устройства Android. Исходный код Android находится по адресу http://source.android.com и доступен для просмотра и модификации каждым желающим. Ничто не запрещает вам изучить исходный код, чтобы проанализировать, как решается интересующая вас задача. Открытость исходного кода позволяет производителям мобильных телефонов создавать для своих устройств удобные пользовательские интерфейсы и встраивать в них любые средства. Это ставит всех разработчиков в одинаковые конкурентные условия. Разработку приложений для Android можно вести на языке Java (не ниже Java 1.5). Существует плагин для Eclipse -- Android Development Tools (ADT), предназначенный для Eclipse версий 3.3--3.7. Также существует плагин для IntelliJ IDEA, облегчающий разработку Android-приложений, и для среды разработки NetBeans IDE, который, начиная с версии NetBeans 7.0, перестал быть экспериментальным, хоть пока и не является официальным. Кроме того, существует Motodev Studio for Android -- комплексная среда разработки на базе Eclipse, позволяющая работать непосредственно с Google SDK.
Oсновные преимущества операционной системы Android:
android проявляет себя лучше одного из своих конкурентов, Apple iOS, в ряде особенностей, таких как веб-сёрфинг, интеграция с сервисами Google и прочих. Также Android, в отличие от iOS, является открытой платформой, что позволяет реализовать на ней больше функций;
несмотря на изначальный запрет на установку программ из «непроверенных источников» (например, с карты памяти), это ограничение отключается штатными средствами в настройках аппарата, что позволяет устанавливать программы на телефоны и планшеты без интернет-подключения, а также позволяет всем желающим бесплатно писать приложения для Android и тестировать на своём аппарате;
android доступен для различных аппаратных платформ, таких как ARM, MIPS, x86;
существуют альтернативные Google Play магазины приложений: Amazon Appstore (англ.), Opera Mobile Store, Yandex.Store, GetUpps!,Mobogenie, F-Droid, 1Mobile Market;
в версии 4.3 введена поддержка многопользовательского режима.
Недостатки
в некоторых Android-устройствах есть сервисы Google, обеспечивающие возможность передачи идентификационной информации на серверы компании, например, информации о перемещении пользователя в реальном времени;
возможность установки программ из «непроверенных источников» способствует пиратству на платформе Android;
в версии Android 1.6 разработчики добавили Native Development Kit, который позволяет писать собственные низкоуровневые модули для системы на языках C/С++, опираясь на стандартные Linux-библиотеки. Хотя, например, стандартная библиотека языка Си на платформе Android, известная как Bionic, как раз не является стандартной и полностью совместимой с libc;
для доступа к Google Play и другим сервисам от Google необходимо использовать проприетарные приложения, которые производитель телефона имеет право устанавливать на телефон только после заключения контракта с Google;
конкуренты Android выступили с критикой платформы, обвиняя её в чрезмерной фрагментации, создающей препятствия разработчикам. Google опровергла все обвинения, заявив, что никаких подобных проблем нет;
подверглось критике решение Google не размещать в широком доступе код Android 3.0 Honeycomb, доступный только для участников Open Handset Alliance или по индивидуальному запросу после подписания соглашения. Google мотивирует это неготовностью платформы и мерой предупреждения небрежной её реализации. Ричард Столлман заявлял, что «всё просто и ясно: за исключением ядра Linux, Android 3 представляет собой несвободный софт» и «несмотря на то, что телефоны с Android на сегодняшний день не так плохи, как смартфоны Apple или Windows, нельзя сказать, что они уважают вашу свободу». В настоящий момент Google открыл исходный код для всех версий Android вплоть до 6.0, а также отправил в Linux все изменения, в соответствии с GPL;
по данным Lookout Security Mobile, за 2011 год у пользователей Android-смартфонов было украдено около миллиона долларов США (напр., отправка СМС без ведома владельца телефона).
Инфраструктура Android
Поверх ядра Linux 2.6 расположена инфраструктура Android, предоставляющая ряд прикладных средств. Большинство этих средств было позаимствовано из многочисленных открытых проектов. Ниже перечислены наиболее важные средства инфраструктуры Android [2].
исполняющая среда Android. Состоит из базовых библиотек Java и виртуальной машины Dalvik;
графическая библиотека. Используется для создания двух- и трехмерной компьютерной графики и представляет собой кроссплатформенную многоязыковую библиотеку API (Application Program Interface -- программный интерфейс приложений);
WebKit. Открытый движок веб-браузера, который отображает на экране содержимое веб-страниц и упрощает их загрузку;
SQLite. Открытая реляционная СУБД, предназначенная для встраивания в портативные устройства;
мультимедийная инфраструктура. Набор библиотек, позволяющих записывать и воспроизводить звук и видео;
SSL (Secure Sockets Layer -- слой безопасных сокетов). Набор библиотек, обеспечивающих безопасность интернет-коммуникаций.
Уровень библиотек
Платформа Android включает набор C/C++ библиотек, используемых различными компонентами ОС. Для разработчиков доступ к функциям этих библиотек реализован через использование Application Framework. Ниже представлены некоторые из них:
1. System C library -- BSD-реализация стандартной системной библиотеки C (libc) для встраиваемых устройств, основанных на Linux;
2. Media Libraries - библиотеки, основанные на PacketVideo`s OpenCORE, предназначенные для поддержки проигрывания и записи популярных аудио- и видео- форматов (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG и т.п.);
3. Surface Manager - менеджер поверхностей управляет доступом к подсистеме отображения 2D- и 3D- графических слоев;
4. LibWebCore - современный движок web-браузера, который предоставляет всю мощь встроенного Android-браузера;
5. SGL - движок для работы с 2D-графикой;
6. 3D libraries - движок для работы с 3D-графикой, основанный на OpenGL ES 1.0 API;
7. FreeType - библиотека, предназначенная для работы со шрифтами;
8. SQLite - мощный легковесный движок для работы с реляционными БД.
Среды разработки
Разработка приложений для мобильных устройств -- это процесс, при котором приложения разрабатываются для небольших портативных устройств, таких как КПК, смартфоны или сотовые телефоны. Эти приложения могут быть предустановлены на устройство в процессе производства, загружены пользователем с помощью различных платформ для распространения ПО или являться веб-приложениями, которые обрабатываются на стороне клиента (JavaScript) или сервера.
Xamarin Framework
Xamarin - фреймворк, предназначенный для разработки под различные мобильные платформы, такие как iOS, Android, Windows Phone, с использованием языка C#. Создание подобного инструмента было основано на простой идее - писать код на хорошо знакомом и любимом языке, с применением привычных языковых особенностей, наподобие LINQ, лямбда-выражений, делегатов, Generic и Async. При этом у вас имеется доступ к возможностям SDK платформы и функциям создания интерфейса, получая на выходе мало отличающееся от нативных приложение, которое так же не уступает им по производительности [3].
Фреймворк состоит из нескольких основных частей:
Xamarin.IOS -- библиотека классов для C#, предоставляющая разработчику доступ к iOS SDK;
Xamarin.Android -- библиотека классов для C#, предоставляющая разработчику доступ к Android SDK;
Компиляторы для iOS и Android;
IDE Xamarin Studio;
Плагин для Visual Studio.
Разработка UI. Xamarin предоставляет возможность при разработке использовать нативные функции средств разработки UI и нативные компоненты интерфейса. Для Android создание UI может происходить непосредственно в коде или же при помощи декларативного подхода с описанием интерфейса в XML. Для iOS это также либо код, либо использование нативных средств проектирования интерфейса -- отдельные xib-файлы или же один большой Storyboard. Редактирование файлов xml с описанием интерфейса происходит в привычной для разработчика среде Visual Studio. Это означает, что нет необходимости использовать дополнительные редакторы.
Переносимость кода. Xamarin является средством кроссплатформенной разработки, то есть код, написанный единожды, запускается на различных платформах. На самом деле все немного не так. Один раз написать и везде использовать можно только код, предназначенный для обработки действий и формирования логики поведения приложения, но в свою очередь, интерфейс необходимо описать для каждой платформы отдельно, то есть код, который отвечает за внешний вид приложения, вам придется написать для каждой платформы отдельно. Это цена за возможность использования нативных механизмов работы с UI. Если разбивать приложение на слои, то получается такая схема:
Data Layer (DL) - Хранилище данных, например, база SqlLite или xml-файлы;
Data Access Layer (DAL) - Обертка над хранилищем для осуществления CRUD-операций;
Business Layer (BL) - Слой, содержащий бизнес-логику приложения;
Service Access Layer (SAL) - Слой, отвечающий за взаимодействие с удаленными сервисами (Rest, Json, WCF);
Application Layer (AL) - содержит код, зависящий от библиотек monotouch.dll или monodroid.dll, другими словами здесь платформозависящий код.
User Interface Layer (UI) - Слой пользовательского интерфейса.
Платформозависимыми являются слои UI и AL. Доля зависимого кода достаточно высока для заявленной кроссплатформенной разработки и составляет примерно 50%. Инженеры Xamarin понимают это и стремятся уменьшить эту долю. В качестве достижений в решении этой проблемы можно рассматривать библиотеку Xamarin.Mobile. В ней содержится API для различных платформ для взаимодействия с камерой, контактами и гео - локацией.
Сторонние компоненты. У Xamarin существует собственный магазин сторонних компонентов Xamarin Components. Он интегрируется в IDE и позволяет в несколько кликов подключать к вашему проекту различные компоненты, написанные как инженерами Xamarin, так и сторонними разработчиками. Есть как платные, так и бесплатные (на данный момент их большинство). Все компоненты можно разделить на две части. Одни предоставляют дополнительные элементы пользовательского интерфейса, другие являются библиотеками классов. Например, вариант для Mono известной библиотеки для работы с Json -- Json.NET или же библиотека для взаимодействия с Rest-сервисами -- RestSharp. Не все компоненты кроссплатформенные, многие доступны только для конкретной платформы. Как я упоминал выше, Xamarin использует механизм биндингов для связывания с нативными библиотеками классов, что позволяет портировать на C# любые нативные библиотеки классов.
Документация и комьюнити. Xamarin имеет достаточно хорошую документацию, открытую, которая содержит краткие руководства и достаточную базу примеров. К сожалению, доступной документации не достаточно, чтобы ответить на все впоросы, возникающие в процессе знакомства с данным инструментом. На этот случай у Xamarin развивается комьюнити разработчиков, по большей части сконцентрированное на StackOverlow. В случае, если не получается найти поддержки и помощи на комьюнити, на помощь может прийти приватная тех. поддержка с инженерами по электронной почте, доступная в business-лицензии. Отвечают, как правило, в течении нескольких часов и не стандартными отписками «попробуйте выключить и включить», а действительно разбираются в проблеме и помогают ее решить.
Среды разработки. В качестве среды разработки разработчик может выбрать между собственной IDE - Xamarin Studio и Visual Studio.
Xamarin Studio -- кроссплатформенная IDE, которая работает на Mac OS X, Linux и на Windows. Выглядит она очень просто и интуитивно понятно, но за внешней простотой скрывается довольно мощный инструмент, включающий в себя множество фич, привычных разработчику из Visual Studio: подсветка синтаксиса;
автодополнение кода;
универсальный расширенный поиск по файлам и содержимому файлов;
развитая навигация по проекту;
различные механизмы рефакторинга и быстрая система подсказок;
развитые возможности дебага, включая визуализацию данных и потоков, вывод значения переменной при наведении на нее;
встроенная интеграция с системами контроля версий: SVN, Git и TFS;
В процессе эксплуатации данного инструмента выявилось несколько негативных моментов:
не всегда срабатывали горячие клавиши:
иногда проект переставал компилироваться, помогал перезапуск студии.
В заключении о данном инструменте стоит отметить, что очень часто выходят обновления. На рис. 1.1 представлен пример интерфейса окна Xamarin Studio.
Рис. 1.1 - Пример интерфейса окна Xamarin Studio
Visual Studio. Также Xamarin предлагает использовать привычный для разработчика инструмент - Visual Studio, на который ставится специальный плагин. Плюсы такого подхода очевидны: разработчик начинает разрабатывать мобильные приложения, не меняя привычных ему инструментов, и имея возможность использовать все те же инструменты и плагины, что использовали ранее, например ReSharper. Плюс ко всему этому в студию встраивается стандартный эмулятор платформ, на котором можно отлаживать разрабатываемые приложения. При этом сам процесс отладки, расстановка брейкпоинтов и т.д. будет происходить в Visual Studio.
Также для эмуляции платформ можно использовать различные сторонние инструменты, которые очень просто интегрируются с Visual Studio и работают гораздо быстрее и эффективней эмуляторов, предлагаемых Visual Studio.
Немного и минусах, замеченных во время использования Xamarin в Visual Studio. Иногда возникали проблемы с отладкой, а именно студия зависала на неопределенное время и возникала необходимость перезагружать саму Visual Studio, после чего проблема исчезала. Также были замечены недостатки в работе эмуляторов мобильных платформ, предлагаемых Visual Studio, а именно на процессоре AMD эмулятор попросту не запускался и возникала необходимость ставить сторонние эмуляторы. Проблема решалась очень просто - установить сторонний эмулятор и запустить его, Visual Studio сама определяла запущенные эмуляторы на компьютере и предлагала их использовать в качестве средства для отладки приложения. На рис. 1.2 представлен пример интерфейса окна Visual Studio 2015.
Рис. 1.2 - Пример интерфейса окна Visual Studio 2015
Android Studio
Android Studio - среда разработки под платформу Android, на языке Java. В качестве основы была взята IntelliJ IDEA. IntelliJ IDEA -- интегрированная среда разработки программного обеспечения на многих языках программирования, в частности Java, JavaScript, Python, разработанная компанией JetBrains [2]. По сравнению с другими средами IDE среда IDEA обеспечивает высококлассную комплексную поддержку новейших технологий Java и последних усовершенствований стандартов Java. Это первая бесплатная среда IDE, поддерживающая JDK 8, JDK 7, Java EE 7. IDEA очень хорошо поддерживает работу фреймворков Spring, Hibernate, а также поддерживает различные системы сборки. Дополнительно ко всем возможностям, ожидаемым от IntelliJ, в Android Studio реализованы:
гибкая система сборки на основе Gradle;
быстрый и многофункциональный эмулятор;
единая среда, в которой вы можете разрабатывать для всех Android-устройств;
мгновенный запуск для изменения изменений в рабочем приложении без создания нового APK;
шаблоны кода и интеграция GitHub, чтобы помочь вам создавать общие функции приложения и импортировать пример кода;
обширные инструменты и средства тестирования;
инструменты Lint для отслеживания производительности, удобства использования, совместимости версий и других проблем;
поддержка C ++ и NDK;
встроенная поддержка облачной платформы Google, что позволяет легко интегрировать Google Cloud Messaging и App Engine.
Android Studio обладает большим набором функционала, предназначенного для упрощения жизни разработчика и быстрого решения поставленных задач. Ниже описаны некоторые из них.
Панель инструментов позволяет выполнять широкий спектр действий, включая запуск приложения и запуск инструментов Android.
Навигационная панель помогает вам перемещаться по вашему проекту и открывать файлы для редактирования. Он обеспечивает более компактный вид структуры, видимой в окне проекта.
В окне редактора вы создаете и изменяете код. В зависимости от текущего типа файла редактор может измениться. Например, при просмотре файла макета в редакторе отображается Редактор макетов.
Панель инструментов работает вокруг внешней области окна IDE и содержит кнопки, которые позволяют вам разворачивать или сворачивать отдельные окна инструментов. Окна инструментов предоставляют вам доступ к определенным задачам, таким как управление проектами, поиск, контроль версий и многое другое. Вы можете развернуть их и свернуть. Строка состояния отображает статус вашего проекта и самой IDE, а также любые предупреждения или сообщения. Вы можете организовать главное окно, чтобы получить больше места на экране, скрыв или перемещая панели инструментов и окна инструментов. Вы также можете использовать быстрые клавиши для доступа к большинству функций IDE.
В любое время вы можете искать по своему исходному коду, базам данных, действиям, элементам пользовательского интерфейса и т. Д., Дважды нажав клавишу Shift или щелкнув увеличительное стекло в правом верхнем углу Android Studio окно. Это может быть очень полезно, если, например, вы пытаетесь найти конкретное действие среды IDE, которое вы забыли, как запустить.
Системы контроля версий. Android Studio поддерживает различные системы управления версиями (VCS), включая Git, GitHub, CVS, Mercurial, Subversion и Google Cloud Source Repositories.
Сборка приложения. Для сборки приложений Android Studio использует Gradle, с дополнительными возможностями Android, предоставляемыми плагином Android для Gradle. Эта система сборки работает как интегрированный инструмент из меню Android Studio и независимо от командной строки. Вы можете использовать функции системы сборки, чтобы сделать следующее:
Также в Android Studio имеется встроенный эмулятор платформы Android для отладки приложений.
Документация и комьюнити. Подобно Xamarin, Android Studio обладает достаточно развитым комьюнити. Также в свободном доступе имеется большое количество профессиональной документации с подробным описанием функций и процессов разработки. Так как основой Android Studio является Intelij IDEA, для ознакомления со средой разработки, частично, можно пользоваться документацией по Intellij IDEA. На рис. 1.3 представлен пример интерфейса окна Android Studio.
Рис. 1.3 - Пример интерфейса окна Android Studio
Выбор языка программирования
Не меньшим значением, по сравнению с выбором среды разработки, обладает и выбор языка программирования. Хоть язык и определяется выбранной средой, далее рассмотрены языки программирования, используемые в выбранных инструментах разработки.
C# и Java - объектно - ориентированные языки программирования, предназначенные для написания больших проектов, таких как корпоративные порталы, сайты, web - сервисы и так далее. Оба имеют обширные библиотеки, которые могут использоваться для создания приложений для настольных компьютеров, веб-приложений, мобильных устройств и других платформ. У обоих есть большие сообщества восторженных поклонников, и много онлайн-поддержки [4][5].
С таким количеством общего выбора правильный язык требует более тонкого подхода. Давайте подробнее рассмотрим сходства и различия между C # и Java.
Что такое C#. C # - это язык программирования общего назначения, который впервые появился в 2000 году в рамках инициативы Microsoft .NET. Он был разработан для общей языковой инфраструктуры (CLI) - открытой спецификации, разработанной Microsoft и стандартизованной ISO и ECMA. Приложения C # скомпилированы в байт-код, который может запускаться при реализации CLI.
Что такое java. Java, первоначально выпущенный Sun Microsystems в 1995 году, является языком программирования общего назначения, который был разработан с конкретной целью, позволяющей разработчикам «писать раз и запускать в любом месте». Java-приложения скомпилированы в байт-код, который может запускаться при реализации виртуальной машины Java (JVM). Подобно CLI, JVM помогает преодолеть разрыв между исходным кодом и 1s и 0, которые компьютер понимает.
C# и java: основные соответствия. Истоки как Java, так и C # тесно связаны с переходом от низкоуровневых языков программирования, таких как языки программирования C ++ и более высокого уровня, которые скомпилируются в байт-код, который можно запустить на виртуальной машине. Это связано с рядом преимуществ, в первую очередь с возможностью написания кода для чтения человеком, который может работать на любой аппаратной архитектуре, на которой установлена ??виртуальная машина. Синтаксические причуды в сторону, неудивительно, как похожи эти два языка с точки зрения верхнего уровня разработчика приложения. Вот несколько основных сходств между C # и Java:
Type-Safe. Ошибка типа возникает, когда тип данных одного объекта ошибочно назначается другому объекту, создавая непреднамеренные побочные эффекты. Как C #, так и Java прикладывают все усилия для того, чтобы во время компиляции были обнаружены незаконные роли, а исключения будут исключены во время выполнения, если приведение не может быть применено к новому типу.
Вывоз мусора. На языках более низкого уровня управление памятью может быть утомительным, потому что вы должны помнить, что нужно правильно удалять новые объекты, чтобы освободить ресурсы. Это не так на C # и Java, где встроенная сборка мусора помогает предотвратить утечку памяти путем удаления объектов, которые больше не используются приложением. В то время как утечки памяти все еще могут возникать, основы управления памятью уже позаботились о вас.
Единственное наследование. Оба C # и Java поддерживают одно наследование - это означает, что только один путь существует из любого базового класса в любой из его производных классов. Это ограничивает непреднамеренные побочные эффекты, которые могут возникать при наличии нескольких путей между несколькими базовыми классами и производными классами. Диаграмма алмаза - пример учебника этой проблемы.
Интерфейсы. Интерфейс представляет собой абстрактный класс, где все методы абстрактны. Абстрактным методом является тот, который объявлен, но не содержит подробностей его реализации. Код, определяющий любые методы или свойства, определенные интерфейсом, должен предоставляться классом, который его реализует. Это помогает избежать двусмысленности шаблона алмаза, поскольку всегда ясно, какой базовый класс реализует данный производный класс во время выполнения. Результатом является чистая иерархия линейных классов единого наследования в сочетании с некоторой универсальностью множественного наследования. Фактически, использование абстрактных классов является одним из способов множественного наследования языков, которые могут преодолеть алмазный узор.
C # и java: основные различия. Подобно двум языкам с точки зрения цели, важно помнить, что C # берет свое начало в стремлении Microsoft иметь собственный собственный «Java-подобный» язык для платформы .NET. Поскольку C # не создавался в вакууме, новые функции были добавлены и настроены для решения проблем, с которыми сталкивались разработчики Microsoft, когда они изначально пытались создать свою платформу на Visual J ++. В то же время сообщество Java с открытым исходным кодом продолжало расти, и между этими двумя языками развивалась гонка технических вооружений. Это некоторые из основных различий между C # и Java.
Поддержка дженериков. Generics улучшает проверку типов с помощью компилятора, в основном, удаляя отливки из исходного кода. В Java генерические средства реализуются с использованием стираний. Параметры общего типа «стираются», а при компиляции в байт-код добавляются приведения. C # также использует обобщения, интегрируя его в CLI и позволяя получать информацию о типе во время выполнения, что дает небольшое увеличение производительности.
Поддержка делегатов (указателей). В C # есть делегаты, которые по существу служат в качестве методов, которые могут быть вызваны без знания целевого объекта. Чтобы достичь такой же функциональности в Java, вам необходимо использовать интерфейс с помощью одного метода или другого обходного пути, который может потребовать нетривиального количества дополнительного кода, в зависимости от приложения.
Проверенные исключения. Java различает два типа исключений - проверенные и непроверенные. C # выбрал более минималистский подход, только имея один тип исключения. Хотя способность ловить исключения может быть полезна, она также может отрицательно влиять на масштабируемость и контроль версий.
Полиморфизм: C # и Java используют очень разные подходы к полиморфизму. Хотя Java разрешает полиморфизм по умолчанию, C # должен вызывать «виртуальное» ключевое слово в базовом классе и ключевое слово «переопределить» в производном классе.
Перечисления (перечисления): в C # перечисления представляют собой простые списки именованных констант, где базовый тип должен быть целым. Java принимает перечисление далее, рассматривая его как именованный экземпляр типа, что упрощает добавление пользовательского поведения к отдельным перечислениям.
И вот мы подошли к вопросу, когда же нужно использовать C#, а когда java будет незаменима. Но, выбор во многом зависит только от разработчика, его предпочтений и интересов, в таком случае язык, который вы в конечном итоге решите использовать, будет во многом зависеть от платформы, которую вы выбрали для своего проекта. Сегодня C # используется в основном для реализации .NET Framework, Mono и Portable.NET CLI. Если ваше программное обеспечение или веб-приложение создаются для Windows, C # будет работать лучше всего с набором технологий .NET.
Тем не менее, если вы хотите разработать для Unix, Linux или других платформ за пределами платформы Microsoft, лучший вариант с открытым исходным кодом Java - лучший выбор. Сообщество постоянно создает новые библиотеки и инструменты. Появились новые мощные языки, такие как Scala, Clojure и Groovy, все основанные на JVM. Также не больно, что большинство реализаций JVM являются open-source и бесплатными. Java также является основным языком, который использует Google для разработки Android, которая в настоящее время является самой большой мобильной операционной системой в мире.
Нужно понимать, что оба языка достаточно мощные и популярные, позволяют решить большой объем задач. В рамках данной выпускной квалификационной работы выбран язык C#, потому что он является основным языком для разработчика, а также Xamarin использует его в качестве основного.
2. Структура программы
При разработке структуры программы были учтены все возможные функции, которые могут понадобиться пользователю при работе с данным мобильным приложением. Приведенная ниже структура наглядно показывает взаимодействие всех компонентов приложения [6]. На рис. 2.1 представлена структура взаимодействия основных компонентов приложения, таких как Activity.
Рис. 2.1 - Структурная схема приложения.
Activity - это компонент приложения, который выдает экран, и с которым пользователи могут взаимодействовать для выполнения каких-либо действий, например набрать номер телефона, сделать фото, отправить письмо или просмотреть карту. Каждой операции присваивается окно для прорисовки соответствующего пользовательского интерфейса. Обычно окно отображается во весь экран, однако его размер может быть меньше, и оно может размещаться поверх других окон.
Как видно из представленной структуры - входной точкой приложения является Main Activity, которое в свою очередь предоставляет выбор перейти на страницу регистрации (Registration Activity), либо авторизации (Login Activity). Со страницы авторизации имеется возможность перейти на страницу восстановления пароля (Restore Password Activity), на случай, если пользователь забыл его. После прохождения авторизации пользователь попадает на страницу, позволяющую работать с документами (Documents Activity). По умолчанию открывается страница с последними открытыми документами (Recent Documents Activity), на которой пользователь видит все документы, открытые им, отсортированные по дате. Также имеется возможность просмотра всех документов, хранящихся на устройстве, такой функционал предоставляет Local Documents Activity, также с данного activity имеется возможность открыть документ для просмотра и выгрузить документ на удаленное хранилище, в данном приложении используется удаленное хранилище Google Drive. Все компоненты и их описание представлены ниже, также приведены скриншоты интерфейса. Storage Activity предоставляет возможность увидеть, какие документы хранятся на удаленном хранилище. В данном приложении форма документов используется .PDF, в дальнейшем планируется расширение на другие популярные расширения. В добавок к этому Storage Activity имеет возможность загрузить с удаленного хранилища необходимый файл, скриншоты и описание представлены ниже. Страница пользователя (Profile Activity) отображает, а также предоставляет возможность редактировать, информацию о пользователе и данных аккаунта Google Drive. Страница поиска (Search Activity) предназначена для поиска книг на общедоступных ресурсах. Поиск представлен по имени автора и по жанру. Страница About Activity - отображает информацию о приложении.
Проектирование и разработка приложения
Рабочее окружение
Перед началом разработки приложения необходимо определиться с инструментами, а после этого должным образом установить и настроить рабочее окружение.
Для разработки данного мобильного приложения было решено использовать Xamarin Framework на базе Visual Studio 2015 в связи с рядом его преимуществ перед Android Studio. Преимущества, в виду которых был выбран именно этот инструмент:
кроссплатформенная разработка приложений. Для таких платформ, как iOS, Android, Windows Phone. Xamarin позволяет писать один код и использовать его сразу для всех платформ;
возможность использовать привычные инструменты, такие как LINQ, лямбда-выражения, делегаты, Generic и Async;
привычная среда разработки, позволяющая использовать мощные инструменты для авто - корректировки кода и анализа, такого как Resharper;
обширное комьюнити, а также популярность среди разработчиков.
В качестве системы управления версиями выбран Git. Интегрированный в среду разработки Visual Studio 2015, он является отличным инструментом, соответствующим всем требованиям разработчиком.
В качестве эмулятора Android устройства был выбран Genymotion. Он обладает обширным набором платформ и версий Android, позволяя тестировать на различных устройствах разрабатываемое приложение. Без сложностей интегрируется со средой разработки, позволяя запускать приложения на эмулируемых устройствах средствами Visual Studio. На рис. 3.1 представлен интерфейс эмулятора Genymotion.
Рис. 3.1 - Интерфейс эмулятора Genymotion
Рис. 3.2 - Интерфейс платформы Android, запущенной на эмуляторе Genymoion
Разработка требований
Требования к приложению являются описанием функциональных и не функциональных характеристик разрабатываемой программы. Требования должны охватывать все ожидания пользователей и учитывать их интересы [7].
К разрабатываемому приложению предъявлены следующие функциональные требования:
возможность авторизации и регистрации пользователей;
сохранение текущей сессии пользователя;
возможность регистрации и авторизации с помощью социальных сетей, таких как ВКонтакте, facebook, Google+:
возможность редактирования данных пользователя, таких как ФИО, email, аккаунт Google Drive;
возможность просмотра недавно открытых документов, с выводом информации на какой странице остановился пользователь и дата открытия;
возможность просмотра всех документов, хранящихся на локальном устройстве с возможностью выгрузки их на удаленное хранилище;
возможность просмотра документов, хранящихся на удаленном хранилище, в данной работе под удаленным хранилищем понимается Google Drive, а также возможность скачивания документов на устройство;
возможность поиска по общедоступному сервису http://www.goodreads.com/. Поиск осуществлять по имени автора и по жанру искомой книги;
непосредственно просмотр документа, хранящемся на локальном устройстве с сохранением текущего положения прогресса пользователя.
Разработка базы данных
База данных является неотъемлемой частью любого современного приложения. Будь то мобильное приложение, web - сервис или десктопное приложение, предназначенное для обработки каких - либо данных. В качестве базы данных в разрабатываемом приложении решено было выбрать SQLite [8]. Данная БД была выбрана в связи с рядом его положительных качеств:
доступна на любой платформе Android, то нет необходимости устанавливать отдельно, а это значит, что развертывание приложения на устройстве пользователя не вызовет проблем, также это способствует улучшению разработки;
привычный язык, используемый для работы с базой - SQL;
легковесная и не занимающая много место, что крайне важно на мобильном устройстве;
встроенные инструменты и протоколы для работы с SQLite в языке C#.
Ниже приведен пример кода, написанного на языке C# для взаимодействия приложения с базой данных SQLite.
public bool checkUserForLogin(string login, string password)
{
var sataSet = db.Table<User>();
var user = sataSet.Where(x => x.login == login && x.password == password).FirstOrDefault();
var users = sataSet.Where(x => x.id != -1);
foreach (var a in users)
{
var z = a.login + " - " + a.name + " - " + a.password;
}
if (user != null)
{ return true; }
return false;
}
В данном примере приведен метод, который проверяет данные, введенные пользователем при прохождении процедуры авторизации на наличие данных в базе. Если такие не имеются, возвращается false. Данный пример наглядно демонстрирует насколько просто использовать SQLite при разработке мобильного приложения [9].
Для подключения в проект данной БД необходимо всего лишь установить пакет через Nuget Packages и прописать строчки using.
В результате разработки базы данных для разрабатываемого приложения была выбрана структура, представленная на рис. 3.3.
Рис. 3.3 - Схема базы данных
Соответствие сущностей логической и физической модели БД Таблица 1
Сущность |
Таблица |
|
User |
Содержит информацию о пользователях |
|
DocumentsInfo |
Содержит информацию о документах, открытых пользователем |
User Таблица 2
Имя столбца |
Тип |
|
id |
Integer |
|
name |
Text |
|
secondName |
Text |
|
|
Text |
|
login |
Text |
|
password |
Text |
|
google_email |
Text |
|
google_password |
Text |
DocumentsInfo Таблица 3
Имя столбца |
Тип |
|
id |
Integer |
|
nameDocument |
Text |
|
timeOfWatch |
DateTime |
|
onPageStay |
Integer |
|
userId |
Integer |
|
fullPath |
Text |
Разработка интерфейса
Xamarin имеет несколько layout и функций для организации контента на экране. Ниже описывается каждый элемент управления компоновкой, а также сведения о том, как обрабатываются изменения ориентации экрана:
stacklayout - используется для упорядочивания представлений линейно, горизонтально или вертикально. Представления в StackLayout могут быть выровнены по центру, слева или справа от макета;
absolutelayout - используется для упорядочивания представлений путем установки координат и размера с точки зрения абсолютных значений или коэффициентов. AbsoluteLayout можно использовать для просмотра слоев, а также привязывать их влево, вправо или в центр;
relativelayout - используется для упорядочивания представлений путем установки ограничений относительно размеров и положения их родителя;
grid - используется для размещения представлений в сетке. Строки и столбцы могут быть указаны в терминах абсолютных значений или коэффициентов;
scrollview - используется для обеспечения прокрутки, когда представление не может полностью помещаться в пределах экрана;
layoutoptions - определение выравнивания и расширения для представления относительно его родителя;
margin and padding - демонстрирует, как контролировать поведение макета, когда элемент отображается в пользовательском интерфейсе;
device orientation - объясняет, как обрабатывать изменения ориентации устройства.
Элементы управления платформой также могут использоваться непосредственно в макетах Xamarin с Native Embedding, и есть возможность создавать собственные макеты для удовлетворения конкретных требований пользователя.
Xamarin определяет четыре класса макета - StackLayout, AbsoluteLayout, RelativeLayout и Grid, и каждый устраивает дочерние элементы по-разному. Однако иногда необходимо организовать контент страницы, используя макет, который не предоставляется Xamarin. Далее описано, как создается собственный класс макета, и демонстрируется ориентированный на ориентацию класс WrapLayout, который упорядочивает его дочерние элементы по горизонтали по всей странице, а затем переносит отображение последующих дочерних элементов в дополнительные строки.
В Xamarin все классы макета получают из класса Layout<T> и ограничивают общий тип View и его производные типы. В свою очередь, класс Layout <T> происходит из класса Layout, который обеспечивает механизм позиционирования и определения размеров дочерних элементов.
Каждый визуальный элемент отвечает за определение своего собственного предпочтительного размера, который известен как запрошенный размер. Страницы, макет и макет <Вид> производные типы несут ответственность за определение местоположения и размера своего ребенка или детей по отношению к себе. Поэтому макет включает отношения родитель-потомок, где родитель определяет, какими должны быть размеры его дочерних элементов, но будет пытаться удовлетворить запрошенный размер ребенка.
Для более глубокого понимания Xamarin необходимо знать компоновка форм и циклы недействительности. Также они необходимы для создания пользовательского макета. Эти циклы описаны ниже.
Layout начинается в верхней части визуального дерева с помощью страницы, и он проходит через все ветви визуального дерева, чтобы охватить каждый визуальный элемент на странице. Элементы, являющиеся родителями для других элементов, отвечают за определение размеров и размещение своих детей по отношению к самим себе.
Рис. 3.4 - Схема цикла жизни layout
Класс VisualElement определяет метод Measure, который измеряет элемент для операций компоновки, а также метод макета, определяющий прямоугольную область, в которой будет отображаться элемент. При запуске приложения и отображении первой страницы цикл макета, цикл макета включает в себя вначале вызов методов Measure, затем методы Layouts.
Во время цикла компоновки каждый родительский элемент отвечает за вызов метода Measure для его дочерних элементов. После измерения дочерних, каждый родительский элемент отвечает за вызов метода макета для его дочерних элементов.
Этот цикл гарантирует, что каждый визуальный элемент на странице получает вызовы методов измерения и макета. Процесс показан на рис. 3.4:
Каждый класс Xamarin, у которого есть свойство Content или Children, имеет переопределяемый метод LayoutChildren. Пользовательские классы макета, которые вытекают из Layout <View>, должны переопределять этот метод и гарантировать, что методы измерения и макета вызываются во всех дочерних элементах элемента, чтобы обеспечить желаемый пользовательский макет.
Кроме того, каждый класс, который происходит из Layout или Layout <View>, должен переопределять метод OnMeasure, в котором класс макета определяет размер, который должен быть, путем вызова методов Measure его дочерних элементов.
Признание недействительным. Недопустимость - это процесс, посредством которого изменение элемента на странице запускает новый цикл компоновки. Элементы считаются недействительными, когда они больше не имеют правильного размера или позиции. Например, если свойство FontSize Button изменяется, кнопка считается недействительной, поскольку она больше не будет иметь правильный размер. Изменение размера кнопки может иметь эффект пульсации изменений макета через остальную часть страницы.
Элементы недействительны, вызывая метод InvalidateMeasure, как правило, когда свойство элемента изменяется, что может привести к новому размеру элемента. Этот метод запускает событие MeasureInvalidated, которое родитель элемента обрабатывает для запуска нового цикла компоновки.
Класс Layout задает обработчик события MeasureInvalidated для каждого дочернего элемента, добавленного в его свойство Content или Children, и отделяет обработчик при удалении дочернего элемента. Поэтому каждый элемент в дереве визуальных представлений, у которого есть дети, предупреждается, когда один из его детей меняет размер. Следующая диаграмма иллюстрирует, как изменение размера элемента в визуальном дереве может привести к изменениям, которые волнуют дерево, представленное на рис. 3.5:
Рис. 3.5 Схема признания layout и его компонентов недействительным
Разработка компонентов и их взаимодействия
Разработка интерфейса в Xamarin производится на xml подобном языке. Существует несколько способов создать пользовательский интерфейс. Первый - расположить элементы на экране с помощью панели инструментов и визуального редактора, отображающего расположение элементов на странице. Второй - написать xml подобный код, описав все параметры каждого элемента [10]. Для создания интерфейса в разработанном приложении был выбран второй способ. Пример кода представлен ниже.
...Подобные документы
Аналитический обзор ситуации на современном рынке мобильных приложений. Анализ приложений геолокации с социальным функционалом. Разработка мобильного приложения с интерактивной картой детских площадок под различные платформы или операционные системы.
реферат [4,2 M], добавлен 25.12.2015HTC One X как первый коммуникатор компании HTC с четырехъядерным процессором под управлением операционной системы Android 4.0 c интерфейсом HTC Sense 4.0. Обзор операционной системы Android. Диагностика проблем и ремонт микросхем смартфона HTC One X.
курсовая работа [1,9 M], добавлен 23.04.2014Загальні відомості та системні вимоги до ОС Android. Апаратна складова, багатозадачність, інтерфейс користувача. Ініціалізація клієнта Repo. Завантаження дерева Android. Усунення проблем з мережею. Використання локального дзеркала. Перевірка Git тегів.
курсовая работа [2,6 M], добавлен 04.10.2013Разработка клиент-серверного приложения для передачи данных с использованием среды программирования Microsoft Visual Studio 2005. Архитектура клиент/сервер. Сокеты и библиотека WinSock. Разработка системы передачи данных в локальной вычислительной сети.
курсовая работа [479,1 K], добавлен 23.06.2012Построение структурной схемы датчиков и разработка микроконтроллерной системы обеспечения безопасности. Описание интерфейса системы, считывание и обработка данных с помощью сканирования отпечатков пальцев. Использование клавиатуры для ввода пароля.
дипломная работа [3,8 M], добавлен 04.02.2016Анализ уязвимостей технологии радиочастотной идентификации и мобильной операционной системы. Разработка рекомендаций при использовании протоколов, технологий, операционных систем и программного обеспечения для передачи данных с мобильного телефона.
курсовая работа [415,2 K], добавлен 23.09.2013Разработка микропроцессорной системы на основе микроконтроллера. Проектирование аппаратных средств. Характеристика этапов разработки многофункциональных астрономических часов: функциональная схема, алгоритм управления, описание и расчет элементной базы.
дипломная работа [6,9 M], добавлен 14.07.2010- Создание отладочной платы и загрузка в микроконтроллер готовой программы для работы с датчиком цвета
Разработка лабораторного комплекса по созданию сенсорного интерфейса на основе графической платформы Circuit Design Suite. Проектирование электрической схемы и проверка работоспособности устройства. Определение затрат на создание программного продукта.
дипломная работа [3,7 M], добавлен 22.11.2015 Разработка структурной схемы системы и ее описание. Матричная клавиатура AK1604A-WWB. Жидкокристаллический индикатор, часы реального времени. Интерфейс процессора с памятью. Разработка программы для микроконтроллера. Резидентный загрузчик НЕХ202.
курсовая работа [1,0 M], добавлен 01.02.2014Описание примера изготовления простой, многофункциональной роботизированной системы. Выбор комплектующих, платформы, периферийных устройств, сервоприводов и дальномеров. Пример изготовления корпуса и алгоритмы написания программы для управления системой.
курсовая работа [178,4 K], добавлен 27.08.2017Инерциальные системы навигации и существующие пути их реализации. Описание архитектуры приложения для сбора и разметки данных, структура и взаимосвязь компонентов. Основные функции анализатора данных. Искусственные нейронные сети и их назначение.
курсовая работа [1,1 M], добавлен 04.09.2016Принципы работы аналого-цифровых преобразователей. Архитектура микроконтроллера AT90S8535 и его программное обеспечение. Описание интерфейса RS-232. Разработка печатной платы комплекса усиления и оцифровки сигнала. Принципы асинхронной передачи данных.
курсовая работа [2,9 M], добавлен 19.11.2012Порядок описания и разработки структурной и функциональной схемы микропроцессорной системы на основе микроконтроллера К1816ВЕ31. Обоснование выбора элементов, разработка принципиальной схемы данной системы, программы инициализации основных компонентов.
курсовая работа [260,4 K], добавлен 16.12.2010Автоматизация бытовых задач и контроль внутреннего состояния в жилище с помощью мобильного приложения. История развития электронной системы "Умный дом". Модель "черный ящик", состав и структура электронной системы. Структурная схема "Умного дома".
курсовая работа [2,4 M], добавлен 28.09.2023Назначение базы данных и ее основные функции. Категории пользователей, инфологическое и даталогическое проектирование базы данных "Интернет-магазин". Учет специфики предметной области, ограничения и бизнес-правила. Описание пользовательского интерфейса.
курсовая работа [3,3 M], добавлен 30.09.2011Описание объекта и функциональная спецификация. Описание ресурсов МК: расположение выводов; исполнение микроконтроллера; особенности микроконтроллеров. Разработка алгоритмов устройства. Описание функциональных узлов МПС и алгоритма их взаимодействия.
курсовая работа [5,2 M], добавлен 27.12.2009Классификация навигационных систем; телевизионная, оптическая, индукционная и радиационная системы измерения угловых координат. Системы измерения дальности и скорости, поиска и обнаружения. Разработка и реализация системы навигации мобильного робота.
дипломная работа [457,8 K], добавлен 10.06.2010Одноранговые локальные сети и сети с выделенным сервером, их преимущества и недостатки. Сущность технологий обработки информации "файл-сервер" и "клиент-сервер". Понятие экспертной системы и ее основные компоненты. Этапы развития средств разработки ЭС.
контрольная работа [21,3 K], добавлен 09.02.2012Этапы разработки микропроцессорной системы на основе микроконтроллера. Общая характеристика солнечных часов. Разработка схемы, программного обеспечения и алгоритма управления солнечных часов. Технико-экономическое обоснование разработки и охрана труда.
дипломная работа [5,9 M], добавлен 16.07.2010Характеристика пакетов прикладных программ САПР. Изучение особенностей работы SCADA-систем, которые позволяют значительно ускорить процесс создания ПО верхнего уровня. Анализ инструментальной среды разработки приложений сбора данных и управления Genie.
реферат [1,3 M], добавлен 11.06.2010