Create powerful, marketable applications with Tizen for the smartphone and beyond
Tizen is the only platform designed for multiple device categories that is HTML5-centric and entirely open source. Written by experts in the field, this comprehensive guide includes chapters on both web and native application development, covering subjects such as location and social features, advanced UIs, animations, sensors and multimedia.
This book is a comprehensive resource for learning how to develop Tizen web and native applications that are polished, bug-free and ready to sell on a range of smart devices, beyond just smartphones. Tizen is an open source platform that is housed within the Linux Foundation and is fully supported by Intel, Samsung and the Tizen Association.
Professional Tizen Application Development:
• Explains how web applications can combine HTML5 features with Tizen device APIs to unleash the full potential of the Tizen platform
• Provides detailed, practical explanations of the most important Tizen native APIs
• Demonstrates best practices for adding key features like location, contacts and calendars to your apps
• Shows you how to use advanced features such as animations, face recognition and sensors to help you create applications that stand out from the crowd
• Shares code on advanced topics including multi-threading and hybrid applications
• Includes numerous fully functional code examples, for both web and native applications, complete with hints and tips to get the most out of the Tizen APIs
Hojun Jaygarl, Yoonsoo Kim, Eunyoung Choi are Samsung engineers working on Tizen. Cheng Luo, Kevin Bradwick and Jon Lansdell are experienced professional developers.
Professional Tizen Application Development prepares you to start creating amazing apps for multiple devices with the Tizen platform.
Bonus code download link: http://www.wrox.com/WileyCDA/WroxTitle/Professional-Tizen-Application-Development.productCd-1118809262.html
Author(s): HoJun Jaygarl, Cheng Luo, YoonSoo Kim, Eunyoung Choi, Kevin Bradwick, Jon Lansdell
Series: Programmer to Programmer
Publisher: Wrox
Year: 2014
Language: English
Pages: 526
Introduction xxiii
Part I: Getting Started
Chapter 1: An Introduction to Tizen 3
Discovering Tizen 3
The Tizen Association and Tizen Project 4
The Tizen Ecosystem 4
Reasons for Programming in Tizen 5
Tizen Is Based on Standards 5
Tizen Is Open 5
Tizen Is Heterogeneous 6
Tizen Has Industry Support 6
Installing the Tizen SDK 6
Prerequisites 6
Installing the SDK 7
Creating the Tizen Hello World Web Application 9
Creating the Hello World Tizen Native Application 13
Signing the Hello World Application 17
Summary 19
Chapter 2: Tizen App lication Packages 21
Packaging a Web Application 21
Packaging a Native Application 25
Packaging a Hybrid Application 29
Using Optional Features 31
Using Privileged APIs 35
Signing a Package 38
Summary 40
Chapter 3: Tizen Development Tools 41
The Tizen IDE 41
Tizen Emulator 42
Enabling Hardware Acceleration 45
Using the Tizen Emulator 45
Tizen Web Simulator 48
Smart Development Bridge 50
Debugging and Testing 53
Designing the UI with the UI Builder 56
Summary 58
Part II: Tizen Web APIs
Chapter 4: Web Application Fundamentals 61
The Web Runtime 62
Tizen Device APIs 63
Tizen Web UI Framework 65
Overview of the Tizen Web UI Framework 66
The Basics of jQuery Mobile 68
Using the UI Builder 69
Choosing Your Widgets 70
Implementing Events in the UI Builder 71
Summary 75
Chapter 5: Location-Based Services 77
Displaying a Map 78
Detecting a User’s Location 80
Monitoring the User’s Position 83
A Word of Caution 84
Adding Markers to a Map 84
Geocoding and Reverse Geocoding 85
Summary 87
Chapter 6: Multimedia 89
Discovering Multimedia Content 89
Embedding HTML5 Audio and Video 95
Capturing Images 96
Creating a Simple Camera Application 97
Capturing an Image 99
Summary 102
Chapter 7: Sensors and Other Hardware 103
Device Orientation 103
A Working Example 105
Near Field Communication (NFC) 110
Using NFC in Your Web Applications 111
Peer-to-Peer Mode 114
Summary 116
Chapter 8: Messaging Services 117
Messaging Service 117
E-Mail Client Example 124
Summary 131
Chapter 9: Contacts and Calendars 133
Setting Privileges 133
The Contact API 134
Address Book 134
Contacts 136
Person Objects 144
The Calendar API 146
Calendar Events 149
Calendar Tasks 149
Adding Events 151
Getting Events 153
Updating Events 153
Creating Recurring Events 154
Setting Alarms 157
Converting Events to iCalendar Format 158
Summary 159
Part III: Tizen Native APIs
Chapter 10: Native UI Applications 163
UI Framework Architecture 163
Types of Native UI Applications 166
Native UI Application Life Cycle 167
State Transition Flow 168
Initialisation and Termination 169
Application and Frame States 170
Creating a Form and Handling Events 171
Handling UI Events 175
Handling Hardware Keys 177
Handling Gestures 179
Summary 182
Chapter 11: Native Application fundamentals 183
Basic Idioms and Styles 184
Error Handling 184
Debugging Macro Functions 189
Two-Phase Construction 192
The RAII Idiom 193
Transferring Object Ownership 199
Fundamental Data Types 200
Object 200
String 201
Collection 206
STLConverter 214
DateTime and TimeSpan 218
ByteBuffer 221
Summary 223
Chapter 12: Native UI Controls 225
An Overview of UI Controls 225
Using Containers 227
Popups 228
Panels 229
Layout 230
Coordinate System 231
Using UI Controls 232
Button 232
EditArea, EditField, Textbox, and ExpandableEditArea 232
Keypad 233
Gallery 234
SearchBar 234
CheckButton 235
Slider and Progress 236
EditTime and EditDate 237
ContextMenu and OptionMenu 238
TabBar 239
ColorPicker 240
Header and Footer 240
ListViews 243
TableViews 244
Summary 247
Chapter 13: Multimedia and Content 249
Content and Content Information 250
Searching for Content 252
Managing Playlists 254
Playing Media Content 254
Playing Audio 256
Seeking in the Audio Player 257
Playing Video 258
Capturing Video in the Player 260
Playing Multiple Audio Sources 261
Recording Media Content 263
Recording Audio 263
Recording Video 265
Capturing Images from the Camera 268
Working with Images 269
Decoding Images 269
Editing Images 271
Encoding Images 271
Decoding Audio and Video 272
Decoding Audio Content 272
Decoding Video Content 272
Encoding Audio and Video 273
Encoding Audio Content 273
Encoding Video Content 273
Extracting Frames from Video 274
Media Application Controls 274
Music Player Application Control 275
Video Player Application Control 277
Camera Application Control 277
Image Viewer Application Control 279
Summary 281
Chapter 14: Telephony and Networking 283
Telephony 284
Phone and Call Application Controls 284
Getting the Current Call Information 286
Checking the Telephony Network and SIM State 289
Messages 291
SMS Messages 291
MMS Messages 298
E-mail 300
Push Messages 303
Networking 307
Network Connection Management 308
HTTP 312
Wi-Fi and Wi-Fi Direct 314
Bluetooth 320
NFC 325
Summary 331
Chapter 15: Location and Social Services 333
The Location Service 334
Location Settings 334
Location Criteria 336
Getting the Location 336
Monitoring Locations 337
Using a Map 343
The Social Service 343
Social Privacy Setting 344
Account Management 344
The Address Book 349
The Calendar Book 358
Summary 366
Chapter 16: Advanced UI and Graphics 367
Advanced UIs 367
Animations 368
Scene Management 377
Graphics 380
UI Extensions 382
Vision 383
Sensors 386
Speech 388
Summary 390
Chapter 17: I/O and Internationalisation 391
Predefined Directories 392
Handling File I/O 396
Basic File Operations 396
Getting File Attributes 399
Copying, Moving, and Deleting Files 401
Handling Directories 402
Locking Files 405
Observing File and Directory Changes 406
Building a Database 409
Creating a Table 409
Creating a Row 410
Updating a Row 412
Deleting a Row 413
Querying a Table 414
Monitoring Storage Events 415
Internationalising Your Applications 417
Handling Different Text Encodings 417
Handling Locale-Sensitive Information 425
Summary 430
Part IV: Advanced Tizen
Chapter 18: Multithreading 433
Worker Threads 434
Making an Asynchronous Worker 437
Using Timers 443
Asynchronous Inter-thread Communication 445
Summary 455
Chapter 19: Inter-Application Communication and Hybrid Applications 457
Inter-Application Communication 458
Message Ports 458
Creating a LocalMessagePort in a Native Application 459
Sending a Message to Another Application 461
Receiving a Message Response 461
Defining a Message Protocol 463
Sending Requests to a Native Application from a Web Application 467
Using a Trusted Message Port 474
Making a Hybrid Package 475
Summary 477
Index 479
http://www.wrox.com/WileyCDA/WroxTitle/Professional-Tizen-Application-Development.productCd-1118809262,descCd-tableOfContents.html