Tizen Core APIs: A Core Framework Layer To Build In-House Applications. Jin-Woo Jeong



Similar documents
Tizen Architecture. Sunil Saxena, Intel Hobum (Vincent) Kwon, Samsung

INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus

COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs

Introduction to Tizen and Tizen Mobile Architecture. Seokjae Jeong, Samsung Electronics

Tizen Technical Overview 枪 晦 随 鬴 缃 拜 枋 幞 垖 幁 穧 幤

ITG Software Engineering

Here to take you beyond Mobile Application development using Android Course details

Professional Tizen Application Development

1. Introduction to Android

Android Basics. Xin Yang

«compl*tc IDIOT'S GUIDE. Android App. Development. by Christopher Froehlich ALPHA. A member of Penguin Group (USA) Inc.

Des Moines Area Community College

Getting Started with Tizen SDK : How to develop a Web app. Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd

Developer's Cookbook. Building Applications with. The Android. the Android SDK. A Addison-Wesley. James Steele Nelson To

Development Techniques for Native/Hybrid Tizen Apps. Presenter Matti Pakarinen

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

4 Application Development

Introduction to Tizen SDK Alpha. Taiho Choi Samsung Electronics

Tizen Web Runtime Update. Ming Jin Samsung Electronics

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Lecture 1 Introduction to Android

Tizen Compliance Test (TCT) Hojun Jaygarl (Samsung Electronics), Cathy Shen (Intel)

Android Mobile Phone User Manual

Android (Basic + Advance) Application Development

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Module Title: Software Development A: Mobile Application Development

ANDROID INTRODUCTION TO ANDROID

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

Leveraging Tizen IVI Platform for Realizing V2X Use Cases

Firefox OS Features Guide

Android Application Development

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

Android 5.0: Lollipop OS

A Short Introduction to Android

Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd.

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin

WEARIT DEVELOPER DOCUMENTATION 0.2 preliminary release July 20 th, 2013

Android Application Development. Daniel Switkin Senior Software Engineer, Google Inc.

Extending Tizen Native Framework with Node.js

Mobile Operating Systems Lesson 07 Symbian OS

US Cellular : How Do I Update The Software On My US Cellular SCH-R880 (Acclaim) Phone To Android 2.2 Froyo DL25 Build?

Mobile Phone Terminology Simplifying telecoms management

Introduction to Android Development. Jeff Avery CS349, Mar 2013

BlackBerry Device Software. Protecting BlackBerry Smartphones Against Malware. Security Note

Honor T1 8.0 FAQ. Issue 01. Date 06/30

SYNCSHIELD FEATURES. Preset a certain task to be executed. specific time.

Developing Android Apps for BlackBerry 10. JAM854 Mike Zhou- Developer Evangelist, APAC Nov 30, 2012

Teqno Mates Solutions

Mobile Phones Operating Systems

HUAWEI MediaPad T1 8.0 FAQ HUAWEI TECHNOLOGIES CO., LTD. Issue 01. Date 06/30

Your Phone This section introduces you to the hardware of the device.

Mobile App Framework For any Website

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

Introduction to Android

SM-E500H/DS SM-E500H SM-E500HQ SM-E500F/DS SM-E500F. User Manual. English. 01/2015. Rev

3. Software Installation. 4. Introduction to Android OS. 5. Using Android OS / Devices. 6. Eclipse debug with Android app. 8. Units of measurement

An Introduction to Android

ANDROID. Programming basics

Mobile Operating Systems Lesson 05 Windows CE Part 1

Kaseya 2. User Guide. Version 7.0. English

City of Dublin Education & Training Board. Programme Module for. Mobile Technologies. leading to. Level 6 FETAC. Mobile Technologies 6N0734

Enterprise Mobile App Management Essentials. Presented by Ryan Hope and John Nielsen

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

This guide describes features that are common to most models. Some features may not be available on your tablet.

Multimedia Playback & Streaming

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

Implementing Mobile Thin client Architecture For Enterprise Application

Mobile App Proposal Magazine company- @address.com. January 12, y. Direct Contact.

Understanding the Permission and Access Control Model for Tizen Application Sandboxing. Onur Aciicmez & Andrew Blaich, Samsung

Sony introduces Xperia E An affordable smartphone with HD Voice, data usage monitoring and battery power management

Mobile Application Testing Challenges & Best Practices

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Issue 2EN. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

U.S. Army Training Support Center TCM-TADLP-Courseware Standards and Certification Division. Mobile Best Practices

To help manage calls:

CHAPTER 1: INTRODUCTION TO ANDROID, MOBILE DEVICES, AND THE MARKETPLACE

Android Architecture. Alexandra Harrison & Jake Saxton

Information Technology Services. *** Please visit tlc.dadeschools.net/blackberry for more information on your BlackBerry model.

Mobile Application Development

PRIVATE TEXTUAL NETWORK USING GSM ARCHITECTURE

User Guide. BlackBerry Storm 9530 Smartphone. Version: 4.7

Kaseya 2. User Guide. Version 1.0

Wireless Broadband Access

Mobile System Technologies Certification Program

Mobiel Internet Dashboard. Manual

Touch 2 Touch 2 with Go Touch 2 with Go Plus. Quick reference guide

May 20, 2011 AUG Android mobile technology platform Android User s Guide

SM-A700FD SM-A700F SM-A700H. User Manual. English. 01/2015. Rev

SM-G130HN. User Manual. English (EU). 07/2014. Rev

Introduction to Android

TABLE OF CONTENTS YOUR PHONE 3

Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

ANDROID TRAINING COURSE MODULES. Module-I: Introduction to Android. Introducing Android. Installing Development Tools. Using the Emulator.

Transcription:

Tizen Core APIs: A Core Framework Layer To Build In-House Applications Jin-Woo Jeong

Tizen Architecture

Tizen Architecture HTML5/ W3C Device APIs Web Runtime Social, Media, Web, Messages, Location Base UI/Graphics App/System/Security 3

Tizen Architecture Frameworks Public layers (Web & Native) focus on: Application development productivity State-of-the-art HTML5/W3C APIs & Web UI framework Full-featured native application development and features Well-documented API references, developer guide, sample codes, and associated tools Core sub-system focuses on: Providing common functionalities for Web and Native frameworks as an underlying layer Performance optimization 4

Tizen Architecture Application Types (1/2) Web and Native applications Apps using only public APIs to get full support for package installation and upgrade, security, backward compatibility, and so on Many samples apps included in the SDK HTML5 /W3C Device APIs Web Runtime Social, Media, Web, Messages, Location Base UI/Graphics App/System/Security 5

Tizen Architecture Application Types (2/2) Core applications Apps using internal APIs to fully utilize device capabilities In-house applications Pre-loaded Core applications developed by device implementers Call app, Calculator app, Gallery app, Contacts app, etc. HTML5 /W3C Device APIs Web Runtime Social, Media, Web, Messages, Location Base UI/Graphics App/System/Security 6

Tizen Architecture Core Framework & API Layer HTML5/ W3C Device APIs Web Runtime Social, Media, Web, Messages, Location Base UI/Graphics App/System/Security Fast, Light-weight, Scalable In-house Applications & Services running smoothly on any Tizen mobile phones from low-end to high-end! 7

Core Applications

Tizen Architecture Core Applications - Revisited What is Core Application? Application written in Core APIs for Tizen Fully utilizes device features User interface: Enlightenment Foundation Libraries (EFL) EFL APIs Device features App framework: application, package, etc. Social: contacts, calendar, etc. Multimedia: image, video, audio, etc. Other device-related features Core APIs Device features User interface Core App 9

Tizen Architecture Core Applications App Types UI application Applications with UI Developed using EFL + Core APIs Service application Applications without UI Developed using Core APIs 10

Tizen Architecture Core Applications App Lifecycle (1/4) Application states State READY CREATED PAUSED RUNNING TERMINATED Description The application is launched The application starts the main loop The application is running but invisible to users The application is running and visible to users The application is terminated State transition callbacks should be provided before starting the loop 11

Tizen Architecture Core Applications App Lifecycle (2/4) Callbacks regarding App life-cycle Callback Description Action (Example) app_create_cb Hook to take necessary actions before main event loop starts UI generation code app_pause_cb Hook to take necessary actions when application becomes invisible Releasing memory/resources app_resume_cb Hook to take necessary actions when application becomes visible Re-allocating resources app_terminate_cb Hook to take necessary actions when your application is terminating Release all resources app_service_cb Hook to take necessary actions for responding to the launch request Required action 12

Tizen Architecture Core Applications App Lifecycle (3/4) Who can launch applications? Users through the application launcher Another application which needs to perform a specific operation (AppControl) http://tizen.org/appcontrol/operation/view 13

Tizen Architecture Core Applications App Lifecycle (4/4) Additional callbacks for system events Callback Description Action (Example) app_low_memory_cb Hook to take necessary actions in low memory situations Save data into a persistent memory app_low_battery_cb Hook to take necessary actions in low battery situations Stop heavy cpu/power consumption app_device_orientation_cb Hook to take necessary actions for handling a device orientation change Change display orientation app_langage_changed_cb app_region_format_changed_cb Hook to take necessary actions for handling a language change event Hook to take necessary actions for handling a region change event Refresh the display with a new language Update time to reflect the timezone change 14

Tizen Core APIs: Layout & Details

Core API Definition Selected set of APIs in Core framework Well-structured set to improve the usability of device features Not all the APIs in core framework are Core APIs Core Framework Core (In-house) Applications Core API Layer Application Framework UI & UX Media Web Messaging Social System Location Telephony Storage 16

17 Core API Domain Layout (1/2)

Core API Domain Layout (2/2) Namespace Application Framework System & Storage Network & Web Telephony Media & Content Messaging Social Location UI & UX Open-source Software Description Application management System & Device management Network & Connectivity related-features Cellular functionalities Multimedia data management Messaging service Private information management Location-based service User interface and experience Linux-based essential system libraries 18

Core API Application Framework Provides Managing the main event loop of an application, managing application state changes, launching other applications using the package name, URI, or MIME type (Application) Installing / Uninstalling applications (Package manager) Information about applications (Application manager) Managing notifications (Notification) Passing messages between applications (Message-port) Add to home feature (Shortcut) Application Framework Messageport Appmanager Packagemanager Application Notification Badge Shortcut Bundle 19

Core API System & Storage (1/2) System & Storage Dlog Device Vconf Systemserver Provides system and device management features Interfaces for accessing devices such as sensors, USB, MMC, battery, CPU, and display (Sensor, System-server, Device) Power management (Power) Getting information about the device (System-info, Runtime-info) System configuration, simple notification (Vconf) Sending log output for debug activities (Dlog) Runtime-info System-info Power Sensor How long can I use my phone? Want to know my Tizen version! 20

Core API System & Storage (2/2) Runtime-info example : Getting Wi-Fi status runtime_info_get_value_int Key value to search (Wi-Fi hotspot enabled, tethering enabled, vibration enabled, and so on) You can get the current Wi-Fi status! 21

Core API Location Location Locationmanager Geocoder Route POI Provides location-based services (LBS) Position information, satellite, GPS status (Location-manager) Geocoding service (Geocoder) Converting between geographical coordinates and textual address Searching a point of interest, routes (POI, Route) Want to find the slowest route to my wife! 22

Core API Network & Web Network & Web Connection NFC Wi-Fi Wi-Fi Direct Bluetooth Tethering Serial Provides network and connectivity related functionalities Managing modem data connections (Connection) Managing Bluetooth devices (Bluetooth) Managing near field radio communication (NFC) Managing Wi-Fi, USB, Bluetooth tethering services (Tethering) Managing the serial communication (Serial) Downloading the contents of a URL to the storage (Url-download) Urldownload Want to download TDC logo image file! using free Wi-Fi around me 23

Core API Telephony Telephony TAPI Call Sim Networkinfo Provides cellular functionalities communicating with a modem Managing call-related information and services (Call & TAPI) Voice call & video call Obtaining information from a SIM card (SIM) Mobile country code (MCC), mobile network code (MNC), service provider name (SPN) SIM card status Accessing the cellular network status information (Network-info) Roaming state, received signal strength indicator (RSSI), network type, service status, etc Want to know my network type (GSM? UMTS? LTE?) 24

Core API Messaging (1/2) Messaging Push Email-service Msg-service Provides messaging services SMS & MMS related services (Msg-service) Creating, setting properties (recipients, body), and sending messages Searching for messages Registering callbacks for receiving notifications when new incoming messages found Managing E-mails (Email-service) Creating, setting properties (recipients, attachments, etc)of e-mail messages Managing mailboxes, filtering rules Push service (Push) My girlfriend seems to automatically send this SMS: Ok, I will be there soon 25

Core API Messaging (2/2) SMS send example 1) Create a message 3) Set Text for the message 2) Set recipient's address 4) Send an SMS 26

Core API Media & Content Media & Content Image-util Player Media-key Video-util Tone-player Provides Encoding, decoding, and transforming images (Image-util) Transcoding a media file (Video-util) Recording from the audio device and playing raw audio data (Audio-io, Sound-manager) Playing multimedia contents from a file, network, and memory (Player) Playing the tone and Waveform audio files (Tone-player, Wav-player) Controlling a camera device (Camera) Sound-manager Media-content Managing information about media files (Media-content) Metadata extractor Audio-io Recorder Camera 27

Core API Social Social Contacts Calendar Account Provides PIM-related services Managing account information on the device (Account) Managing calendar events and accessing calendar database (Calendar) Insert, update, remove calendar records Searching records with filters Managing contacts and accessing contact database (Contacts) Insert, update, remove contact & group records Searching records with filters Setting display options SIM-related features It s safe to record wedding anniversary rather than my birthday 28

Core API UI & UX UI/UIX Dynamic Box Feedback STT TTS Face Provides UI features & interaction services Managing dynamic box (widget) service (Dynamic Box) Playing simple sound and vibration (Feedback) Synthesizing voice from text and playing synthesized sound data (TTS) Recognizing the speech (STT) Detecting and recognizing faces (Face) 29

Core API Open Source Software Provides essential system libraries Graphics Window system Internationalization XML/JSON parsing Database Base utilities OSS libexif Cairo Json-glib libicu Dbus EFL Glib Curl X11 libxml2 Sqlite Fontconfig Minizip 30

Core API API Style (1/2) Naming convention Function: {Namespace}_{Subject(optional)}_{Verb}_{Object} Callbacks: typedef void (*namespace_actual_name_cb)([event_type event], [event details], void *user_data); 31

Core API API Style (2/2) Data types Handles should have _h suffix Enums should have _e suffix Structures should have _s suffix Return type & values All core APIs should return an int type error value Common error values are defined in tizen.h Module-specific errors can be defined as enum 32

Core API API Specification Core API headers are ready to generate API reference! Module grouping using Doxygen! Brief introduction Detailed information Required parameters Return values Related APIs 33

How to Build/Install Core-Applications? Core application follows RPM packaging GBS build Platform SDK supports building EFL applications 34

Q & A Thanks for listening! 35