Опубликован: 12.12.2015 | Доступ: свободный | Студентов: 665 / 96 | Длительность: 15:42:00
Лекция 4:

Основы программирования на Tizen

< Лекция 3 || Лекция 4 || Лекция 5 >
Аннотация: Интерфейсы прикладного программирования Tizen (Tizen APIs). Безопасность и привилегии API. Фильтрация приложений. Web Runtime.

Tizen Web Device API, основанный на JavaScript, предоставляет расширенный доступ к аппаратным возможностям платформы. С помощью Tizen Web Device API можно создавать насыщенные Интернет-приложения, управлять жизненным циклом приложений, управлять расписанием, обмениваться данными или осуществлять платежи, используя NFC.

Ниже приводится список интерфейсов прикладного программирования Tizen.

Таблица 4.1. Список интерфейсов прикладного программирования Tizen
API Описание Мобильные приложения Поддержка в мобильном эмуляторе
Tizen Common
Tizen Основной объект для доступа к Tizen Web Device API Обязательный Да
Application
Alarm Этот API предоставляет функциональные возможности для включения и отключения сигналов тревоги Обязательный Да
Application Этот API предоставляет информацию о запущенных и установленных приложений и контролирует их Обязательный Да
Data Control Этот API предоставляет интерфейсы и методы для доступа к определенным данным, экспортированным в другие приложения Обязательный Да
Package Этот API предоставляет информацию об установке/удалении пакетов и получает информацию об установленных пакетах. Обязательный Да
Communication
Bluetooth Этот API позволяет контролировать Bluetooth. Необязательный Нет
Messaging Этот API позволяет отправлять и получать SMS, MMS, E-mail Необязательный Только электронная почта
Network Bearer Selection Этот API предоставляет интерфейсы и методы пользователям для установки сетевого канала для конкретного IP-адреса. Необязательный Нет
NFC Этот API позволяет получить доступ к устройству (м) NFC Необязательный Нет
Push Этот API предоставляет возможности для получения Push уведомлений Необязательный Да
Secure Element Этот API предоставляет интерфейсы и методы для доступа к Secure Elements Необязательный Нет
Content
Content Этот API предоставляет функциональные возможности для обнаружения мультимедийного контента (например, изображений, видео или музыки) Обязательный Да
Download Этот API предоставляет интерфейсы и методы для загрузки удаленных объектов с помощью HTTP запроса Обязательный Да
Exif Этот API предоставляет интерфейсы и методы для манипулирования данными Exif из файла в формате JPEG. Обязательный Да
Input/Output
Archive Этот API предоставляет интерфейсы и методы, для создания архивного файла, а также различные другие виды манипуляции (например, извлечение файлов, добавление файлов в архивный файл). Обязательный Да
Filesystem Этот API обеспечивает доступ к файловой системе устройства. Этот API может быть устаревшими в будущем, когда W3C API смогут получать доступ к системным файлам веб-приложений. Обязательный Да
Message Port Этот API предоставляет возможности для общения с другими приложениями Обязательный Да
Multimedia
Media Key Этот API предоставляет доступ к уведомлению о том, что кнопка media нажата или высвобождена Необязательный Нет
Sound Этот API предоставляет способ управления уровнем громкости звука Обязательный Да
Social
Account Этот API предоставляет интерфейсы и методы для управления учетными записями (например, создать учетную запись, изменить данные учетной записи). Обязательный Да
Bookmark Этот API предоставляет интерфейсы и методы для доступа к закладкам. Обязательный Да
Calendar Этот API позволяет управлять информацией календаря Обязательный Да
Call History Этот API предоставляем доступ к журналу вызовов сотовой связи и VoIP звонков. Необязательный Нет
Contact Этот API позволяет управлять контактной информацией. Обязательный Да
Data Synchronization Этот API предоставляет методы для синхронизации данных с устройства на сервер, используя протокол OMA DS 1.2 Необязательный Нет
System
FM Radio Этот API предоставляет интерфейсы и методы для прослушивания FM-радио Необязательный Да
Human Activity Monitor Этот API предоставляет интерфейсы и методы для получения данных о деятельности человека от различных сенсоров на устройстве Необязательный Да Только HRM
Power Этот API предоставляет интерфейсы и методы для управления батареей Обязательный Да
Sensor Этот API предоставляет интерфейсы и методы для получения данных от различных датчиков, установленных на устройстве Необязательный Да
System Information Этот API предоставляет информацию о дисплее, сетевых устройствах, хранилище и т.д. Обязательный Да
System Setting Этот API предоставляет функциональные возможности по настройкам системы Обязательный Да
Time Этот API предоставляет информацию о дате, времени и часовых поясах Обязательный Да
Web Setting Этот API управляет настройками состояния веб-просмотра в веб-приложениях Обязательный Да
User Interface
Badge Этот API предоставляет способ отображения счетчика уведомлений (значки) на главном экране. Обязательный Да
Notification Этот API предоставляет возможность уведомления пользователя о событиях, происходящих в приложении Обязательный Да

Безопасность и привилегии API

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

Приложения, использующие такие чувствительные к безопасности API, должны объявлять необходимые привилегии в файле config.xml.

Если приложение вызывает привилегированное API, Tizen проверяет наличие привилегии в файле config.xml. Если привилегия в файле отсутствует, то система запрещает выполнение приложений.

Tizen IDE также обеспечивает инструменты проверки привилегий в исходном коде приложения, на предмет каких-либо нарушений привилегий.

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

Таблица 4.2. Привилегии Mobile Web Device API
Привилегия Уровень Название Описание
http://tizen.org/privilege/account.read public Чтение учетной записи Приложение может читать учетную запись
http://tizen.org/privilege/account.write public Управление аккаунтами Приложение может создавать, редактировать и удалять учетные записи.
http://tizen.org/privilege/alarm public Установка будильников Установка будильника
http://tizen.org/privilege/application.info public Получение информации о приложениях Приложение может извлекать информацию, связанную с другими приложениями.
http://tizen.org/privilege/application.launch public Открытие приложений Приложение может открывать другие приложения, использующие ID приложения или управлять приложениями.
http://tizen.org/privilege/appmanager.certificate partner Получение сертификата приложения Приложение может запрашивать сертификат
http://tizen.org/privilege/appmanager.kill partner Закрытие приложения Приложение может закрывать другие приложения.

Фильтрация приложений

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

Фильтрация на основе функций

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

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

Например, если приложение хочет использовать информацию о местоположении, оно может проверить возможность использования устройства с помощью метода thegetCapability() интерфейса SystemInfo (в мобильных и носимых приложений). Если устройство поддерживает GPS, приложение может использовать информацию GPS, а, если устройство поддерживает только WPS, приложение будет использовать WPS вместо GPS.

Если файл config.xml пакета приложений включает в себя список функций, магазин Tizen будет сравнивать возможности устройства с требуемыми возможностями приложения. Магазин лишь предоставляет список приложений, чьи возможности совпадают с возможностями устройства, и, таким образом, предотвращает недопустимые приложения, которые могут быть установлены.

Фильтрация на основе возможностей

увеличить изображение
Рис. 4.1. Фильтрация на основе возможностей

Если в списке возможностей приведены множественные возможности, то Tizen Store создаст условия фильтрации с помощью оператора AND, например, если в списке присутствуют такие свойства http://tizen.org/feature/network.nfc и http://tizen.org/feature/network.bluetooth значит устройство должно поддерживать и bluetooth и nfc.

Web Runtime

Web Runtime (WRT) engine позволяет веб-приложениям запускаться вне браузера. Вы можете инсталлировать и использовать их как отчуждаемые приложения. Web Runtime предоставляет следующие возможности:

  • Управление веб-приложениями. Содержит информацию о поддерживаемых типах веб-приложений и управляет веб-приложениями.
  • Поддержка Web Runtime API. Содержит информацию об API, и функциях, поддерживаемых Web Runtime.
  • Web Application Security and Privacy. Содержит информацию о ключах безопасности и конфиденциальности для веб-приложений.

Управление веб-приложениями

Web Runtime поддерживает следующие типы веб-приложений:

  • Упакованные веб-приложения
  • Установленные на хостинге веб-приложений

Все веб-приложения должны быть упакованы в соответствии с рекомендациями Widget Packaging and XML Configuration guidelines. Однако, в отличие от упакованных веб-приложений, размещенных веб-приложения имеют внешне размещенный документ, в качестве начальной страницы.

Управлять веб-приложениями можно благодаря:

  • Инсталляции веб-приложений

    Инсталляция веб-приложений должна производиться в соответствии с guidelines for processing a widget package. После инсталляции WRT посылает соответствующее уведомление.

    Web Runtime также регистрирует веб-приложения на экране в режиме ожидания устройства. Он использует значок и название веб-приложений, полученное в соответствии с правилами упаковки веб-виджетов.

    Если установка веб-приложений не удается из-за сбоя питания, Web Runtime переустанавливает ее в ходе следующего загрузки.

    Замечание:

    Веб-приложение может быть инсталлировано из Tizen Store или может быть загружено со стороны, например,через браузер или Bluetooth. Элемент <feature> игнорируется в процессе инсталляции веб-приложений Tizen.

  • Обновление веб-приложений

    WRT поддерживает обновление веб-приложений при появлении новых версий.

  • Деинсталляция веб-приложений

    WRT Поддерживает деинсталляцию веб-приложений. При этом удаляются все сохраненные данные, куки и папка локального хранилища.

https://developer.tizen.org/dev-guide/2.3.0/org.tizen.gettingstarted/html/details/sec_privileges.htm#web

< Лекция 3 || Лекция 4 || Лекция 5 >