Основы программирования на Tizen
Tizen Web Device API, основанный на JavaScript, предоставляет расширенный доступ к аппаратным возможностям платформы. С помощью Tizen Web Device API можно создавать насыщенные Интернет-приложения, управлять жизненным циклом приложений, управлять расписанием, обмениваться данными или осуществлять платежи, используя NFC.
Ниже приводится список интерфейсов прикладного программирования 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 также обеспечивает инструменты проверки привилегий в исходном коде приложения, на предмет каких-либо нарушений привилегий.
В следующей таблице приводятся образцы привилегий, обязательных к декларированию.
Привилегия | Уровень | Название | Описание |
---|---|---|---|
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 будет сравнивать возможности устройства с требуемыми возможностями приложения. Магазин лишь предоставляет список приложений, чьи возможности совпадают с возможностями устройства, и, таким образом, предотвращает недопустимые приложения, которые могут быть установлены.
Если в списке возможностей приведены множественные возможности, то 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 Поддерживает деинсталляцию веб-приложений. При этом удаляются все сохраненные данные, куки и папка локального хранилища.