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.

Note

Except as noted, the native APIs for mobile are available since Tizen 2.3 and the native APIs for wearable are available since Tizen 2.3.1.

  • 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. mobile, wearable Account Management
    FIDO Client Allows you to utilize the device’s available authenticators for online service integration. mobile (since 3.0), wearable (since 3.0) FIDO Universal Authentication Framework
    OAuth 2.0 Provides an easy way to gain an access token between a server and client. mobile (since 2.4), wearable (since 2.4) OAuth 2.0
    Sync Manager Helps applications in scheduling their data sync operations. mobile (since 2.4), wearable (since 2.4) 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. mobile, wearable
  • 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. mobile, wearable 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. mobile, wearable Application Manager
    Attach Panel Provides a panel in which users can take pictures, record voice, and select files to attach. mobile (since 2.4) 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. mobile, wearable 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. mobile, wearable 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. mobile wearable Data Control
    Message Port Sends and receives small messages between applications without interference from other applications and processes. Each message is a bundle. mobile, wearable 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. mobile, wearable 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. mobile, wearable Package Manager
    RPC Port Provides functions to send and receive messages between applications. mobile, wearable 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. mobile, wearable Service Application
    Shortcut Adds application shortcuts to the device home screen, the main landing screen of the device. mobile Application Icons
    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. wearable EFL Watch Application
    Watchface complication Provides feature to receive and request watchface complication data. It also provides editable management feature to request edit for complication and design elements to editor. wearable Watch Face Complications
    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. mobile (since 2.3.1), wearable 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. mobile, wearable
    Common Error Provides error codes that are common for the whole Tizen API. mobile, wearable
    Glib Provides low-level libraries and advanced data structures, such as linked lists and hash tables, for use in application development. mobile, wearable
    Glibc Provides a standard C library. mobile, wearable
    LibXML Used to parse XML documents, such as the Application Manifest. mobile, wearable
    Minizip Provides a library to process files in the ZIP format. It can be used to zip, unzip and compress files. mobile, wearable
    OpenMP Supports shared memory multiprocessing. This can be used for complex tasks on multicore processors. mobile, wearable
    Sqlite Implements a lightweight SQL relational database. This is widely used for embedded client or local storage. mobile, wearable
    Utils > i18n Provides internationalization (i18n) support, such as flexibly generating date formats and numbers, depending on the locale setting of the device. mobile, wearable
    zlib Used for in-memory compression and decompression. mobile (since 2.4), wearable (since 3.0)
  • 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. mobile Download
    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. mobile, wearable 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. mobile, wearable 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. mobile (since 2.4), wearable (since 4.0) 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. mobile (since 2.4) 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). mobile (since 2.4) 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. mobile, wearable Location Information
    Maps Service Provides a set of functions, helping to create map-aware applications. mobile (since 2.4), wearable (since 2.3.2) 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. mobile, wearable (since 3.0) Email
    Messages Allows composing, sending, and receiving of SMS, MMS, and WAP push messages. mobile, wearable Messages
    Push Allows receiving of push notifications from a push server. mobile, wearable 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. mobile, wearable Raw Audio Playback and Recording
    Camera Accesses the camera preview to display photo previews, focuses images, and captures images. mobile, wearable Camera
    Image Util Encodes and decodes JPEG images. It also provides tools, such as crop, resize, and rotate, to transform images. mobile, wearable 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. mobile, wearable Media Conversions
    Media Controller Provides functions for communication between the media controller server and the media controller client. mobile (since 2.4), wearable (since 3.0) Media Controller
    Media Demuxer Provides functions for demuxing media data. mobile (since 3.0), wearable (since 3.0) Media Muxing
    Media Muxer Provides functions for muxing media data. mobile (since 3.0), wearable (since 3.0) Media Muxing
    Media Tool Handles audio and video packet buffers. These buffers are utilized by the other Multimedia submodule APIs. mobile, wearable 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. mobile (since 2.4), wearable (since 3.0) Barcode Detection and Generation
    Metadata Editor Provides functions for editing the metadata of several popular audio formats. mobile (since 2.4), wearable (since 3.0) Metadata
    Metadata Extractor Extracts metadata information from an input media file. mobile, wearable Metadata
    OpenAL Renders multichannel 3D audio. mobile, wearable OpenAL
    Player Provides functions for media playback and can be used to control media playback attributes. mobile, wearable 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. mobile, wearable 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. mobile, wearable Media Recording
    Screen Mirroring Provides functions for screen mirroring as a sink. mobile (since 2.4) 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. mobile, wearable 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. mobile (since 4.0), wearable (since 4.0) Sound pools
    Thumbnail Util Provides functions for creating the thumbnail from an input media file. mobile (since 2.4), wearable (since 3.0) Thumbnail Images
    Tone Player Plays and stops tones. mobile (since 2.4), wearable (since 2.4) Media Playback
    WAV Player Plays and stops Waveform Audio File (WAV) format files. mobile, wearable 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. mobile, wearable
  • 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. mobile (since 4.0), wearable (since 4.0)
    Bluetooth Manages Bluetooth devices. This involves launching the Bluetooth adapter and discovering, connecting, and bonding with other Bluetooth devices. mobile, wearable Bluetooth
    Connection Gets network connection information, such as IP address, proxy information, gateway information, connection state, and data transfer statistics. mobile, wearable 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. mobile, wearable Curl
    DNSSD Provides functions for network service discovery using DNSSD. mobile (since 3.0), wearable (since 3.0) Network Service Discovery
    HTTP Allows you to connect to a Web server to fetch and transmit a Web resource. mobile (since 3.0), wearable (since 3.0) HTTP
    Intelligent Network Monitoring Provides API to manage monitoring network status. mobile (since 5.0), wearable (since 5.0) INM
    IoTCon Provides functions for IoT connectivity. mobile, (since 3.0), wearable (since 3.0) IoTCon
    MTP Manages Media Transfer Protocol (MTP) file transfers between two devices. mobile (since 3.0) 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. mobile, wearable NFC
    SSDP Provides functions for network service discovery using SSDP. mobile (since 3.0), wearable (since 3.0) Network Service Discovery
    Smart Traffic Control Provides functions for managing and monitoring network packets. mobile (since 4.0), wearable (since 4.0) STC
    Smartcard Provides application communication to the SE applet functions. mobile (since 2.3.1), wearable 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. mobile (since 5.0), wearable (since 5.0) SoftAP
    VPN Service Manages Virtual Private Network (VPN) connections between two VPN devices. mobile (since 3.0) VPN Connections
    Wi-Fi Manages Wi-Fi connections and monitors the state of Wi-Fi connections. mobile, wearable Wi-Fi
    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. mobile 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. mobile (since 3.0), wearable (since 3.0) CSR
    Device Certificate Manager Provides cryptography services (digital certificates and keys) for authentication and secure communication with another system. mobile (since 5.0), wearable (since 5.0) Device Certificate Manager
    Device Policy Manager Provides functions to create security-aware applications that are useful in enterprise settings. mobile (since 3.0), wearable (since 3.0) 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. mobile, wearable Key Manager
    OpenSSL Provides an open source library that provides basic cryptographic functions and various utility functions. mobile, wearable
    Privacy Privilege Manager Provides functions for retrieving and determining an application’s permissions for privacy privileges. mobile (since 4.0), wearable (since 4.0) 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. mobile, wearable 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. mobile (since 4.0), wearable (since 4.0)
    YACA Provides cryptographic functions, such as key management, data integrity, data encryption and decryption, and low-level RSA operations. mobile (since 3.0), wearable (since 3.0) 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. mobile, wearable Calendar
    Contacts Manages phone contact information, such as address books, persons, and phone logs. mobile, wearable Contacts
    Phonenumber utils Provides functions for parsing and formatting phone numbers. mobile (since 2.4), wearable (since 2.4) 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. mobile, wearable System Information
    Dlog Sends log output and filters log messages from the dlog logging service. mobile, wearable
    Feedback Provides functions to play sound or vibration associated with properties. mobile (since 2.4), wearable (since 2.4) 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. mobile, wearable Media Key
    Runtime information Obtains runtime information from a mobile device. For example, this submodule API can obtain information about the device’s GPS. mobile , wearable Runtime Information
    Sensor Starts and stops sensors and receives sensor data. mobile, wearable Device Sensors
    Storage Obtains storage information, such as root directory, storage type (internal or external), storage status, and total available space size. mobile, wearable Data Storage
    System Information Obtains information about the device, such as the platform and API version, device model, supported device features, and screen dimensions. mobile , wearable System Information
    System Settings Manages system settings, such as the lock screen settings. mobile, wearable System Settings
    T-trace Provides functions for writing trace messages to the system trace buffer. mobile (since 2.4), wearable (since 3.0) Tracepoints
    USB Host Provides direct access to USB devices to communicate with connected devices. mobile (since 3.0) 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.

    API submodule Functionality API reference Guide
    Telephony Information Obtains call, network, and SIM information. mobile, wearable Telephony
  • 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
    Cairo Provides 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. mobile, wearable Cairo
    Clipboard History Manager Provides copy and paste functionalities for applications. mobile (since 3.0)
    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. mobile wearable EFL
    EFL UTIL Gets and sets the priority order of notification windows. mobile, wearable EFL Utilities
    EFL Extension Enhances the EFL libraries and includes device-specific features (such as support for the hardware Back key). mobile (since 2.3.1), wearable Managing Rotary Events
    External Output Manager Provides functions for external outputs. mobile (since 2.4), wearable (since 3.0)
    Fontconfig and Freetype Provides a text rendering library and font-handling library to let applications find a font or closely matching font. mobile, wearable
    HarfBuzz Provides functions for text shaping. mobile (since 2.4), wearable (since 3.0)
    Minicontrol Provides functions for creating and displaying an EFL socket window. mobile (since 2.4), wearable (since 5.0) Minicontrol Window
    OpenGL ES Provides a library for rendering 3D and 2D graphics in embedded systems. mobile (since 4.0), wearable (since 4.0) OpenGL ES
    SDL Provides a low level hardware abstraction layer to computer multimedia hardware components. It manages video, audio, input devices, threads, and timers. mobile (since 3.0), wearable (since 3.0) SDL
    TBM Surface Provides functions for the graphics buffer. mobile, wearable Graphic Buffer and Surface
    Tizen Window System Shell Allows you to communicate with the window manager. mobile (since 3.0), wearable (since 3.0) Tizen Window System Shell
    Vulkan Provides functions for rendering 3D and 2D graphics in embedded systems. mobile (since 3.0), wearable (since 3.0) 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. wearable (since 6.0) 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. mobile (since 2.4), wearable (since 3.0) Input Method
    Input Method Manager Provides functions for launching the input method editor (IME) list and selector settings. mobile (since 2.4), wearable (since 3.0) Input Method
    Multi assistance Provides functions for supporting users to use several assistants. mobile (since 5.0), wearable (since 5.0) Input Method
    STT Provides functions to recognize speech. mobile, wearable Speech-to-text
    STT Engine Provides functions for operating the Speech-To-Text engine. mobile (since 3.0), wearable (since 3.0) Speech-to-text
    TTS Provides functions for synthesizing voice from text and playing synthesized sound data. mobile, wearable Text-to-speech
    TTS Engine Provides functions for operating the Text-To-Speech engine. mobile (since 3.0), wearable (since 3.0) Text-to-speech Engine
    Voice control Provides functions for registering commands and getting notifications when a registered command is recognized. mobile (since 2.4), wearable (since 3.0) Voice Control
    Voice control elementary Provides functions to control UI components through voice commands. mobile (since 2.4), wearable (since 3.0) Voice Control
    Voice control engine Provides functions to operate Voice-Control Engine. mobile (since 4.0), wearable (since 4.0) Voice Control
    Voice control manager Provides functions for recording voice and giving responses for recognized voice commands to users. mobile (since 5.0), wearable (since 5.0) 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. mobile, wearable
    WebView Displays and controls Web pages. This submodule API contains interfaces for browsing, tracking browsing history, and downloading Web content. mobile, wearable 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.

  • Dependencies
    • Tizen 2.4 and Higher for Mobile
    • Tizen 2.3.1 and Higher for Wearable