Tizen Native APIs
You can develop native applications using the native API modules. You can create diverse applications with a variety of features, and design versatile applications and intriguing user interfaces with text and graphics while taking advantage of many device functionalities, such as sensors and call operations. In addition, you can, for example, manage content and media files, use network and social services, and provide messaging and embedded Web browsing functionality.
The Tizen platform also provides a special kind of native application model, which consists of one UI native application and one or more native service applications.
The native API specification consists of multiple API modules that represent the versatility and wide variety of features that you can implement in your native application. Each API module represents a set of logically similar submodule APIs which can be grouped into the same category. This structure was designed to make it easier for you to narrow down and find the specific methods that you require to implement a feature in your native application.
There are two types of submodules - Tizen native modules and open source modules. The integration of open source modules in the native API structure allows you to add additional features by using well-known open source libraries. This is particularly advantageous for developers who are familiar with certain libraries because they can quickly add features and use previously written code in certain cases.
Native API Modules
The following list defines Tizen Native API. The list describes the API modules and the functionality of all their submodule APIs within that module. The list also acts as a reference source for when you are planning a new feature for your application and need a way to efficiently compare different API modules to decide which APIs to use.
-
Account
The Account API module features include managing various account information, such as receiving sync operation notifications and obtaining an access token by using the OAuth 2.0 authorization.
API submodule Functionality API reference Guide AccountManager Provides CRUD (Create, Read, Update, Delete) account management functionality. Latest Account Management FIDO Client Allows you to utilize the device’s available authenticators for online service integration. Latest FIDO Universal Authentication Framework OAuth 2.0 Provides an easy way to gain an access token between a server and client. Latest OAuth 2.0 Sync Manager Helps applications in scheduling their data sync operations. Latest Synchronization Management libOAuth Provides a library for using an open standard for secure authorization. This library enables users to securely log into an account on an application by using their logon credentials from another secondary account that they can have with another account provider or application. Latest -
Application Framework
The Application Framework API contains submodule APIs for application development. The submodule APIs enable application life-cycle management, usage of functionality that is exported by other applications, and access to a user’s application preferences.
API submodule Functionality API reference Guide Application Manages the application’s main event loop, state change events, and basic system events, and gets information about the application. It is also used to launch other applications. Latest Applications Application Manager Gets information, such as the application ID and path to the shared data directory, of the current application and other installed or running applications. Latest Application Manager Attach Panel Provides a panel in which users can take pictures, record voice, and select files to attach. Latest Attach Panel Badge Creates and removes badges on the application’s home screen icon. A badge is an image displayed on the application icon, which informs the user about notifications and events. This submodule can also be used to set and get the badge value and visibility. Latest Application Icons Bundle Provides a string-based dictionary abstract data type (ADT). A dictionary is an ordered or unordered list of key-element pairs. Keys are used to locate elements in the list. This submodule can be used to create and manage a dictionary. Latest Data Bundle Data Control Exchanges data between applications by allowing an application to query the public database of another application that has opted to be a data provider. Latest Data Control Message Port Sends and receives small messages between applications without interference from other applications and processes. Each message is a bundle. Latest Message Port Notification Creates, inserts, and updates notifications so that applications can relay information to users. Visuals, sounds, or vibrations can be used as notifications. Latest Notifications Package Manager Stores and receives information related to packages installed on the device. This is information can be, for example, the package name, path to the icon image, or the application version. It can also be used to check whether two package certificates match. If they match, they have been created by the same developer and can share resources securely. Latest Package Manager RPC Port Provides functions to send and receive messages between applications. Latest RPC Port Service Application Handles Tizen service application (non-UI application) state changes and system events. It is also used to start and exit the main event loop of service applications. Latest Service Application Shortcut Adds application shortcuts to the device home screen, the main landing screen of the device. Latest Application Icons Tizen Core Tizen Core is a new main loop that improves the existing main loop model. It supports creating and running the main loop in multiple threads. Tizen Core provides an API that supports secure communication between threads. Latest Tizen Core Widget Handles Tizen widget application state changes and system events. It is also used to start and exit the main event loop of widget applications. Latest EFL Widget Application -
Base
The Base API contains submodule APIs for internationalization support and contains various open source libraries.
API submodule Functionality API reference C++ Standard Library Provides a standard C++ library. Latest Common Error Provides error codes that are common for the whole Tizen API. Latest Glib Provides low-level libraries and advanced data structures, such as linked lists and hash tables, for use in application development. Latest Glibc Provides a standard C library. Latest LibXML Used to parse XML documents, such as the Application Manifest. Latest Minizip Provides a library to process files in the ZIP format. It can be used to zip, unzip and compress files. Latest OpenMP Supports shared memory multiprocessing. This can be used for complex tasks on multicore processors. Latest Sqlite Implements a lightweight SQL relational database. This is widely used for embedded client or local storage. Latest Utils > i18n Provides internationalization (i18n) support, such as flexibly generating date formats and numbers, depending on the locale setting of the device. Latest zlib Used for in-memory compression and decompression. Latest -
Content
The Content API module contains submodule APIs for managing the most common device media data types, such as image, audio, and video files. It provides operations to search for content, search for content information stored on the device, create playlists, download content from servers through an HTTP connection, and access the EXIF information in an image file.
API submodule Functionality API reference Guide Download Creates and manages one or more download requests. Content is downloaded from servers through an HTTP connection. Latest Download MIME Type Maps MIME types to file extensions and vice versa. For example, the .jpeg
file extension is mapped to theimage/jpeg MIME
type, which is required when using other API modules, such as the AppControl API in the Application submodule API, because it operates with MIME types.Latest Metadata Media Content Connects and disconnects from the media content service. This connection is required to insert, update and remove media file information in the media content database. Common media data types, such as image, audio, and video can be managed through the database. Other queries, such as searching for content and content information and accessing EXIF information from image files, are also possible. Latest Media Content -
Context
The Context API module contains submodule APIs to detect user information, such as when a user is running with a device, and device information, such as gestures when a device is tilted.
API submodule Functionality API reference Guide Contextual History Allows you to query statistics and patterns derived from contextual history data. Latest Contextual Device Usage History Data Contextual Trigger Provides a way to define rules, each of which can trigger a specified action when the rule is satisfied. Latest Contextual System Event Trigger -
Location
The Location API module allows the geographical position of a device to be determined for use with location-based services.
API submodule Functionality API reference Guide GeofenceManager Provides a service related to geofence (geo-fence). Latest Geofences LocationManager Acquires information about the geographical location of the device. It also allows the receiving of notifications about position changes, velocity changes, and when a given geographical area is left. Latest Location Information Maps Service Provides a set of functions, helping to create map-aware applications. Latest Maps and Maps Service -
Messaging
The Messaging API module contains submodule APIs which grant access to the messaging capabilities, such as SMS, MMS and email, of the device.
API submodule Functionality API reference Guide Email Allows composing, sending, and receiving of email messages. Latest Email Messages Allows composing, sending, and receiving of SMS, MMS, and WAP push messages. Latest Messages Push Allows receiving of push notifications from a push server. Latest Push, Push Server -
Multimedia
The Multimedia API module contains submodule APIs for easily integrating an application with audio, image, and video files. It can also be used for image editing.
API submodule Functionality API reference Guide Audio I/O Manages the system audio devices by granting access to the hardware layer of the sound card. This API must be used for tasks that require raw audio data buffers in PCM format. Latest Raw Audio Playback and Recording Camera Accesses the camera preview to display photo previews, focuses images, and captures images. Latest Camera Image Util Encodes and decodes JPEG images. It also provides tools, such as crop, resize, and rotate, to transform images. Latest Image Editing, Image Recognition Media Codec Provides interfaces for encoding and decoding audio and video data, such as AAC audio or MPEG-4 AVC video. Latest Media Conversions Media Controller Provides functions for communication between the media controller server and the media controller client. Latest Media Controller Media Demuxer Provides functions for demuxing media data. Latest Media Muxing Media Muxer Provides functions for muxing media data. Latest Media Muxing Media Tool Handles audio and video packet buffers. These buffers are utilized by the other Multimedia submodule APIs. Latest Media Handle Management, Media Muxing Media Vision Provides functionality for bar code detection and generation. Since 3.0, it also provides functionality for face detection, and tracking and recognition of both images and faces. Latest Barcode Detection and Generation Metadata Editor Provides functions for editing the metadata of several popular audio formats. Latest Metadata Metadata Extractor Extracts metadata information from an input media file. Latest Metadata OpenAL Renders multichannel 3D audio. Latest OpenAL Player Provides functions for media playback and can be used to control media playback attributes. Latest Media Playback Radio Supports radio usage. This submodule API can be used for tasks, such as starting and stopping the radio and scanning for radio channels. Latest Radio Recorder Controls the recording of multimedia content. Recording process attributes, such as setting the recording filename and file format, can also be configured with this API submodule. Latest Media Recording Screen Mirroring Provides functions for screen mirroring as a sink. Latest Screen Mirroring Sound Manager Provides functions to get and set sound parameters, such as output sound volume. Session policy, such as the handling of sound session interrupts, can also be configured with this API submodule. Latest Sound Manager Sound Pool Provides functions for easy sound management, such as grouping sounds in pools, handling sound stream playback operations, and controlling stream and pool states. Latest Sound pools Thumbnail Util Provides functions for creating the thumbnail from an input media file. Latest Thumbnail Images Tone Player Plays and stops tones. Latest Media Playback WAV Player Plays and stops Waveform Audio File (WAV) format files. Latest Media Playback libEXIF Supports an image file format that extends existing formats, such as JPEG and TIFF. Many Tizen devices have a camera and use the EXIF format, and libEXIF can be used to read and write EXIF metainformation to and from image files. Latest -
Network
The Network API module contains submodule APIs, which can be used for data communication. It is responsible for managing connections, maintaining IP addresses, and connecting to the system through Bluetooth, Hypertext Transfer Protocol (HTTP), Near Field Communication (NFC), Sockets, and Wi-Fi. It also provides functions for retrieving information about a specific host from the Internet Domain Name System (DNS).
API submodule Functionality API reference Guide Application Service Platform Provides functions for discovery and session management using the Application Service Platform. Latest Bluetooth Manages Bluetooth devices. This involves launching the Bluetooth adapter and discovering, connecting, and bonding with other Bluetooth devices. Latest Bluetooth Connection Gets network connection information, such as IP address, proxy information, gateway information, connection state, and data transfer statistics. Latest Connection Manager Curl Provides a client-side URL data transfer library supporting HTTP, HTTPS, FTP, and file URIs, among many other protocols. Curl allows applications to perform URL-related activities without a Web browser. Latest Curl DNSSD Provides functions for network service discovery using DNSSD. Latest Network Service Discovery HTTP Allows you to connect to a Web server to fetch and transmit a Web resource. Latest HTTP Intelligent Network Monitoring Provides API to manage monitoring network status. Latest INM IoTCon Provides functions for IoT connectivity. Latest, IoTCon MTP Manages Media Transfer Protocol (MTP) file transfers between two devices. Latest MTP NFC Allows management, such as registering and deregistering event listeners, of short-range wireless near field communication (NFC). This submodule API must also be used to read, write, receive, and send NFC messages. Latest NFC SSDP Provides functions for network service discovery using SSDP. Latest Network Service Discovery Smart Traffic Control Provides functions for managing and monitoring network packets. Latest STC Smartcard Provides application communication to the SE applet functions. Latest Smartcard SoftAP Consists of SoftAP Manager and SoftAP Client. SoftAP Manager provides functions for managing the SoftAP and SoftAP Client provides functions for getting the information about a connected client. Latest SoftAP VPN Service Manages Virtual Private Network (VPN) connections between two VPN devices. Latest VPN Connections Wi-Fi Manages Wi-Fi connections and monitors the state of Wi-Fi connections. Latest Wi-Fi Wi-Fi Aware Enables devices to discover and connect directly to each other without any other type of connectivity between them or without wireless access points (base stations) in the infrastructure mode. Latest Wi-Fi Aware Wi-Fi Direct Manages the settings of Wi-Fi Direct. This submodule API also provides functions to connect and disconnect remote devices that use Wi-Fi Direct. Latest Wi-Fi Direct -
Security
The Security API module contains submodule APIs which provide basic cryptographic functions, various utility functions through the OpenSSL open source library, and a secure password-protected repository for keys, certificates, and sensitive data.
API submodule Functionality API reference Guide CSR Provides the Content Screening Service to scan the content for data, files, and directories, and the Web Protection Service to protect a device by checking whether a URL the user wants to access is risky. Latest CSR Device Certificate Manager Provides cryptography services (digital certificates and keys) for authentication and secure communication with another system. Latest Device Certificate Manager Device Policy Manager Provides functions to create security-aware applications that are useful in enterprise settings. Latest Device Policy Manager Key Manager Provides functions to store keys, certificates, and sensitive data related to users and their password-protected applications in a secure repository. It also provides cryptographic operations to prevent key value names from being revealed to clients. Latest Key Manager OpenSSL Provides an open source library that provides basic cryptographic functions and various utility functions. Latest Privacy Privilege Manager Provides functions for retrieving and determining an application’s permissions for privacy privileges. Latest Privacy Privilege Manager Privilege Info Retrieves and displays privilege information. This can be used to show a user the privileges that an application contains when they are downloading it onto their device. This is so that they are aware of the resources which the application may access. Latest Privilege Information Trusted Execution Framework Provides the TEE Client API as defined by the GlobalPlatform TEE standard for connecting to applications executed in the TrustZone. Latest YACA Provides cryptographic functions, such as key management, data integrity, data encryption and decryption, and low-level RSA operations. Latest YACA -
Social
The Social API module contains submodule APIs to manage personal data, such as contacts and calendars, on a device.
API submodule Functionality API reference Guide Calendar Manages calendars, including events and tasks. It also stores and queries calendar information. Latest Calendar Contacts Manages phone contact information, such as address books, persons, and phone logs. Latest Contacts Phonenumber utils Provides functions for parsing and formatting phone numbers. Latest Phone Number Management -
System
The System API module contains submodule APIs for system management.
API submodule Functionality API reference Guide Device Controls devices and monitors their status. For example, this submodule API can be used to control and monitor the device battery, display, and LED. Latest System Information Dlog Sends log output and filters log messages from the dlog logging service. Latest Feedback Provides functions to play sound or vibration associated with properties. Latest Feedback Media key Provides functions to handle media keys from external devices that are connected to the Tizen device, such as the volume control buttons on a headset. Latest Media Key Runtime information Obtains runtime information. For example, this submodule API can obtain information about the device’s GPS. Latest Runtime Information Sensor Starts and stops sensors and receives sensor data. Latest Device Sensors Storage Obtains storage information, such as root directory, storage type (internal or external), storage status, and total available space size. Latest Data Storage System Information Obtains information about the device, such as the platform and API version, device model, supported device features, and screen dimensions. Latest System Information System Settings Manages system settings, such as the lock screen settings. Latest System Settings T-trace Provides functions for writing trace messages to the system trace buffer. Latest Tracepoints USB Host Provides direct access to USB devices to communicate with connected devices. Latest USB Host -
Telephony
The Telephony API module contains a submodule API to enable an application to access the telephony capabilities of the device, such as the call facility (call information and status), the network query services, and the SIM module.
-
UI
The UI API module contains submodule APIs and open source libraries for 2D and 3D graphics and text.
API submodule Functionality API reference Guide Clipboard History Manager Provides copy and paste functionalities for applications. Latest EFL Provides a collection of libraries that are independent and can be built on top of each other to provide useful features that complement the existing environment. Latest EFL EFL UTIL Gets and sets the priority order of notification windows. Latest EFL Utilities EFL Extension Enhances the EFL libraries and includes device-specific features (such as support for the hardware Back key). Latest Managing Rotary Events External Output Manager Provides functions for external outputs. Latest Fontconfig and Freetype Provides a text rendering library and font-handling library to let applications find a font or closely matching font. Latest HarfBuzz Provides functions for text shaping. Latest Minicontrol Provides functions for creating and displaying an EFL socket window. Latest Minicontrol Window OpenGL ES Provides a library for rendering 3D and 2D graphics in embedded systems. Latest OpenGL ES SDL Provides a low level hardware abstraction layer to computer multimedia hardware components. It manages video, audio, input devices, threads, and timers. Latest SDL TBM Surface Provides functions for the graphics buffer. Latest Graphic Buffer and Surface Tizen Window System Shell Allows you to communicate with the window manager. Latest Tizen Window System Shell Vulkan Provides functions for rendering 3D and 2D graphics in embedded systems. Latest Vulkan -
UIX
The UIX API module contains submodule APIs for handling input method, recognizing gestures, and managing sound data such as voice commands.
API submodule Functionality API reference Guide Gesture Provides functions for recognizing hand gestures from input sensor data. Latest Gesture Input Method Provides functions for starting the IME application life-cycle, for interacting with the current UI state of the IME, and getting attributes and events. Latest Input Method Input Method Manager Provides functions for launching the input method editor (IME) list and selector settings. Latest Input Method Multi assistance Provides functions for supporting users to use several assistants. Latest Input Method STT Provides functions to recognize speech. Latest Speech-to-text STT Engine Provides functions for operating the Speech-To-Text engine. Latest Speech-to-text TTS Provides functions for synthesizing voice from text and playing synthesized sound data. Latest Text-to-speech TTS Engine Provides functions for operating the Text-To-Speech engine. Latest Text-to-speech Engine Voice control Provides functions for registering commands and getting notifications when a registered command is recognized. Latest Voice Control Voice control elementary Provides functions to control UI components through voice commands. Latest Voice Control Voice control engine Provides functions to operate Voice-Control Engine. Latest Voice Control Voice control manager Provides functions for recording voice and giving responses for recognized voice commands to users. Latest Voice Control -
Web
The Web API module contains submodule APIs for browsing the Internet, tracking browsing history, downloading Web content, and manipulating JavaScript Object Notation (JSON) documents.
API submodule Functionality API reference Guide Json-Glib Allows reading and parsing of JavaScript Object Notation (JSON) documents. Latest WebView Displays and controls Web pages. This submodule API contains interfaces for browsing, tracking browsing history, and downloading Web content. Latest Web View
Note
If you have an application based on Tizen 2.3, use the Migration Guide to make it conform to Tizen 2.4 Application Framework APIs.
Related Information
- Dependencies
- Since Tizen 2.4