Developing Software for Symbian OS: An Introduction to Creating Smartphone Applications in C++
DescriptionThe overall goal of this book is to provide introductory coverage of Symbian OS and get developers who have little or no knowledge of Symbian OS developing as quickly as possible.
- A clear and concise text on how Symbian OS architecture works and the core programming techniques and concepts needed to be a solid, competent Symbian programmer
- Shows how Symbian OS architecture and programming compares with other mobile operating systems (to help transition and for better understanding)
- Provides multiple examples and extra descriptions for areas most difficult for new programmers who are unfamiliar to the unique OS architecture
- Contains many tips and techniques documented only, up until now, by scattered white papers and newsgroup threads
- Describes many details of inner operations of Symbian OS, focusing specifically on those needed to become a competent programmer
The book will cover development ranging from low-level system programming to end user GUI applications. It also covers the development and packaging tools, as well as providing some detailed reference and examples for key APIs.
Symbian Press Acknowledgements.
1. Smartphones and Symbian OS.
1.1 Smartphone Concept.
1.2 Smartphone Features.
1.3 Smartphone Messaging.
1.4 Web Browsing.
1.5 Local Device Communication Features.
1.6 The Mobile OS.
1.7 Symbian – A Little History.
1.8 Symbian OS Smartphones.
1.9 Other Smartphone Operating Systems.
2. Symbian OS Quick Start.
2.1 What Do You Need to Get Started?
2.2 Firing Up the Development Tools.
2.3 Simple Example Application.
2.4 Building and Executing on the Emulator.
2.5 Building for the Smartphone.
3. Symbian OS Architecture.
3.1 Components in Symbian OS.
3.2 Multitasking in Symbian OS.
3.3 Dynamic Link Libraries.
3.4 Client/Server Model.
3.5 Memory in Symbian OS.
3.6 The Kernel.
3.7 Active Objects and Asynchronous Functions.
3.8 What Is a Polymorphic DLL?
3.9 GUI Architecture.
3.10 High Performance Graphics.
3.11 The Communication Architecture.
3.12 Application Engines, Services and Protocols.
4. Symbian OS Programming Basics.
4.1 Use of C++ in Symbian OS.
4.2 Nonstandard C++ Characteristics.
4.3 Basic Data Types.
4.4 Symbian OS Classes.
4.5 Exception Error Handling and Cleanup.
4.7 Executable Files.
4.8 Naming Conventions.
5. Symbian OS Build Environment.
5.1 SDK Directory Structure.
5.2 Build System Overview.
5.3 Build Targets.
5.4 Basic Build Flow.
5.5 What Is a UID?
5.6 The Emulator.
5.7 Building DLLs.
5.8 DLL Interface Freezing.
5.9 Installing Applications on the Smartphone.
5.10 Switching Between SDKs.
6. Strings, Buffers and Data Collections.
6.1 Introducing the Text Console.
6.2 Descriptors for Strings and Binary Data.
6.3 The Descriptor Classes.
6.4 Descriptor Methods.
6.5 Converting Between 8-bit and 16-bit Descriptors.
6.6 Dynamic Buffers.
6.8 Other Data Collection Classes.
7. Processes, Threads and Synchronization.
7.2 Using Threads.
7.3 Sharing Memory Between Processes.
7.4 Memory Chunks.
7.5 Thread Synchronization.
8. Asynchronous Functions and Active Objects.
8.1 Asynchronous Functions.
8.2 Introducing Active Objects.
8.3 The Active Scheduler.
8.4 Active Scheduler Error Handling.
8.5 Active Object Priorities.
8.6 Canceling Outstanding Requests.
8.7 Removing an Active Object.
8.8 Active Object Example.
8.9 Active Object Issues.
8.10 Using Active Objects as Threads.
9. Client/Server Framework.
9.1 Client/Server Overview.
9.2 A Look at the Client/Server Classes.
9.3 Client/Server Example.
9.4 Subsessions of the Server.
10. Symbian OS TCP/IP Network Programming.
10.1 Introduction to TCP/IP.
10.2 Network Programming Using Sockets.
10.3 Symbian OS Socket API.
10.4 Example: Retrieving Weather Information.
10.5 Making a Network Connection.
11. GUI Application Programming.
11.1 Symbian OS User Interfaces.
11.2 Anatomy of a GUI Application.
11.3 Application Classes.
11.4 Resource Files.
11.6 Symbian OS Controls.
11.7 View Architecture.
11.8 Application Icon and Caption.
Appendix 1: Specifications of Symbian OS Phones.
Appendix 2: Security in Symbian OS v9.