Symbian OS C++Mobile Application Development Guide

Symbian OS Overview

Symbian OS is a mobile operating system designed for PDA and smartphones, providing excellent soft real-time performance. Key features include low thread switching latency, with only a few milliseconds in user mode and around 100 microseconds in kernel mode. Symbian OS uses a microkernel architecture, ensuring reentrant system calls, making it outstanding across several domains. Compared to other operating systems like Windows Mobile, Palm OS, Linux, and Brew, Symbian OS excels in:

1. Low power consumption: Optimized for battery-powered devices.

2. Small device support: Suitable for devices with small screens and limited processing power.

3. Long operation with critical applications: Designed for long, stable operation, supporting mission-critical applications.

Key Features

Key features of Symbian OS include:

- ROM-based: The system runs on read-only memory (ROM), minimizing storage requirements.

- Battery-powered device optimization: Specially optimized for low energy consumption to extend battery life.

- Robustness: The microkernel architecture ensures system stability and reliability.

- Preemptive multitasking: Supports parallel execution of multiple processes, enhancing system efficiency and responsiveness.

- Fully object-oriented: Entire OS and applications are developed in C++, improving code reusability and scalability.

Component Structure

The Symbian OS component structure includes several layers:

1. Kernel layer: Provides basic OS services like process management, memory management, and interrupt handling.

2. Driver layer: Contains various hardware drivers for interacting with hardware.

3. Framework layer: Offers high-level services like networking, file systems, and multimedia support.

4. Application layer: The software users interact with, including built-in and third-party applications.

Symbian SDK and Development Environment

The Symbian SDK provides a complete toolchain for developers to create, test, and deploy applications. It includes:

- IDE (Integrated Development Environment): Tools like Carbide.C++ or Eclipse CDT for writing, compiling, and debugging C++ code.

- Compilers and Linkers: Used to compile source code into executable files.

- Simulators: Test applications without needing actual devices.

- Documentation and Sample Code: Comprehensive guides and technical documentation to assist developers with the Symbian OS API.

Software Development Overview

Steps in Symbian software development include:

1. Environment setup: Install Symbian SDK and configure the IDE.

2. Project creation: Set up a new Symbian application project in the IDE.

3. Coding: Use C++ and Symbian OS APIs to develop app functionality.

4. Debugging and Testing: Test using simulators or real devices.

5. Release and Distribution: Package and distribute the application on the appropriate stores.

Memory Management

Symbian OS uses dynamic memory management, including:

- Heap memory allocation: Managed via the EHeap class.

- Smart pointers: Types like TPtrC and RArray to manage memory automatically and prevent leaks.

- Memory pools: Managed by the RPool class for fixed-size memory blocks.

Descriptors

Descriptors represent strings and text in Symbian OS and include:

- Constant and dynamic descriptors: TDesC (constant) and TDes (modifiable).

- Security: Prevents buffer overflow vulnerabilities.

- Internationalization support: Supports Unicode and ASCII encoding for multi-language apps.

Dynamic Arrays

The RArray class is used for managing dynamic data collections in Symbian OS, supporting:

- Automatic resizing: Expands array capacity when needed.

- Type safety: Ensures correct element types via templates.

- Memory management: Uses smart pointers for efficient memory handling.

Active Objects

Active Objects implement asynchronous operations in Symbian OS, providing:

- Asynchronous message passing: Managed by the CActive class.

- Event queues: Each active object has a queue to process asynchronous messages.

- Priority scheduling: Tasks are prioritized for execution.

GUI Programming

Symbian OS supports rich GUI development, covering:

- Windows and views: Created using CWindowGc and CView.

- Controls: Built-in controls like buttons, lists, and textboxes.

- Layout management: Flexible layouts like grid and vertical arrangements.

- Event handling: Captures user input such as touchscreen or button presses.

File and Stream Operations

Symbian OS provides robust file systems and stream interfaces for file operations, including:

- File systems: Supports formats like YAFFS and FAT32.

- File operations: Includes functions for file creation, opening, closing, and deletion.

- Stream classes: Classes like RFile and RReadStream handle file reading and writing.

This guide covers everything from the basics of Symbian OS to advanced development techniques, providing a comprehensive learning framework for developers seeking to work with Symbian OS applications.

pdf 文件大小:3.59MB