Решетнеескцие чтения. 2015
дорожная разметка (полосы). Первоначальной задачей является выделение разметки на общем фоне. На данном этапе появляется возможность распараллеливания задачи на несколько потоков. Если предположить, что у нас имеется устройство с четырехядерным процессором, то становится очевидным вариант разбиения матрицы изображения на 4 подматрицы [3] (рис. 1).
Рис. 1. Схема разделения матрицы
На данном этапе необходимо произвести выделение разметки на имеющемся изображении. Так как разметка нанесена белым цветом, необходимо выделить пиксели, цветовые составляющие которых больше определенного значения [4]:
g (*, У) =
[255, если r(x,y) > val, g(x,y) > val, b(x, y) > val,
[ 0, иначе.
После первого этапа необходимо проанализировать положение автомобиля относительно полос движения. Для этого рассматривается центральная область изображения, на которой представлена разметка полосы, в которой двигается автомобиль. Принимая во внимание эффект перспективы [5], можно выделить область в центре, которая должна находиться между двух полос движения и не включать в себя элементы разметки. Если же данная область и разметка совпали, то данная ситуация сигнализируется как съезд с полосы движения (рис. 2).
Данный алгоритм был протестирован на входном изображении с разрешением 640*480, результаты времени вычислений представлены в таблице.
Рис. 2. Область «интереса» на бинаризированом изображении
Сравнение времени обработки
Метод Время обработки, мс
Последовательный 1 438
Параллельный 571
Из представленных в таблице данных можно вычислить, что ускорение при использовании параллельной обработки составило около 270 %.
References
1. Catanzaro B. Ubiquitous Parallel Computing form Berkeley, Illinois, and Stanford // IEEE Computer Society. 2010. С. 41-55.
2. Chanawangsa P., Chen C. A New Smartphone Lane Detection System: Realizing TruePotential of Multi-core Mobile Devices, MoVid'12. 2012. С. 19-24.
3. Yang T., Doolan D. Mobile Parallel computing // Proc. of the Fifth International Symposium on Parallel and Distributed Computing. IEEE International. 2006.
4. Bertozzi M., Broggi A. GOLD: A Parallel RealTime Stereo Vision System for Generic Obstacle and Lane Detection // IEEE Transaction on image processing. 1998. Vol. 7, no. 1.
5. Marshall D. Parallel Programming with Microsoft Visual Studio. Microsoft Corporation by: O'Reilly Media, 2011.
© Савельев А. С., Томилина А. И., 2015
УДК 004.6
СПОСОБЫ ХРАНЕНИЯ ДАННЫХ В ПРИЛОЖЕНИЯХ ANDROID OS
А. А. Сидора
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
Е-mail: alex_mcol13@hotmail.com
Android - популярная мобильная платформа, используемая во множестве мобильных устройств, и даже автомобильных мультимедийных системах, в которых неотъемлемой частью является наличие навигационной системы, использующей спутники ГЛОНАСС и GPS. Для улучшения работы навигационных приложений, требуется хранить и использовать информацию о спутниках (их количестве, положении и т. д.). Рассматриваются способы хранения данных в приложениях операционной системы Android и их назначение. Приведены их характеристики и выделены основные случаи их использования в зависимости от типов данных.
Ключевые слова: Android, база данных, способы хранения данных.
Программные средства и информационные технологии
THE METHODS OF STORING DATA IN ANDROID OS APPLICATIONS
A. A. Sidora
Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: alex_mcol13@hotmail.com
Android is a popular mobile platform, which is used in many mobile devices, even in the car multimedia systems, in which an integral part is the presence of a navigation system using GLONASS and GPS satellites. To improve the navigation application it is required to store and use information about satellites (their number, position, etc.). The methods of storing data in android operating system applications are considered. Their characteristics are given and major cases of using depending on the types of data are shown.
Keywords: Android, database, methods of storing data.
Большинству приложений для Android требуется хранить те или иные данные, будь то данные о состоянии активности приложения или различные пользовательские настройки. Некоторым приложениям требуется хранить и оперировать достаточно большим объёмом информации в файлах и базах данных.
В операционной системе Android существует несколько способов хранения данных:
1. Shared Preferences.
2. Обычные файлы, используя внутреннюю или внешнюю память.
3. База данных SQLite.
Каждый из перечисленных способов имеет свои достоинства и недостатки, что обусловлено их предназначением.
Первый из рассматриваемых способов - Shared Preferences (общие настройки). Данный способ представляет собой хранение простых данных в виде «ключ-значение» в XML-файле, находящемся в поддиректории shared-prefs «приватной» папки приложения. Shared Preferences поддерживает базовые типы boolean, string, float, long, int и используется для быстрого сохранения значений по умолчанию, пользовательских настроек, переменных экземпляра класса, текущего состояния пользовательского интерфейса. Чаще всего используется для обеспечения постоянства данных между сессиями пользователя и не подходит для хранения множества однотипных структурированных данных.
Второй способ подходит для чтения и записи больших объёмов данных в порядке от начала к концу без пропусков. Этот способ оптимален для изображений, медиа и других файлов, передаваемых по сети [2]. Большинство Android устройств имеют две области хранения файлов: внутреннюю и внешнюю. Если ко внутреннему хранилищу относится встроенная память, то ко внешним могут относиться как карты памяти, USB-накопители, так и часть внутренней памяти, которая может быть поделена на внутренний и внешний разделы.
Хранение файлов во внутренней памяти лучше подходит для ситуаций, когда ни пользователь, ни другие приложения не должны иметь доступа к файлам вашего приложения. Внутренняя память всегда доступна. При удалении приложения Android удалит из внутренней памяти все его файлы.
Внешнее хранилище в отличие от внутренней памяти доступно не всегда, потому что пользователь может в любое время подключать и отключать такие хранилища. Такие хранилища доступны для чтения везде, поэтому вы не контролируете чтение сохраненных в них данных, из-за чего оно подходит для файлов без ограничений доступа и для файлов, которые вы хотите сделать доступными другим приложениям или пользователю через компьютер. При работе приложения с внешним хранилищем можно выделить две группы файлов:
1. Общедоступные файлы: доступны другим приложениям и пользователю, при удалении приложения должны оставаться доступными.
2. Личные файлы: принадлежат приложению и удаляются вместе с ним.
Для записи во внешнее хранилище нужен запрос на разрешение, в то время как для записи файлов на внутреннюю память разрешений не требуется, приложение всегда может читать и записывать файлы в свой каталог. Также при работе с внешним хранилищем следует проверять его доступность.
Третий способ хранения данных - это использование встраиваемой базы данных SQLite [3]. Данный способ идеально подходит для повторяющихся и сложных структурированных данных. SQLite в Android реализована в виде библиотеки на языке C, и каждая база данных считается частью приложения, которое её создало. Благодаря этому минимизируется число внешних зависимостей, уменьшаются задержки, упрощаются синхронизация и блокирование при выполнении транзакций [1]. Так как по умолчанию доступ к базе есть только у приложения, создавшего её, существует механизм, предоставляющий обмен данными. Источники данных предоставляют общий интерфейс, основанный на простой адресной модели URI для доступа к любой информации путём отделения логики приложения от слоя, отвечающего за хранение данных.
Библиографические ссылки
1. Майер Р. Android 2: программирование приложений для планшетных компьютеров и смартфонов : пер. с англ. М. : Эксмо, 2011. 672 с.
2. Android Developers [Электронный ресурс]. URL: https://developer.android.com/ (дата обращения: 5.09.2015).
Решетневские чтения. 2015
3. SQLite - Wikipedia [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/SQLite (дата обращения: 5.09.2015).
References
1. Maier R. Professional Android 2 Application Development. Translate from English. М. : Eksmo, 2011. 672 p.
2. Android Developers [Electronic resource]. URL: https:// developer.android.com / (address date: 5.09.2015).
3. SQLite - Wikipedia [Electronic resource]. URL: https://ru.wikipedia.org/wiki/SQLite (дата обращения: 5.09.2015).
© Сидора А. А., 2015
УДК 004.418
РАЗРАБОТКА ПРИЛОЖЕНИЯ ДЛЯ УПРАВЛЕНИЯ МЕДИАКОНТЕНТОМ ИНФОРМАЦИОННЫХ РЕСУРСОВ ОБЩЕГО НАЗНАЧЕНИЯ
Р. Д. Синицын
Специальное конструкторско-технологическое бюро «Наука» КНЦ СО РАН Российская Федерация, 660049, г. Красноярск, просп. Мира, 53 E-mail: romans@dmdevelopment.ru
Представлена информационная система для автоматизации и планирования процесса распространения контента, связанного с ракетно-космической тематикой, в социальных сетях и блогах, а также для хранения контента.
Ключевые слова: информационная система, автоматизация, медиаконтент, социальные сети.
DEVELOPING APPLICATION FOR MEDIA CONTENT MANAGEMENT OF INFORMATION RESOURCES OF GENERAL PURPOSES
R. D. Sinitsyn
Special Designed Technological Bureau "Nauka" KSC SB RAS 53, Mira Av., Krasnoyarsk, 660049, Russian Federation E-mail: romans@dmdevelopment.ru
An information system to automate the process ofplanning and distribution of content is associated with the rocket-space theme in social networks and blogs, as well as content storage.
Keywords: information system, automation, media content, social networks.
В настоящее время на сайтах в Интернете содержится огромное количество информации, например, научные публикации, связанные с ракетно-космической тематикой. В последние годы особое место заняли веб-ресурсы, где у пользователей есть возможность объединяться по интересам и просматривать только интересующую их информацию. Например, к таким веб-сайтам относятся блоги и социальные сети. А для пользователей, заинтересованных в предоставлении такой информации, появилась возможность легально и незатратно загружать контент для дальнейшего его распространения. С ростом числа пользователей такой процесс превратился в серьёзное дело: на группу в социальной сети может быть подписаны тысячи пользователей, и администратору необходимо своевременно загружать новый контент. Тут администратор сталкивается с рядом процессов, которые можно было бы автоматизировать.
Продукт представляет собой мобильное приложение, которое позволяет автоматизировать процесс размещения содержимого в блоги и социальные сети.
Пользователь, зарегистрировавшись в системе, добавляет сайты, на которые будет происходить дальнейшее размещение контента. При этом он получает следующие преимущества по сравнению с обычной загрузкой:
- единый интерфейс: загрузка ведётся из одного центра;
- единое упорядоченное хранилище: содержимое, загружаемое пользователем, хранится в облаке;
- анализ статистических данных: пользователю доступна статистика, включающая в себя, когда, что и куда он загружал;
- автоматическая загрузка контента: пользователь может установить расписание, и загрузка будет происходить в автоматическом режиме;
- один раз настроив загрузку в установленное время, пользователь может повторять её для разного контента;
- загрузка одинакового контента в одно и то же время доступна сразу для нескольких сайтов.
Варианты использования программного продукта [1] представлены на рисунке.