Тип работы:
Предмет:
Язык работы:


Разработка конструктора моделей электрических цепей для платформы Android

Работа №123893

Тип работы

Магистерская диссертация

Предмет

физика

Объем работы63
Год сдачи2017
Стоимость4865 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
12
Не подходит работа?

Узнай цену на написание


Введение 4
1. Разработка конструктора моделей электрических цепей 6
1.1. Изучение предыдущих работ, связанных с моделями BARSIC 6
1.2. Иерархия классов конструктора 7
1.2.1 Иерархия классов, отвечающих за логику приложения 7
1.2.2 Иерархия классов, отвечающих за графику приложения 9
1.3. Реализация методов, рисующих элементы конструктора, для платформы Android 11
1.4. Вывод графики на экран устройства под управлением ОС Android 14
1.5. Разработка основного класса приложения 15
1.6. Управление элементами конструктора с помощью сенсорных жестов 17
1.7. Отображение графических элементов на разных устройствах 21
Выводы по главе 1 24
2. Сохранение и загрузка конфигураций моделей, созданных конструктором 25
2.1. Формат сохраняемых данных 25
2.2. Сбор списка параметров объектов модели 26
2.3. Воссоздание модели по списку параметров 28
2.4. Сохранение списка параметров в файл на устройстве 31
2.5. Загрузка списка параметров из файла на устройстве 32
2.6. Запуск модели электрических цепей в проигрывателе ABarsicPlayer 34
2.6.1. Краткий обзор проигрывателя ABarsicPlayer 34
2.6.2. Создание класса модели электрических цепей 34
Выводы по главе 2 35
3. Проверка полученных результатов 36
3.1. Проверка работы разработанного конструктора 36
3.2. Проверка правильности расчёта электрических цепей 37
3.3. Проверка сохранения и загрузки списка параметров 38
3.4. Проверка запуска модели электрических цепей в проигрывателе ABarsicPlayer 39
Выводы по главе 3 41
Выводы 42
Литература 43
Приложения 46
Приложение 1. Исходный код класса ConstructorElectric 46
Приложение 2. Исходный код класса ModelElectricView 51
Приложение 3. Исходный код класса ListsOfDevices 56
Приложение 4. Исходный код класса ModelElectric 60


Интернет олимпиада школьников по физике, организованная СПбГУ и НИУ ИТМО, проводится каждый год с 2005/2006 учебного года [1]. Участие в олимпиаде принимают более 20 тысяч учащихся каждый год на протяжении 7 последних лет, включая нынешний 2016/2017 учебный год [2]. Среди участников интернет олимпиады присутствуют учащиеся из стран ближнего и дальнего зарубежья. В 2016/2017 учебном году Интернет-олимпиада школьников по физике получила статус международной [3].
Главное преимущество Интернет-олимпиады школьников по физике перед другими олимпиадами заключается в использовании моделей виртуальных лабораторий, позволяющих участникам демонстрировать не только теоретические знания, но и практические навыки. Данный подход так же позволяет участникам проявить творческие способности, так как большинство моделей построены с учётом того, что прийти к правильному решению можно различными путями.
Для дальнейшего развития интернет-олимпиады необходимо обеспечить работу моделей виртуальных лабораторий на различных устройствах и операционных системах. По данным ресурса StatCounter доля рынка мобильной платформы Android в 2017 году превысила долю рынка ОС Windows (рис. 1) [4]. В связи с растущей популярностью платформы Android было принято решение о необходимости поддержки Интернет-олимпиады школьников по физике на этой платформе.
На настольном компьютере под управлением операционной системы Windows для прохождения интернет-олимпиады необходим проигрыватель BARSIC. Проигрыватель BARSIC – это приложение, позволяющее запускать модели виртуальных лабораторий, созданные на платформе BARSIC. Данное приложение также включает в себя компонент веб-браузера для просмотра текстов заданий и навигации по сайту интернет-олимпиады. Для полноценной работы Интернет-олимпиады школьников по физике на платформе Android необходимо реализовать подобное приложение для данной платформы, а также перенести все необходимые модели виртуальных лабораторий.
На момент написания данной работы уже создан прототип проигрывателя BARSIC для платформы Android. Целью данной работы являлось создание конструктора моделей электрических цепей на платформе Android, являющегося аналогом соответствующего конструктора BARSIC. Для достижения поставленной цели решались следующие задачи:
 Построение иерархии классов конструктора;
 Реализация в электрическом конструкторе Android графического представления всех элементов виртуальной лаборатории, используемых конструктором BARSIC;
 Создание набора компонентов пользовательского интерфейса;
 Обеспечение управления созданными устройствами с помощью сенсорных жестов;
 Реализация сохранения и загрузки конфигураций моделей, созданных конструктором;
 Создание набора параметров модели, созданной конструктором;
 Обеспечение возможности загрузки моделей в проигрывателе BARSIC для платформы Android по набору параметров, заданном на сервере.



Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


• Разработан конструктор моделей электрических цепей для платформы Android, поддерживающий перемещение объектов по графическому компоненту с помощью сенсорных жестов. Задан пользовательский интерфейс конструктора, содержащий необходимые кнопки, поля ввода и вывода. Реализованы методы, вызываемые нажатиями на кнопки.
• Произведена оптимизация конструктора моделей электрических цепей для корректного отображения на различных устройствах под управлением ОС Android. Реализовано масштабирование графического компонента конструктора с помощью жестов «мультитач».
• Произведён краткий анализ различных вариантов представления конфигураций созданных моделей. Был выбран вариант представления, используемый сервером Интернет-олимпиады школьников по физике. Выбранный вариант представления конфигураций не даёт чёткого представления о создаваемой модели без знания внутреннего устройства конструктора, что позволяет скрыть от посторонних глаз параметры устройств.
• Для каждого типа устройств реализован метод, возвращающий информацию об устройстве. Создан метод, собирающий информацию обо всех устройствах модели и возвращающий собранную информацию одной строковой переменной. Создан метод, воссоздающий модель по её конфигурации.
• Созданы методы для сохранения конфигураций моделей в файл и их загрузки из файла на устройстве. Добавлен вывод конфигурации модели в текстовое поле пользовательского интерфейса по нажатию кнопки.
• Создан отдельный класс модели электрических цепей для проигрывателя ABarsicPlayer, в котором удалены все элементы пользовательского интерфейса. Реализован метод, строящий модель по параметрам, переданным проигрывателем ABarsicPlayer с сервера.
• Проверена работа конструктора моделей электрических цепей и всех его основных функций на нескольких устройствах. Создан локальный сервер, на котором проверена работа моделей, запускаемых проигрывателем ABarsicPlayer.



1. Домашняя страница интернет олимпиады школьников по физике [Электронный ресурс] // Интернет олимпиада школьников по физике / СПбГУ, университет ИТМО.
URL: http://distolymp2.spbu.ru/olymp/ (дата доступа: 11.05.2017)
2. Статистические сведения об участниках, победителях и призерах олимпиады 2016/2017 учебного года [Электронный ресурс] // Интернет олимпиада школьников по физике / СПбГУ, университет ИТМО. URL: http://distolymp2.spbu.ru/olymp/2017/2017_stat.pdf
(дата доступа: 11.05.2017)
3. Распоряжение Минобрнауки от 17 марта 2017 г. № Р-130 [Электронный ресурс] // Интернет олимпиада школьников по физике / СПбГУ, университет ИТМО.
URL: http://distolymp2.spbu.ru/olymp/2017/mezhdunar.pdf (дата доступа: 11.05.2017)
4. Operating system market share worldwide [Электронный ресурс] // StatCounter / GlobalStats. URL: http://gs.statcounter.com/os-market-share (дата доступа: 11.05.2017)
5. Фриш В.С. Разработка на языке Java конструктора моделей простых электрических цепей: Бакалаврская работа. СПб: СПбГУ, 2013. – 36 стр.
6. Comparison of Java and Android API [Электронный ресурс] // Wikipedia. URL: https://en.wikipedia.org/wiki/Comparison_of_Java_and_Android_API (дата доступа: 13.05.2017)
7. Difference Between Android and Java [Электронный ресурс] //
Difference Between. URL: http://www.differencebetween.com/difference-between-android-and-vs-java/ (дата доступа: 13.05.2017)
8. User Interface [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/guide/topics/ui/index.html (дата доступа: 13.05.2017)
9. Нейман Л.Р., Демирчян К.С. Теоретические основы электротехники: в 2-х т. Учебник для вузов. Том I. – 3-е изд., перераб. и доп. – Л.: Энергоиздат. Ленингр. отд-ние, 1981. – 536 с., ил.
10. Бессонов Л.А. Теоретические основы электротехники. Электрические цепи. – 9-е изд., перераб. и доп. – М.: «Высшая школа», 1996. – 638 с.
11. Class Graphics [Электронный ресурс] // Java Platform Standard Ed. 7 / Oracle.
URL: https://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html (дата доступа: 14.05.2017)
12. Class Component [Электронный ресурс] // Java Platform Standard Ed. 7 / Oracle.
URL: https://docs.oracle.com/javase/7/docs/api/java/awt/Component.html (дата доступа: 14.05.2017)
13. Canvas [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/android/graphics/Canvas.html (дата доступа: 14.05.2017)
14. Paint [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/android/graphics/Paint.html (дата доступа: 14.05.2017)
15. View [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/android/view/View.html (дата доступа: 14.05.2017)
16. Мартынюк С.А. Разработка компонента графики для виртуальных Java лабораторий по физике на платформе Android: Магистерская диссертация. СПб: СПбГУ, 2016. – 43 стр.
17. ViewGroup [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/android/view/ViewGroup.html (дата доступа: 14.05.2017)
18. LinearLayout [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/android/widget/LinearLayout.html (дата доступа: 14.05.2017)
19. LinearLayout.LayoutParams [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html (дата доступа: 14.05.2017)
20. MotionEvent [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/android/view/MotionEvent.html (дата доступа: 14.05.2017)
21. Display [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/android/view/Display.html (дата доступа: 16.05.2017)
22. WindowManager [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/android/view/WindowManager.html (дата доступа: 16.05.2017)
23. What is Multi-touch? [Электронный ресурс] // Touch Topics. URL: http://solutions.3m.com/wps/portal/3M/en_US/TouchTopics/Home/Terminology/WhatIsMultitouch/ (дата доступа: 16.05.2017)
24. ScaleGestureDetector [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/android/view/ScaleGestureDetector.html (дата доступа: 16.05.2017)
25. ScaleGestureDetector.OnScaleGestureListener [Электронный ресурс] // Android Developers / Google. URL: https://developer.android.com/reference/android/view/ScaleGestureDetector.OnScaleGestureListener.html (дата доступа: 16.05.2017)
26. ScaleGestureDetector.SimpleOnScaleGestureListener [Электронный ресурс] // Android Developers / Google. URL: https://developer.android.com/reference/android/view/ScaleGestureDetector.SimpleOnScaleGestureListener.html (дата доступа: 16.05.2017)
27. Class LinkedHashMap [Электронный ресурс] // Java Platform Standard Ed. 7 / Oracle. URL: https://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html (дата доступа: 19.05.2017)
28. Class TreeMap [Электронный ресурс] // Java Platform Standard Ed. 7 / Oracle.
URL: https://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html (дата доступа: 19.05.2017)
29. Interface Map [Электронный ресурс] // Java Platform Standard Ed. 7 / Oracle.
URL: https://docs.oracle.com/javase/7/docs/api/java/util/Map.html (дата доступа: 19.05.2017)
30. File [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/java/io/File.html (дата доступа: 17.05.2017)
31. FileOutputStream [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/java/io/FileOutputStream.html (дата доступа: 17.05.2017)
32. OutputStreamWriter [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/java/io/OutputStreamWriter.html (дата доступа: 17.05.2017)
33. FileInputStream [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/java/io/FileInputStream.html (дата доступа: 17.05.2017)
34. InputStreamReader [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/java/io/InputStreamReader.html (дата доступа: 17.05.2017)
35. BufferedReader [Электронный ресурс] // Android Developers / Google.
URL: https://developer.android.com/reference/java/io/BufferedReader.html (дата доступа: 17.05.2017)

Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ