Аппараты для активного отдыха



ВОПРОСЫ МЕЖДИСЦИПЛИНАРНОГО ГОСУДАРСТВЕННОГО ЭКЗАМЕНА

Направление подготовки 09.04.03 Прикладная информатика

Профиль «Прикладная информатика в информационной сфере»

1. Классификация мобильных устройств.

Бюджетные модели

 

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

 

 1 Модель 2004 года сразу после выпуска была признана «классической бюджетной моделью». До сих пор этот аппаратик можно найти в продаже по цене около $40. Это пример абсолютного минимализма – монохромный экран, маленькие размеры аппарата, монофонический звонок. Хотя, несмотря на простоту и дешевизну, C115 выглядит довольно необычно и поэтому хорошо запоминается.

2 Nokia 3310, пожалуй, самая популярня модель за всю историю существования финского производителя. Правда, в момент появления она принадлежала более высокому классу, но после снижения цены и общего развития технологий мы получили аппарат, который поддерживал продажи Nokia в бюджетном сегменте еще лет пять.

3 Nokia 1208, который стоит примерно $50, оснащен цветным дисплеем, имеет фонарик, счетчик минут разговора и поддерживает полифонические звонки. А вот его брат-близнец Nokia 1200, схожий как по внешнему виду, так и по основной функциональности, цветной монитор не имеет

4 Samsung B520 – это изящный и компактный слайдер. Один из первых бюджетных слайдеров, раньше аппарат в раздвижном корпусе считался вещью особенно статусной и престижной, сейчас же мы можем найти модель за 2400 рублей, где, помимо него, наличествует и MP3-плеер с поддержкой карт памяти microSD, и FM-радио, и Bluetooth. По сравнению с вышеописанным Nokia 1208 – небо и земля, - а разница-то в цене всего тысяча рублей.

5. Ко всему прочему, фирма Samsung сильна и в производстве недорогих раскладушек. Модель Samsung X480 в свое время стала хитом продаж: компактную и стильную «книжку», не отягощенную ненужными функциями, покупали и девушки, и женщины постарше, и мужчины, и студенты, и школьники. Сейчас в модельном ряду корейского вендора подобного бестселлера нет, зато количество доступных раскладушек радует глаз.

Средний класс

 

Покупатель моделей этого класса обычно хочет получить современный и достаточно «навороченный» аппарат за минимальную сумму. Собственно говоря, эта сумма обычно составляет $100 – 200. Современная модель среднего класса обычно обладает неплохим цветным дисплеем, GPRS-модулем, иногда – интерфейсом Bluetooth, медиапроигрывателем, слотом для подключения флэш-карт, встроенной камерой. Как правило, экономичность аппарата выражается в таких деталях, как небольшое разрешение встроенной камеры, не самая качественная матрица экрана. Однако в среднем сегменте можно встретить множество интересных моделей, которые мало в чем уступают более дорогим устройствам.

1 Philips Xenium 9@9h за примерно $120, главная особенность которого – заявленный срок работы от одной зарядки в режиме ожидания – около 1 месяца.

2 Motorola V3, Nokia 5000, Samsung SGH-J700, Samsung SGH-X650.

Имиджевые аппараты

 

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

1 Nokia 7900 Crystal Prism. Аппарат разрабатывался с участием дизайнера и художницы Фредерик Добаль и обладает новомодным «граненым» дизайном.

2 Среди имиджевых телефонов довольно ярко выделяются так называемые женские телефоны. Обычно такой аппарат напоминает пудреницу или губную помаду, часто его корпус украшен стразами или витиеватой росписью. Типичный женский телефон – Nokia 7380. Он выполнен в форм-факторе палочки – пользоваться аппаратом, конечно, неудобно, зато все подруги завидуют! У крупных производителей имеются целые линейки дамских мобильников – например, La Fleur от Samsung или L’Amour от Nokia.

 

Камерофоны

Первые мобильные телефоны, оснащенные камерой, могли гордиться в основном самим фактом наличия у них этой камеры. Качество и разрешение снимков было невысоким, но вышло так, что камеры стали популярнейшей «добавкой» к функциональности мобильника. В итоге сегодня довольно сложно найти GSM-телефон без возможности фотосъемки. Но в некоторых моделях камера – это лишь дань моде, а в некоторых – серьезное устройство, которое может соперничать по качеству снимков с недорогими цифровыми «мыльницами». Именно телефоны, ориентированные на фото- и видеосъемку, получили название камерофоны. В целом это – обычный телефон, но, как правило, он имеет хорошую встроенную камеру, вспышку, иногда – подсветку автофокуса, выделенные кнопки, которые повышают удобство съемки. Во втором полугодии 2008 года началось шествие 8- мегапиксельников.

1. Samsung i8510 – был самым мощным, самый функциональным аппаратом на рынке

2. Nokia N95 - один из первых камерофонов, 5-мегапиксельный телефон.

3. Motorola MOTOZINE ZN5 (кстати, первый камерофон американской компании), и все лавры перешли к нему.

 

Музыкальные телефоны

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

1 Nokia 5310 XpressMusic. Это, пожалуй, самый популярный мьюзикфон. Отличный аппарат с хорошим соотношением «цена-качество».

2. Samsung M3510 - достойное молодежное решение с неприевшимся внешним видом, да ко всему прочему из музыкальной линейки Beat. функциональном же плане Samsung M3510 – типичный середнячок, который, тем не менее, на ура справится с музыкальными запросами потребителя

3. Motorola ROKR E8, Samsung SGH-F210.

Телефоны бизнес-класса

Типичный телефон бизнес-класса – это неброский, отлично оснащенный аппарат. Большинство таких телефонов оснащено всеми актуальными интерфейсами для связи с другими устройствами – обычно это Bluetooth и, все чащ,е – Wi- Fi. Такой телефон обычно имеет один из форм-факторов, ставших классическими – моноблок, книжка или слайдер. Пользователи, которым телефон нужен для работы, ценят комфорт, поэтому такие телефоны обычно имеют довольно удобные, консервативные органы управления. В оформлении бизнес-телефона присутствуют спокойные тона, он обычно поставляется с некоторым набором полезных программ – таких, как почтовый клиент, офисный софт и т.д. Бизнес-телефон может стоить от $200 и выше.

1 Nokia E66, который сумел соединить в себе бизнес-направленность и харизматичный дизайн

 

Смартфоны и коммуникаторы

 

Смартфоны отличаются от коммуникаторов очень тонкой деталью. А именно, смартфоном принято называть «умный» телефон, обладающий функциями карманного компьютера, но имеющий вид обычного телефона. А коммуникатор – это карманный компьютер, дополненный функционалом сотового телефона. Как правило, коммуникаторы очень похожи на КПК – по крайней мере, они очень часто имеют сенсорный дисплей. В среде коммуникаторов можно встретить различные нестандартные форм-факторы, и другие интересные технологии. Например, QWERTY-клавиатуры, GPS-навигаторы, телевизионные приемники (в России пока, к сожалению, такие аппараты бесполезны). Существует сравнительно мало смартфонов, которые позиционируются лишь как смартфоны. Как правило, в среде телефонов стоимостью выше $300 смартфоны выступают и в качестве имиджевых моделей, и как бизнес-телефоны, и как камерофоны, и как телефоны-плееры. Коммуникаторы, как правило, позиционируются именно как универсальные устройства, которым по плечу множество задач.

1 Nokia N79, вобравший в себе всё самое лучшее, что было создано в N-серии Nokia за последние годы.

2 Среди популярных коммуникаторов можно отметить следующие: E-Ten Glofiish X800 за примерно $700, HTC P3400 за $400, Nokia E71, Samsung i780, E-Ten Glofiish M750.

 

Навигаторы

Навигаторами принято называть устройства, которые имеют встроенный GPS-приемник и ориентированы на работу в качестве GPS-навигатора. Как правило, звание навигаторов носят в основном КПК, оснащенные GPS-модулями, однако так вполне можно назвать и GPS-коммуникатор, особенно, если в комплекте с ним поставляется автомобильное крепление и зарядное устройство. Ведь навигаторы – это, прежде всего, спутники водителей. Кстати, многие телефоны поддерживают подключение внешних GPS-навигаторов, например, по протоколу Bluetooth, превращаясь, таким образом, в навигационные устройства. Среди телефонов, в которые встроены GPS-передатчиками HTC TyTN II, HTC Advantage X7510, HTC Touch Cruise, E-Ten Glofiish M810.

 

Аппараты для активного отдыха

Телефоны для экстремальных условий можно выделить в отдельный класс. Они имеются в арсенале далеко не всех производителей, по крайней мере, лишь немногие модели доступны в широкой продаже. Главный отличительный признак таких телефонов – защищенный прорезиненный корпус, придающий им весьма характерный вид. Однако, не все защищенные телефоны одинаковы.

Например, Samsung SGH-M110 защищен на базовом уровне и обладает невысокой функциональностью. Sony Ericsson С702 – это защищенный камерофон, а Nokia 5500 Sport – защищенный смартфон.

 

Тачфоны

Тачфоны – (от "touch" – прикосновение) – это сравнительно новый вид телефонов, управление которыми осуществляется с помощью сенсорных дисплеев. Самый известный на данный момент тачфон, – это Apple iPhone. По всей видимости, успех этого телефона напоминает успех первого «тонкого» аппарата Motorola RAZR V3, породившего целое направление тонких раскладушек. Сегодня на рынке можно найти немало аппаратов с сенсорным управлением. Например, Samsung SGH-F490, LG KE990 Viewty. На подходе восьмимегапиксельники Samsung PIXON, LG Renoir и Nokia 5800 XPressMusic.

 

Модели премиум-класса

Модели премиум-класса, как правило, не блещут высокой функциональностью (их покупателям этого и не нужно), зато радуют глаз дорогими, порой эксклюзивными материалами отделки (металл, сапфировое стекло, золото, бриллианты) и статусным дизайном. Если аппарат стоит дешевле 50 тысяч рублей, то навряд ли его в полной мере можно причислить к премиум-сегменту. К примеру, компания Vertu выпускает очень дорогие телефоны в уникальном исполнении. Аппараты Vertu Ascent и Vertu Constellation принадлежат к нижнему ценовому диапазону марки – их стоимость начинается в районе $8000.

 

1 Vertu Signature Diamonds – это телефоны, выполненные из золота или платины и украшенные (а порой прямо таки усыпанные) драгоценными камнями. Представьте, сколько стоит такой телефон! В период финансового кризиса такие цифры даже печально произносить

2 Mobiado (например, модели Luminoso) колеблются в районе 3000 долларов. Эти телефоны, конечно, скромнее, чем Vertu, но тоже не слишком просты. Другое дело, что у нас на родине большинство покупает подобные аппараты не для самоудовлетворения, а чтобы выставить напоказ содержимое кошелька. Здесь аппараты «мобиадо», пусть даже выполненные из красного дерева, не работают: ваш круг общения знает, что такое «верту», но не знает, что такое «мобиадо», - соответственно, и не поймет, сколько вы за него отдали.¶

Модели 8-й серии Nokia, с одной стороны, следует причислять к имиджевому сегменту, с другой – к премиальному. Нам ближе второе, учитывая, что с каждым годом модели 8800 всё ближе и ближе (по материалам, отделке, интерфейсу) приближаются к Vertu. Модель 8800 Arteуже сейчас можно найти менее, чем за 30 тысяч рублей, - не так уж плохо, если принять во внимание её начальную стоимость в шестьдесят тысяч. ¶¶

2. Мобильные операционные системы.

Мобильная операционная система (мобильная ОС) — операционная система для смартфонов, планшетов, КПК или других мобильных устройств

Мобильные операционные системы сочетают в себе функциональность ОС для ПК с функциями для мобильных и карманных устройств: сенсорный экран, сотовая связь, Bluetooth, Wi-Fi, GPS-навигация, камера, видеокамера, распознавание речи, диктофон, музыкальный плеер, NFC и инфракрасное дистанционное управление.

Современные операционные системы для мобильных устройств: Android, Lineage OS, Fire OS, Flyme OS, iOS, Windows 10 Mobile, Sailfish OS, Tizen, Remix OS. Устаревшие, ныне не поддерживаемые программные платформы: Symbian, Windows Mobile, Palm OS, webOS, Maemo, MeeGo, LiMo, BlackBerry OS, Firefox OS, Ubuntu Touch.

Android

Ядром Android является Linux, модифицированная через Java.

Особенности данной операционной системы такие:

· собственный магазин приложений;

· полная поддержка Google (собственно, вся работа в Андроид происходит с помощью аккаунта в Гугле);

· возможность устанавливать собственные прошивки и модифицировать систему так, как угодно пользователю;

· приложения можно устанавливать из большого количества магазинов (не только Google Play).

IOS

iOS – это главный конкурент Android. Данная операционная система является детищем Apple. Соответственно, увидеть ее можно только на iPhone, iPad и других устройствах этой фирмы.

Просто так взять и установить iOS на смартфон, где раньше стоял Андроид, невозможно. Чтобы пользоваться этой системой, нужно изначально купить Айфон. Все достаточно просто. Соответственно, это связано с достаточно большими тратами.

Что касается того, стоят ли устройства на iOS своих денег, то однозначного мнения по этому поводу нет. Кто-то говорит, что это лучшая система современности, другие говорят, что платить больше в данном случае незачем.

Особенности iOS:

· есть собственный магазин App Store (скачивать приложения с других источников тоже можно, но здесь это немного сложнее, чем на Android);

· интерфейс основан на так называемой «концепции прямого взаимодействия»;

· есть собственные элементы управления – ползунки, переключатели, иконки и так далее;

· основанием iOS является OS X в сочетании с компонентами Darwin.

Windows 10 mobile

Windows 10 mobile – версия операционной системы Windows 10, предназначенная для мобильных устройств с диагональю экрана до девяти дюймов. Призвана обеспечить поддержку «универсальных приложений», а также использоваться для подключения устройств к внешнему дисплею и использовать смартфон в качестве ПК с интерфейсом с поддержкой мыши и клавиатуры.

Для разработки мобильных приложении понадобятся:

· компьютер с ОС Windows 10 или выше;

· 8 ГБ ОЗУ;

· Visual Studio 2015 Update 3 илиновее;

· Microsoft Emulator for Windows 10 Mobile;

· Windows SDK [8].

Visualstudio – официальная среда разработки для операционной системы Windows 10. Содержит все основные компоненты для разработки «универсальных приложений». В состав входят шаблоны и поддержка всех технологий, как для десктопов, так и для мобильных приложений.

Языки программирования.

Для разработки на Windows 10 mobile используется язык C#.С 24 января 2018 года активная разработка прекращена, 10 декабря 2019 года заканчивается основная фаза поддержки для Fall Creators Update.

 

Fire OS — базирующаяся на Linux kernelоперационная система, созданная Amazon для собственных смартфонов Fire Phone, электронных книг Kindle Fire, планшетов, иных устройств типа the Fire TV. Fire OS является форкомAndroid. Основной акцент в Fire OS сделан на потребление контента, кастомизированом пользовательском интерфейсе и привязке к сервисам Amazon.

При сохранении совместимости с приложениями для Android, Fire OS поддерживает выполнение HTML5 приложений.

Интерфейс пользователя в Fire OS, ориентированный на работу с контентом, использует в качестве метода навигации «карусель». В системе обеспечена тесная интеграция с online-магазином Amazon, облачным хранилищем и различнымисоцсетями, в том числе и с Goodreads.

Функция Second Screen позволяет организовать вывод видео на телевизор (поддерживаются телевизоры Samsung) либо игровую приставку PlayStation 3.

В начале 2017 года Mozilla окончательно закрыла разработку Firefox OS, полностью расформировав команду.

 

LineageOS (CyanogenMod) — бесплатная операционная система для смартфонов и планшетов, с открытым исходным кодом, основанным на ОСAndroid. Предназначена для замены проприетарных версий Android, предустанавливаемых поставщиками мобильных устройств. Открытый исходный код и отсутствие пакета предустановленных сервисов Google обеспечивают безопасность и конфиденциальность.

С 31 декабря 2016 года Cyanogen Inc прекратила поддержку и разработку CyanogenMod. Однако команда разработчиков во главе со Стивом Кондиком самостоятельно перезапустила проект под новым брендом LineageOS.

 

Sailfish OS — операционная система, основанная на проектах с открытым исходным кодом и включающая компоненты с закрытым исходным кодом. Sailfish OS развивается с 2012 года финской компанией Jolla. В 2016 году к Jolla присоединилась российская компания «Открытая мобильная платформа». Android-приложения могут устанавливать только владельцы официальных устройств. Владельцы устройств с кастомными прошивками (Nexus 4, Moto G, ZTE V811) не могут устанавливать приложения Android и имеют доступ только к официальному магазину и репозиторию "WareHouse", это связано тем, что в этих прошивках отсутствует Dalvik.

Tizen

Tizen (произносится «та́йзен») — открытаяоперационная система на базе ядраLinux, предназначенная для широкого круга устройств, включая смартфоны, интернет-планшеты, компьютеры, автомобильные информационно-развлекательные системы, «умные» телевизоры и цифровые камеры, разрабатываемая и управляемая такими корпорациями, как Intel и Samsung, входящими в Technical Steering Group (TSG), и поддерживаемая Linux Foundation и Tizen Association. Является наследником MeeGo, LiMo и bada. Поддерживает аппаратные платформы на процессорах архитектур ARM и x86.

Remix OS — операционная система для персональных компьютеров и некоторых Androidпланшетов. Основана на Android-x86, разрабатываемая компанией Jide Corporation, LTD. Remix OS 1.5, запускается на Remix-Ultratablets, настольных ПК, ноутбуках, all-in-ones и Remix Mini. В январе 2016 года вышла альфа-версия Remix OS 2.0

Blackberry

Blackberry OS является собственностью компании RIM (Research In Motion) и впервые была выпущен в 1999 году. RIM разработала эту операционную систему для своей Blackberry линии смартфонов. Blackberry сильно отличается от других операционных систем. Стильный интерфейс, а также оригинальный дизайн телефона. Blackberry OS не доступна для любых других производителей. Это очень надежная ОС и имеет иммунитет ко многим вирусам. Некоторые из смартфонов работающих на Blackberry OS: Blackberry Bold, BlackBerry Curve, Blackberry Torch и Blackberry 8520.

Symbian

ОС Symbian официально является собственностью Nokia. Это означает, что любая другая компания должна будет получить разрешение от Nokia перед использованием этой операционной системы. Nokia по-прежнему является гигантом в недорогом сегменте рынка мобильных телефонов, поэтому Java Symbian была наиболее часто используема в мобильных телефонах пару лет назад. Тем не менее, Symbian широко используется в бюджетных аппаратах, но спрос на них постоянно снижается. Обновление мобильной ОС Symbian сделала его способным работать эффективно на смартфонах. В целом, Symbian OS отлично спроектирован и очень удобен. К сожалению, Symbian OS становиться не востребованной в настоящее время из-за огромной популярности Android и IOS. Некоторые телефоны, работающие на Symbian ОС: Nokia C6-01, Nokia 603, Nokia 700, Nokia 808, Nokia E6 (ANNA) и Nokia 701 (Belle).

Сравнение ОС

Согласно статистики [1] за 2015 год наибольшую долю на рынке занимает ОС Android (рис. 1). Её доля составляет более 80 %. Вторая по объемам продаж – это iOS с долей около 15 %. Третье место занимает ОС Windows Phone с долей 2-4 %

3. Архитектура Android.

Платформа Androidпредставляет собой программный стек для мобильных устройств, который включает операционную систему, программное обеспечение промежуточного слоя (middleware), а также основные пользовательские приложения, входящие в состав мобильного телефона, календарь, карты, браузер, базы данных контактов, сообщений SMS и др.

Архитектуру Androidпринято делить на четыре уровня:

- уровень ядра;

- уровень библиотек и среды выполнения;

- уровень каркаса приложений;

- уровень приложений.

На рис.3. 1 показаны основные компоненты операционной системы Androidи ихвзаимодействие.

Рис. 3.1. Архитектура системы Android

Уровеньядра

Ядро является слоем абстракции между оборудованием и остальной частью программного стека. На этом уровне располагаются основные службы типа управления процессами, распределения памяти и управления файловой системой.

Android основан на ядре Linux версии 2.6, но сама система Android не является Linux-системой в чистом виде. Система Android имеет некоторые отличия и содержит дополнительные расширения ядра Linux, специфичные для Android, — свои механизмы распределения памяти, взаимодействие между процессами и др.

Приложения и службы могут работать в защищенных отдельных процессах, которые должны общаться между собой и иметь доступ к общим данным. Платформа Android поддерживает механизм IPC (Inter-process Communication), который является основным механизмом взаимодействия процессов. Драйвер IPC обеспечивает взаимодействие процессов, создание и обработку пулов потоков в процессах, подсчет и отображение ссылок на объекты в других процессах и синхронные запросы между процессами.

Поскольку Android является платформой для мобильных устройств и должна обеспечивать экономный расход аккумуляторной батареи телефона, важную роль выполняет система управления энергопотреблением — Android Power Management. Она разработана на основе стандартного драйвера управления питанием Linux, но оптимизирована для мобильных устройств с учетом их специфических особенностей. Драйвер переводит систему в "спящий режим" с минимальным потреблением мощности процессором, если приложения и службы не используются.

Программный стек Android разработан с учетом необходимой гибкости, включая работу со многими дополнительными компонентами, имеющимися в мобильных устройствах. Эти компоненты в значительной степени полагаются на доступность определенных аппаратных средств на данном устройстве. Они предоставляют дополнительную функциональность для мобильных устройств (сенсорный экран, камера, GPS, акселерометр и т. д.).

На этом уровне также расположен набор драйверов для обеспечения работы с оборудованием мобильного устройства. Набор драйверов может отличаться в зависимости от производителя и модели устройства. Поскольку новое вспомогательное оборудование для мобильных устройств постоянно появляется на рынке, драйверы для них должны быть написаны на уровне ядра Linux для обеспечения поддержки оборудования, так же как и для настольных Linux-систем.

Преимущество использования ядра Linux как основы Android в том, что ядро системы позволяет верхним уровням программного стека оставаться неизменными, несмотря на различия в используемом оборудовании. Конечно, хорошая практика программирования требует, чтобы пользовательские приложения корректно завершали свою работу в случае вызова ресурса, являющегося недоступным, например встроенной видеокамеры или сенсора, не присутствующего в данной модели телефона.

Уровень библиотек

Следующий уровень над ядром Linux включает набор библиотек C/C++, используемых различными компонентами ОС. Библиотеки этого уровня по своему функциональному назначению можно разделить на две группы:

r системная библиотека С;

r функциональные библиотеки С/С++.

Системная библиотека базируется на Berkeley Software Distribution (BSD). Компа-ния Google разработала собственную версию системной библиотеки libc — Bionic специально для мобильных устройств на основе Linux. Это было необходимо для обеспечения быстрой загрузки библиотеки в каждый процесс, и следовательно, библиотека должна была иметь маленький размер. Библиотека Bionic имеет размер около 200 Кбайт, что в два раза меньше размера стандартной библиотеки Linux glibc. Кроме того, необходимо было учитывать ограниченную мощность централь-ного процессора мобильного устройства. Это означает, что библиотека должна быть оптимизирована для максимального быстродействия. Конечно, сейчас это уже не актуально, современные мобильные устройства практически сравнялись по мощности процессора с нетбуками, но еще несколько лет назад это являлось серь-езной проблемой.

Библиотека Bionic имеет встроенную поддержку важных для Android системных служб и регистрацию системных событий, но в то же время она не поддерживает некоторую функциональность, например исключения C++, и несовместима с GNU libc и стандартом POSIX.

Функциональные библиотеки представляют собой набор библиотек C/C++ типа OpenGL, WebKit, FreeType, SSL, базы данных SQLite и библиотек мультимедиа (Media Framework). Для разработчиков доступ к функциям этих библиотек реализован через использование Application Framework — каркаса приложений.

Dalvik Virtual Machine

Среда выполнения обеспечивает библиотеки ядра Dalvik Virtual Machine (виртуальная машина Dalvik), которые предоставляют требуемую функциональность для Java-приложений.

Прикладное программное обеспечение, запускаемое на мобильном устройстве, исполняет виртуальная машина Dalvik, которая хоть и является аналогом виртуальной машины Java, существенно от нее отличается. Dalvik относится к классу регистровых машин (регистры процессора используются как первичные модули хранения данных), идеально подходящих для работы на процессорах RISC-архитектуры, к которым относятся и процессоры ARM, применяемые в мобильных устройствах, тогда как стандартная виртуальная машина Java компании Sun Microsystems — стековая. В результате использования регистровой виртуальной машины Google наде-ется на 30 процентов уменьшить количество команд по сравнению со стековыми машинами.

Созданные с помощью стандартного Java-компилятора class-файлы преобразуются в байт-код Dalvik (*.dex) транслятором dx, входящим в состав SDK. Изнутри работающий Android выглядит как набор виртуальных машин Dalvik, в каждой из которых исполняется прикладная задача.

Виртуальная машина Dalvik, на которойпостроена вся операционная система Google Android, дает разработчикам удобный механизм для написания приложений, которым не принципиален объем используемой памяти и мощность процессора.

Уровень каркаса приложений

Уровень каркаса приложений находится на вершине системных библиотек, функциональных библиотек и Dalvik VM. На этом уровне находятся основные службы Android для управления жизненным циклом приложений, пакетами, ресурсами и т. д.

Программист имеет полный доступ к тем же API, которые используются основными приложениями. Архитектура этих приложений разработана с целью упрощения многократного использования компонентов. Любое разрабатываемое приложение может использовать возможности базовых приложений и, соответственно, любое другое стороннее приложение может использовать возможности вашего приложения (с учетом установленных разрешений). Этот же самый механизм позволяет многократно использовать уже разработанные компоненты.

Уровень приложений

Мобильное устройство Android поставляется с набором основных приложений, включая почтового клиента, программу для работы с SMS, календарь, навигационные карты, браузер, контакты и др.

Что интересно, платформа Android не делает разницы между основными приложе-ниями, входящими в комплект мобильного телефона и сторонним программным обеспечением — таким образом, ключевые приложения, входящие в стандартный набор программного обеспечения, можно заменить при желании альтернативными приложениями.

При разработке приложений программисты имеют полный доступ ко всей функ-циональности операционной системы. Архитектура приложений построена так, чтобы было легко использовать основные компоненты, предоставляемые системой. Также есть возможность создавать свои компоненты и предоставлять их в открытое использование.

 

Если представить компонентную модель Android в виде иерархии (рис.1.5), то в самом низу, в самой основе будет располагаться ядрооперационной системы. Оно обеспечивает функционирование системы и отвечает за безопасность, управление памятью, энергосистемой и процессами, а также предоставляет сетевой стек и модель драйверов. Ядро также действует как уровень абстракции между аппаратным и программным обеспечением.

"Выше" ядра, как программное обеспечение промежуточного слоя, лежит набор библиотек (Libraries), предназначенный для решения типовых задач, требующих высокой эффективности. То есть, именно этот уровень отвечает за предоставление реализованных алгоритмов для вышележащих уровней, поддержку файловых форматов, осуществление кодирования и декодирования информации (в пример можно привести мультимедийные кодеки), отрисовку графики и многое другое. Библиотеки реализованы на C/C++ и скомпилированы под конкретное аппаратное обеспечение устройства, вместе с которым они и поставляются производителем в предустановленном виде.

Перечислим некоторые из низкоуровневых библиотек:

1. Surface Manager - в ОС Android используется композитный менеджер окон, наподобие Compiz (Linux), но более примитивный. Вместо того, чтобы производить рисование графики напрямую в буфер дисплея, система посылает поступающие команды рисования в закадровый буфер, где они накапливаются вместе с другими, составляя некую композицию, а потом выводятся пользователю на экран. Это позволяет системе создавать интересные бесшовные эффекты, реализовать прозрачность окон и плавные переходы.

2. Media Framework - библиотеки, реализованные на базе PacketVideo OpenCORE. С их помощью система может осуществлять запись и воспроизведение аудио и видео данных, а также вывод статических изображений. Поддерживаются многие популярные форматы, включая MPEG4, H.264, MP3, AAC, AMR, JPG и PNG. В будущем на смену OpenCORE должен придти более простой фреймворк Stagefright.

3. SQLite - легковесная и производительная реляционная СУБД, используемая в Android в качестве основного движка для работы с базами данных.

4. 3D библиотеки - используются для высокооптимизированного рисования 3D-графики, при возможности используют аппаратное ускорение. Их реализации строятся на основе API OpenGL ES 1.0.

5. FreeType - библиотека для работы с битовыми картами, а также для растеризации шрифтов и осуществления операций над ними. Это высококачественный движок для шрифтов и отображения текста.

6. LibWebCore - библиотеки известного браузерного движка WebKit, используемого также в десктопных браузерах Google Chrome и Apple Safari.

7. SGL (Skia Graphics Engine) - открытый движок для работы с 2D-графикой. Графическая библиотека является продуктом Google и часто используется в других их программах.

8. SSL - библиотеки для поддержки одноименного криптографического протокола на базе OpenSSL.

9. libc - библиотека стандартных вызовов языка C, аналог glibc (GNU libc из Linux) для маленьких устройств. Носит название Bionic.

На этом же уровне располагается Android Runtime - среда выполнения прикладных программ. Ключевыми её составляющими являются набор стандартных библиотек и виртуальная машина Dalvik. Каждое приложение в ОС Android запускается в собственном экземпляре виртуальной машины Dalvik. Таким образом, все работающие процессы изолированы от операционной системы и друг от друга. Архитектура Android Runtime такова, что работа программ осуществляется строго в рамках окружения виртуальной машины. Благодаря этому осуществляется защита ядра операционной системы от возможного вреда со стороны других её составляющих. Поэтому код с ошибками или вредоносное ПО не смогут испортить ОС Android и устройство на её базе. Такая защитная функция, наряду с выполнением программного кода, является одной из ключевых для Android Runtime.

Уровнем выше располагается Application Framework, иногда называемый уровнем каркаса приложений. Именно через каркасы приложений разработчики получают доступ к API, предоставляемым компонентами системы, лежащими ниже уровнем. Кроме того, благодаря архитектуре фреймворка, любому приложению предоставляются уже реализованные возможности других приложений, к которым разрешено получать доступ. В базовый набор сервисов и систем, лежащих в основе каждого приложения и являющихся частями фреймворка, входят:

1. Богатый и расширяемый набор представлений (Views), который может быть использован для создания визуальных компонентов приложений, например, списков, текстовых полей, таблиц, кнопок или даже встроенного web-браузера.

2. Контент-провайдеры (Content Providers), управляющие данными, которые одни приложения открывают для других, чтобы те могли их использовать для своей работы.

3. Менеджер ресурсов (Resource Manager), обеспечивающий доступ к ресурсам, не несущим кода, например, к строковым данным, графике, файлам и другим.

4. Менеджер оповещений (Notification Manager), благодаря которому все приложения могут отображать собственные уведомления для пользователя в строке состояния.

5. Менеджер действий (Activity Manager), который управляет жизненными циклами приложений, сохраняет данные об истории работы с действиями, а также предоставляет систему навигации по ним.

6. Менеджер местоположения (Location Manager), позволяющие приложениям периодически получать обновленные данные о текущем географическом положении устройства.

На вершине программного стека Android лежит уровень приложений (Applications). Сюда относится набор базовых приложений, который предустановлен на ОС Android. Например, в него входят браузер, почтовый клиент, программа для отправки SMS, карты, календарь, менеджерконтактов и многие другие. Список интегрированных приложений может меняться в зависимости от модели устройства и версии Android. И помимо этого базового набора к уровню приложений относятся все прикладные приложения под платформу Android, в том числе и установленные пользователем.

Как правило, приложения под Android пишутся на языке Java, но существует возможность разрабатывать программы и на C/C++ (с помощью Native Development Kit).

 

4. Компоненты Android-приложений.

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

Всего в Android-приложениях существует четыре типа компонентов:

r Activity;

r Service;

r Broadcast Receiver;

r Content Provider.

 

Взаимодействие компонентов осуществляется с помощью объектов Intent. Сейчас мы кратко рассмотрим компоненты и их взаимодействие.

Activity

Компонент Activity представляет собой визуальный пользовательский интерфейс для приложения — окно. Как правило, окно полностью заполняет экран мобильного устройства, но может иметь размеры меньше, чем у экрана. Activity может также использовать дополнительные окна, например всплывающее диалоговое окно, которое запрашивает пользовательский ответ для основного Activity, или окно уведомления о каком-либо событии в приложении или системе.

Все Activity реализуются как подкласс базового класса Activity. Приложение может содержать несколько Activity. Каждый Activity независим от других. При открытии нового Activity работа предыдущего Activity приостанавливается, а сам он вносится и сохраняется в стек Activity.

Service

Компонент Service не имеет визуального интерфейса пользователя и выполняется в фоновом режиме в течение неопределенного периода времени, пока не завершит свою работу. Этот компонент аналогичен службам в настольных операционных системах.

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

Broadcast Receiver

Компонент Broadcast Receiver — компонент для получения внешних событий и реакции на них. Инициализировать передачи могут другие приложения и Service.

Приложение может иметь несколько компонентов Broadcast Receiver, чтобы отве-тить на любые объявления, которые оно считает важными.

Broadcast Receiver не имеют пользовательского интерфейса. Однако они могут запустить Activity или службу, выдать в ответ на информацию, которую они получа-ют, или показать уведомление на экране мобильного устройства, чтобы предупре-дить пользователя о наступившем событии.

Content Provider

Компонент Content Provider делает определенный набор данных, используемых приложением, доступным для других приложений. Этот компонент является своеобразным посредником между хранилищем данных и клиентским приложением. Данные в Android могут быть сохранены различными способами: в файловой системе, в базе данных SQLite или любым другим способом. Content Provider для безопасного доступа к данным используют механизм разрешений. Это означает, что вы можете cконфигурировать собственный Content Provider, чтобы разрешить доступ к своим данным из других приложений, а также использовать Content Provider другого приложения для обращения к его хранилищу данных.

 

5. Android SDK.

SDK(softwaredevelopmentkit) – комплекс средств разработки, позволяющий специалистам по программному обеспечению создавать приложения для определенного пакета программ, программного обеспечения базовых средств разработки, компьютерной системы, игровых консолей,аппаратной платформы, операционных систем и других платформ.

Android SDK включает в себя необходимые инструменты, чтобы помочь Android-разработчикам в совершении первых шагов: различные API (прикладной программный интерфейс), разработанные Google для управления функциями устройства и интеграции сервисов, полнофункциональный эмулятор для тестирования приложений, а также все необходимые текстовые материалы, чтобы дать начало для программирования под Android.

Среда Android SDK, основанная на Linux, использует виртуальное устройство для запуска приложений и поддерживает 3G, WiFi, GPS, сенсорные экраны и другие стандартные функции, присутствующие в современных мобильных телефонах.

Android SDK — универсальное средство разработки мобильных приложений для операционной системы Android. Отличительной чертой от обычных редакторов для написания кодов является наличие широких функциональных возможностей, позволяющих запускать тестирование и отладку исходных кодов, оценивать работу приложения в режиме совместимости с различными версиями ОС Андроид и наблюдать результат в реальном времени (опционально). Поддерживает большое количество мобильных устройств, среди которых выделяют: мобильные телефоны, планшетные компьютеры, умные очки (в том числе Google Glass), современные автомобили с бортовыми компьютерами на ОС Андроид, телевизоры с расширенным функционалом, особые виды наручных часов и многие другие мобильные гаджеты, габаритные технические приспособления.

 

Обзор Android SDK

Android SDK включает в себя разнообразные библиотеки, документацию и инструменты, которые помогают разрабатывать мобильные приложения для платформы Android:

r API Android SDK — API-библиотеки Android, предоставляемые для разработки приложений;

r документация SDK — обширную справочную информацию, детализирующую, что включено в каждый пакет и класс и как это использовать при разработке приложений;

r AVD (Android Virtual Device) — интерактивный эмулятор мобильного Android-устройства. Используя эмулятор, можно запускать и тестировать приложения без использования реального Android-устройства;

r Development Tools — несколько инструментальных средств для разработки, которые позволяют компилировать и отлаживать создаваемые приложения;

r Sample Code — типовые приложения, которые демонстрируют некоторые из возможностей Android, и простые программы, которые показывают, как использовать индивидуальные особенности API в вашем коде.


Дата добавления: 2018-06-27; просмотров: 476; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!