Cover image for Developing software for Symbian OS : a beginners guide to creating Symbian OS v9 smartphone applications in C++
Title:
Developing software for Symbian OS : a beginners guide to creating Symbian OS v9 smartphone applications in C++
Personal Author:
Edition:
2nd ed.
Publication Information:
Chichester, West Sussex : John Wiley & Sons, 2007
Physical Description:
xxi, 438 p. : ill. ; 24 cm.
ISBN:
9780470725702

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010160820 TK6570.M6 B32 2007 Open Access Book Book
Searching...

On Order

Summary

Summary

Developing Software for Symbian OS 2nd Edition is an essential guide for anyone wishing to start developing smartphone applications. The original book has been updated to cover Symbian OS v9 and changes to the developer environment, and now includes a new chapter on application signing and platform security.

Steve Babin's clear and practical approach made his original book very popular with those new to Symbian OS. An invaluable resource, Developing Software for Symbian OS 2nd Edition includes sections about the architecture of Symbian OS, the build environment, Symbian OS strings, buffers and data collections, platform security, asynchronous programming using active objects and threads, the client-server framework and GI application programming.

The book describes and solves the challenges a beginner faces and introduces the key concepts needed to create applications for Symbian smartphones. It provides clear advice and practical solutions, and full sample code is available for download from the Symbian Developer Network website (developer.symbian.com).

Get yourself ahead with the perfect introduction to developing software for Symbian OS.


Author Notes

Steve Babin works at IBM developing enterprise software for smartphones based on Symbian OS and MIcrosoft Windows Mobile. He has a BSEE from Louisiana State University and over 20 years of software development and leadership experience on a variety of products - including medical devices, Java accelerators, avionics, Internet appliances, and system-on-chip silicon devices - using numerous operating systems. Steve is married to Sharon and has a daughter named Hillary. They live in Austin, TX. He is an Accredited Symbian Developer.


Table of Contents

Jo StichburyWarren Day
Forewordp. ix
Forewordp. xi
Biographyp. xiii
Author Acknowledgmentsp. xv
Symbian Press Acknowledgmentsp. xvii
Symbian OS Code Conventions and Notations Used in the Bookp. xix
1 Smartphones and Symbian OSp. 1
1.1 Notes on this New Editionp. 1
1.2 Smartphone Conceptsp. 2
1.3 Smartphone Featuresp. 3
1.4 The Mobile OSp. 11
1.5 Symbian OS - A Little Historyp. 12
1.6 Symbian OS Smartphonesp. 15
1.7 Other Smartphone Operating Systemsp. 20
2 Symbian OS Quick Startp. 23
2.1 What Do You Need to Get Started?p. 23
2.2 Firing Up the Development Toolsp. 31
2.3 Simple Example Applicationp. 38
2.4 Building and Executing on the Emulatorp. 56
2.5 A Carbide.c++ Projectp. 58
2.6 Building for the Smartphonep. 59
3 Symbian OS Architecturep. 63
3.1 Components in Symbian OSp. 63
3.2 Multitasking in Symbian OSp. 64
3.3 Shared Code: Libraries, DLLs, and Frameworksp. 65
3.4 Client-Server Modelp. 68
3.5 Memory in Symbian OSp. 70
3.6 The Kernelp. 77
3.7 Active Objects and Asynchronous Functionsp. 81
3.8 GUI Architecturep. 83
3.9 High-Performance Graphicsp. 85
3.10 The Communication Architecturep. 86
3.11 Application Engines and Servicesp. 90
3.12 Platform Securityp. 90
4 Symbian OS Programming Basicsp. 93
4.1 Use of C++ in Symbian OSp. 93
4.2 Non-standard C++ Characteristicsp. 94
4.3 Basic Data Typesp. 94
4.4 Symbian OS Classesp. 95
4.5 Exception Error Handling and Cleanupp. 101
4.6 Librariesp. 115
4.7 Executable Filesp. 118
4.8 Naming Conventionsp. 119
4.9 Summaryp. 122
5 Symbian OS Build Environmentp. 123
5.1 SDK Directory Structurep. 123
5.2 Build System Overviewp. 126
5.3 Basic Build Flowp. 126
5.4 Build Targetsp. 131
5.5 What is a UID?p. 135
5.6 The Emulatorp. 137
5.7 Building Shared Librariesp. 141
5.8 DLL Interface Freezingp. 144
5.9 Installing Applications on the Smartphonep. 149
6 Strings, Buffers, and Data Collectionsp. 161
6.1 Introducing the Text Consolep. 161
6.2 Descriptors for Strings and Binary Datap. 165
6.3 The Descriptor Classesp. 168
6.4 Descriptor Methodsp. 186
6.5 Converting Between 8-Bit and 16-Bit Descriptorsp. 198
6.6 Dynamic Buffersp. 199
6.7 Templates in Symbian OSp. 203
6.8 Arraysp. 205
6.9 Other Data Collection Classesp. 213
7 Platform Security and Symbian Signedp. 217
7.1 What is Platform Security?p. 217
7.2 What Platform Security is Notp. 218
7.3 What this Means to a Developerp. 219
7.4 Capabilities for API Securityp. 219
7.5 Application Signing in Symbianp. 232
7.6 Getting Your Application Symbian Signedp. 238
7.7 Developer Certificatesp. 244
8 Asynchronous Functions and Active Objectsp. 247
8.1 Asynchronous Functionsp. 247
8.2 Introducing Active Objectsp. 249
8.3 The Active Schedulerp. 254
8.4 Active Scheduler Error Handlingp. 258
8.5 Active Object Prioritiesp. 260
8.6 Canceling Outstanding Requestsp. 260
8.7 Removing an Active Objectp. 262
8.8 Active Object Examplep. 262
8.9 Active Object Issuesp. 269
8.10 Using Active Objects for Background Tasksp. 271
9 Processes, Threads, and Synchronizationp. 277
9.1 Processesp. 277
9.2 Using Threads on Symbian OSp. 286
9.3 Sharing Memory Between Processesp. 292
9.4 Memory Chunksp. 293
9.5 Thread Synchronizationp. 297
10 Client-Server Frameworkp. 303
10.1 Client-Server Overviewp. 304
10.2 A Look at the Client-Server Classesp. 305
10.3 Client-Server Examplep. 306
11 Symbian OS TCP/IP Network Programmingp. 323
11.1 Introduction to TCP/IPp. 324
11.2 Network Programming Using Socketsp. 327
11.3 Symbian OS Socket APIp. 334
11.4 Example: Retrieving Weather Informationp. 345
11.5 Making a Network Connectionp. 356
12 GUI Application Programmingp. 359
12.1 Symbian OS User Interfacesp. 360
12.2 Anatomy of a GUI Applicationp. 365
12.3 Application Classesp. 367
12.4 Resource Filesp. 377
12.5 Dialogsp. 387
12.6 Symbian OS Controlsp. 405
12.7 View Architecturep. 409
12.8 Application Icon and Captionp. 409
Referencesp. 413
Indexp. 415