Mobile native Wearable native

Tizen 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 1 UI native application and 1 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 2 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.

The following figure and tables define the Tizen native API layout. The tables describe the API modules and the functionality of all their submodule APIs within that module. The tables also act as reference sources 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.

Figure: Native API layout

Native API layout

Note
Except as noted, the mobile native APIs are available since Tizen 2.3.
Table: Mobile native API modules
API module Description API submodule Functionality
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.

Documentation:

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.
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.
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.
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.
Bundle A bundle is 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.
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.
Message Port Sends and receives small messages between applications without interference from other applications and processes. Each message is a bundle.
Notification Creates, inserts, and updates notifications so that applications can relay information to users. Visuals, sounds, or vibrations can be used as 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 2 package certificates match. If they match, they have been created by the same developer and can share resources securely.
Shortcut Adds application shortcuts to the device home screen, which is the main landing screen of the device.
Widget

(since 2.3.1)

Handles Tizen widget application state changes and system events. It is also used to start and exit the main event loop of widget applications.
Base The Base API contains submodule APIs for internationalization support and contains various open source libraries.

Documentation:

C++ Standard Library Standard C++ library.
EGlibc Standard C library.
Glib Provides low-level libraries and advanced data structures, such as linked lists and hash tables, for use in application development.
i18n Provides internationalization (i18n) support, such as flexibly generating date formats and numbers, depending on the locale setting of the device.
LibXML This library can be used to parse XML documents such as the Application Manifest.
Minizip Provides a library to process files in the .zip format. It can be used to zip, unzip and compress files.
OpenMP Supports shared memory multiprocessing. This can be used for complex tasks on multicore processors.
Sqlite Implements a lightweight SQL relational database. This is widely used for embedded client or local storage.
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 of an image file.

Documentation:

Download Creates and manages one or more download requests. Content is downloaded from servers through an HTTP connection.
MIME Type Maps MIME types to file extensions and vice versa. For example, the .jpeg file extension is mapped to the image/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.
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.
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.

Documentation:

Activity Recognition Detects user activities, such as walking, running, and being in a moving vehicle with a device.
Gesture Recognition Detects user gestures on devices, such as tilt, snap, and double-tap.
Location The Location API module allows the geographical position of a device to be determined for use with location-based services.

Documentation:

Location Manager 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.
Messaging The Messaging API module contains submodule APIs which grant access to the messaging capabilities, such as SMS, MMS and email, of the device.

Documentation:

Email Allows composing, sending, and receiving of email messages.
Messages Allows composing, sending, and receiving of SMS, MMS, and WAP push messages.
Push Allows receiving of push notifications from a 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.

Documentation:

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.
Camera Accesses the camera preview to display photo previews, focuses images, and captures images.
Image Util Encodes and decodes JPEG images. It also provides tools, such as crop, resize, and rotate, to transform images.
libEXIF EXIF is an image file format that extends existing formats, such as JPEG and TIFF. Many Tizen devices have a camera and use this format, and libEXIF can be used to read and write EXIF metainformation to and from image files.
Media Codec Provides interfaces for encoding and decoding audio and video data, such as AAC audio or MPEG-4 AVC video.
Media Tool Handles audio and video packet buffers. These buffers are utilized by the other Multimedia submodule APIs.
Metadata Extractor Extracts metadata information from an input media file.
OpenAL Efficiently renders multichannel 3D audio.
Player Provides functions for media playback and can be used to control media playback attributes.
Radio Supports radio usage. This submodule API can be used for tasks, such as starting and stopping the radio and scanning for radio channels.
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.
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.
Tone Player Plays and stops tones.
Video Util Transcodes or converts media files from one encoding to another. This API supports certain video codecs, audio codecs, and file formats.
WAV Player Plays and stops Waveform Audio File (WAV) format files.
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 methods for retrieving information about a specific host from the Internet Domain Name System (DNS).

Documentation:

Bluetooth Manages Bluetooth devices. This involves launching the Bluetooth adapter and discovering, connecting, and bonding with other Bluetooth devices.
Connection Gets network connection information, such as IP address, proxy information, gateway information, connection state, and data transfer statistics.
Curl A client-side URL data transfer library supporting http, https, ftp, file URIs, and many other protocols. Allows applications to perform URL-related activities without a Web browser.
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.
Wi-Fi Manages Wi-Fi connections and monitors the state of Wi-Fi connections.
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â„¢.
Smartcard

(since 2.3.1)

Provides application communication to the SE applet methods.
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.

Documentation:

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.
OpenSSL An open source library that provides basic cryptographic functions and various utility functions.
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.
Social The Social API module contains submodule APIs to manage personal data, such as contacts and calendars on a device.

Documentation:

Account Manager An account is a collection of information representing the user of a specific account provider. This API submodule creates and manages accounts, retrieves account information, and receives account change notifications.
Calendar Manages calendars, including events and tasks. It also stores and queries calendar information.
Contacts Manages phone contact information, such as address books, persons, and phone logs.
System The System API module contains submodule APIs for system management.

Documentation:

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.
Media key Provides methods to handle media keys from external devices that are connected to the Tizen device, such as the volume control buttons on a headset.
Runtime information Obtains runtime information of a mobile device. For example, this submodule API can obtain information about the device's GPS.
Sensor Starts and stops sensors and receives sensor data.
Storage Obtains storage information, such as root directory, storage type (internal or external), storage status, and total available space size.
System Information Obtains information about the device, such as the platform and API version, device model, supported device features, and screen dimensions.
System Settings Manages system settings, such as the lock screen settings.
dlog Sends log output and filters log messages from the dlog logging service.
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.

Documentation:

Telephony Information Obtains call, network, and SIM information.
UI Framework The UI Framework API module contains submodule APIs and open source libraries for 2D and 3D graphics and text.

Documentation:

Cairo A library for 2D vector graphics drawing. Vector graphics are advantageous because they have small file sizes and can be scaled to any size without any loss of image quality. Cairo EvasGL APIs have been newly added since 2.3.1.
EFL EFL is 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.
EFL UTIL Gets and sets the priority order of notification windows.
EFL Extension

(since 2.3.1)

Enhances the EFL libraries and includes device-specific features (such as support for the hardware Back key).
Fontconfig and Freetype A text rendering library and font-handling library to let applications find a font or closely matching font.
TBM Surface The Tizen Buffer Manager (TBM) surface provides functions for the graphics buffer.
UIX The UIX API module contains submodule APIs for managing sound data, such as voice commands.

Documentation:

STT This API submodule provides functions to recognize speech.
TTS This API submodule provides functions for synthesizing voice from text and playing synthesized sound data.
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.

Documentation:

Json-Glib This library allows reading and parsing of JavaScript Object Notation (JSON) documents.
libOAuth 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 may have with another account provider or application.
WebView Displays and controls Web pages. This submodule API contains interfaces for browsing, tracking browsing history, and downloading Web content.

The following table describes the API modules in the wearable profile and the functionality of all their submodule APIs.

Note
The wearable native profile is available since Tizen 2.3.1.
Table: Wearable native API modules
API module Description API submodule Functionality
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.

Documentation:

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.
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.
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.
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.
Bundle A bundle is 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.
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.
Message Port Sends and receives small messages between applications without interference from other applications and processes. Each message is a bundle.
Notification Creates, inserts, and updates notifications so that applications can relay information to users. Visuals, sounds, or vibrations can be used as 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 2 package certificates match. If they match, they have been created by the same developer and can share resources securely.
Watch Application Handles Tizen watch application state changes and system events. It is also used to start and exit the main event loop of watch applications.
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.
Base The Base API contains submodule APIs for internationalization support and contains various open source libraries.

Documentation:

C++ Standard Library Standard C++ library.
EGlibc Standard C library.
Glib Provides low-level libraries and advanced data structures, such as linked lists and hash tables, for use in application development.
i18n Provides internationalization (i18n) support, such as flexibly generating date formats and numbers, depending on the locale setting of the device.
LibXML This library can be used to parse XML documents such as the Application Manifest.
Minizip Provides a library to process files in the .zip format. It can be used to zip, unzip and compress files.
OpenMP Supports shared memory multiprocessing. This can be used for complex tasks on multicore processors.
Sqlite Implements a lightweight SQL relational database. This is widely used for embedded client or local storage.
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, and access the EXIF information of an image file.

Documentation:

MIME Type Maps MIME types to file extensions and vice versa. For example, the .jpeg file extension is mapped to the image/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.
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.
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.

Documentation:

Activity Recognition Detects user activities, such as walking, running, and being in a moving vehicle with a device.
Gesture Recognition Detects user gestures on devices, such as tilt, snap, and double-tap.
Location The Location API module allows the geographical position of a device to be determined for use with location-based services.

Documentation:

Location Manager 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.
Messaging The Messaging API module contains submodule APIs which grant access to the messaging capabilities, such as SMS and MMS, of the device.

Documentation:

Messages Allows composing, sending, and receiving of SMS, MMS, and WAP push messages.
Push Allows receiving of push notifications from a 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.

Documentation:

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.
Camera Accesses the camera preview to display photo previews, focuses images, and captures images.
Image Util Encodes and decodes JPEG images. It also provides tools, such as crop, resize, and rotate, to transform images.
libEXIF EXIF is an image file format that extends existing formats, such as JPEG and TIFF. Many Tizen devices have a camera and use this format, and libEXIF can be used to read and write EXIF metainformation to and from image files.
Media Codec Provides interfaces for encoding and decoding audio and video data, such as AAC audio or MPEG-4 AVC video.
Media Tool Handles audio and video packet buffers. These buffers are utilized by the other Multimedia submodule APIs.
Metadata Extractor Extracts metadata information from an input media file.
OpenAL Efficiently renders multichannel 3D audio.
Player Provides functions for media playback and can be used to control media playback attributes.
Radio Supports radio usage. This submodule API can be used for tasks, such as starting and stopping the radio and scanning for radio channels.
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.
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.
Tone Player Plays and stops tones.
WAV Player Plays and stops Waveform Audio File (WAV) format files.
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 methods for retrieving information about a specific host from the Internet Domain Name System (DNS).

Documentation:

Bluetooth Manages Bluetooth devices. This involves launching the Bluetooth adapter and discovering, connecting, and bonding with other Bluetooth devices.
Connection Gets network connection information, such as IP address, proxy information, gateway information, connection state, and data transfer statistics.
Curl A client-side URL data transfer library supporting http, https, ftp, file URIs, and many other protocols. Allows applications to perform URL-related activities without a Web browser.
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.
Wi-Fi Manages Wi-Fi connections and monitors the state of Wi-Fi connections.
Smartcard Provides application communication to the SE applet methods.
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.

Documentation:

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.
OpenSSL An open source library that provides basic cryptographic functions and various utility functions.
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.
System The System API module contains submodule APIs for system management.

Documentation:

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.
Media key Provides methods to handle media keys from external devices that are connected to the Tizen device, such as the volume control buttons on a headset.
Runtime information Obtains runtime information of a wearable device. For example, this submodule API can obtain information about the device's GPS.
Sensor Starts and stops sensors and receives sensor data.
Storage Obtains storage information, such as root directory, storage type (internal or external), storage status, and total available space size.
System Information Obtains information about the device, such as the platform and API version, device model, supported device features, and screen dimensions.
System Settings Manages system settings, such as the lock screen settings.
dlog Sends log output and filters log messages from the dlog logging service.
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.

Documentation:

Telephony Information Obtains call, network, and SIM information.
UI Framework The UI Framework API module contains submodule APIs and open source libraries for 2D and 3D graphics and text.

Documentation:

Cairo A library for 2D vector graphics drawing. Vector graphics are advantageous because they have small file sizes and can be scaled to any size without any loss of image quality. This module also includes Cairo EvasGL APIs which have been designed to support hardware-accelerated rendering.
EFL EFL is 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.
EFL UTIL Gets and sets the priority order of notification windows.
EFL Extension Enhances the EFL libraries and includes device-specific features (such as support for rotary events).
Fontconfig and Freetype A text rendering library and font-handling library to let applications find a font or closely matching font.
TBM Surface The Tizen Buffer Manager (TBM) surface provides functions for the graphics buffer.
UIX The UIX API module contains submodule APIs for managing sound data, such as voice commands.

Documentation:

STT This API submodule provides functions to recognize speech.
TTS This API submodule provides functions for synthesizing voice from text and playing synthesized sound data.
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.

Documentation:

Json-Glib This library allows reading and parsing of JavaScript Object Notation (JSON) documents.
libOAuth 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 may have with another account provider or application.
WebView Displays and controls Web pages. This submodule API contains interfaces for browsing, tracking browsing history, and downloading Web content.
Go to top