Essential guide to successful programming in Symbian OS.
Symbian OS is already used in more than 32 million mobile phones worldwide yet there are few people with long–term programming experience in Symbian OS within the software development community. As demand grows and Symbian becomes more a globally prominent operating system, it is paramount that any programmer involved in creating software products for Symbian OS devices understands the technology.
Whether you're new to the world of Symbian and want to get developing as quickly as possible, or a seasoned developer requiring a solid base of information for creating great Symbian software, this invaluable resource will give you what you need.
Steve Babin's clear approach introduces many challenges and helps you through the problematic areas of the Object Oriented architecture, providing many examples with effective solutions.
This must–have book covers all aspects of development ranging from low–level programming to end–user GUI applications.
Key highlights include:
- Development and packaging tools
- Detailed reference and examples for key APLs
- Series 60, series 80 and UIQ Platforms
- Includes network programming using TCP/IP
- Real–world examples from an expert in the field.
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.