×
Namespaces

Variants
Actions

Symbian C++ Code Examples (Nokia Developer Example Code)

From Nokia Developer Wiki
Jump to: navigation, search

This page collects Qt examples published by Nokia Developer.

See Also

Name Date Description

FileList 1.1

20120320 FileList is a simple example application for browsing multimedia files on a Symbian device. This application, which is ported from a Symbian C++ version, is developed with Qt Quick components and is based on the Symbian design guidelines. The example also features a fast-loading, efficient splash screen, implemented completely with QML code.
Drumkit 20111129 Drumkit is a virtual drumkit that lets you play percussion sounds by tapping sound pads, recording the beats, and playing them back (this is a Qt on Symbian project)
Lucid Screensaver v1.0 20110701 A simple screensaver project for Qt on Symbian. The screensaver is designed for Symbian^3 AMOLED devices, which allow the continuous displaying of an image with very low power consumption.
ePong v1.0 20110628 ePong is an arcade style tennis sports game example. It was first implemented in Symbian C++ but this version is ported to Qt with Qt GameEnabler.
S60 Platform: Camera Example v3.0 20090318 This updated Symbian C++ code example demonstrates how to easily use the onboard camera with zoom and autofocus, utilising an accompanying CameraWrapper made by Nokia Developer. The Camera Wrapper supports all Nokia's S60 devices based on S60 3rd Edition and newer, providing a unified interface for various Symbian and S60 camera APIs some of which have previously been Feature Pack specific or only available via an SDK plug-in. The example application supports the use of both the keypad and touch UI. The application can be self-signed, but it also provides an option to use the dedicated camera key (Symbian signing required). The example application replaces the separate examples published for S60 3rd Edition, FP1 (S60 Platform: Camera Example with AutoFocus Support v2.2) and FP2 (S60 Camera Example AutoFocus 3rd Ed FP2).
S60 Platform: Localisation Example v1.1 20090317 This updated C++ code example demonstrates how to localise an application to adapt to the selected phone language. The example application has two sets of localised strings (English and German) for the application name, labels, text, and image. The application also includes number, currency, date, and time localisation, in which the TLocale method is used for localisation even if the selected phone language is neither one of the two application languages. This updated example has been tested to support S60 5th Edition and touch UI.
S60 Platform: FileList Example v2.2 20090303 This updated C++ code example demonstrates how to list files in a specific directory. It helps developers in creating user-friendly applications that allow users to choose files from a list of specific file types. Middle softkey labelling is supported (introduced in S60 3rd Edition, Feature Pack 2). The updated version has been tested to support S60 5th Edition and touch UI. Important classes: PathInfo, CDocumentHandler.
S60 5th Edition: Solitaire Game Example v1.1 20090302 This updated C++ example application demonstrates a fully touch-optimised application using various touch UI features of S60 5th Edition with direct manipulation. Besides tapping the cards, the user can drag and drop them using a finger or the stylus. The application demonstrates handling pointer events of custom made UI controls. Also, tactile feedback using the Touch Feedback API is received. Double buffering is used to draw on the screen to avoid flickering. By default, the cards are implemented as Scalable Vector Graphics (SVG) icons, but the example also provides an option to draw them using methods of the graphics context class CWindowGc. In the updated version, major drawing optimisation has been done. The example application was developed for S60 5th Edition and touch UI. Important classes: CCoeControl, MTouchFeedback, CFbsBitmap, CWindowGc.
S60 Platform: HTTP Client Example v2.2 20090226 This updated C++ application demonstrates simple HTTP GET and POST transactions using the HTTP Client API. Basic HTTP authentication is also supported. The updated example uses application-level roaming (introduced in S60 3rd Edition, Feature Pack 2 onwards). The updated example has been tested to support S60 5th Edition and touch UI. Note that this version supports S60 3rd Edition, Feature Pack 2 and S60 5th Edition. Important classes: RHTTPSession, RHTTPTransaction, RHTTPHeaders, MHTTPDataSupplier, MHTTPAuthenticationCallback, MHTTPTransactionCallback.
S60 Platform: Rich Text Editor Example 20090218 This updated C++ code example demonstrates the usage of Rich Text Editor. Most of the features are handled automatically when the dialog framework creates the editor. However, some steps, such as inserting an image, setting the text input type, and showing the scroll bar, require the use of methods or classes. The updated example has been modified to support S60 5th Edition and touch UI. Main classes: CEikRichTextEditor, CFbsBitmap, TPictureHeader, CPicture.
S60 Platform: Descriptor Example v2.1 20090212

This updated C++ code example demonstrates how to use descriptors (Symbian OS strings) and related APIs. The example is an S60 application that is used to run one example method or all of them. The methods write a log on the screen or into a file that demonstrates the results of different statements. The updated example has been updated to support S60 5th Edition and touch UI. Important classes: TBuf, HBufC, RBuf.

S60 Platform: Power and Resource Management Example v2.1 20090209 This updated C++ code example demonstrates the APIs that are available for figuring out battery, charger, and network status. It also demonstrates how to implement some of the power and resource management principles that have been discussed in the document S60 Platform: Effective Power and Resource Management. The updated example has been tested to support S60 5th Edition and touch UI. Main classes: CTelephony, CIdle, CActive.
S60 Platform: Audio Streaming Example v2.1 20090203 This updated C++ example application demonstrates the use of Audio Streaming API, which provides functionality for recording audio stream into a buffer, and for playback of the audio buffer. Besides playing, recording, and stopping the audio stream, the recorded audio stream can be saved into a file, to be played again later. The package includes PCM and AMR-NB encoded sample files. Audio Streaming API is part of the Symbian Multimedia Framework (MMF). The updated example has been tested to support S60 5th Edition and touch UI. Important classes: CMdaAudioInputStream, CMdaAudioOutputStream, MMdaAudioInputStreamCallback, MMdaAudioOutputStreamCallback.
S60 Platform: Bluetooth Point-to-Multipoint Example v2.2 20090203 This updated C++ example application demonstrates the use of Bluetooth technology: device and service discovery, connection establishment to one or more devices, communication between devices, and disconnection. The Bluetooth RFCOMM protocol (RS-232 serial port emulation) is used as the transport protocol. For device discovery, the example provides two implementations, based on Generic Inquiry and the considerably faster Limited Inquiry (LIAC). Note that LIAC requires signing with a developer certificate. The updated example has been modified to support S60 5th Edition and touch UI. Important classes: RSocketServ, RHostResolver, CSdpAgent, SdpSearchPattern, RSdp.
S60 Platform: POP/IMAP Example v1.2 20090202 This updated C++ application shows how to retrieve e-mail from a remote mailbox to an S60 device using IMAP and POP protocols. The usual e-mail features such as sending, editing, and deleting e-mail messages are demonstrated. The updated example has been modified to support S60 5th Edition and touch UI. Important classes: CMsvSession, CClientMtmRegistry, CMtmUiRegistry, CMsvOperation, CMsvEntrySelection, CMsvEntry, CBaseMtm.
S60 Platform: Audio Output Streaming Example v1.2 20090130 This updated C++ example application demonstrates the key functionalities of the Audio Streaming API by playing generated waveforms and Pulse-Code Modulation (PCM) sound data from a file. The updated example has been tested to support S60 5th Edition and touch UI. Important classes: CStreamAudioEngine, CMdaAudioOutputStream, MMdaAudioOutputStreamCallback.
S60 Platform: MMS Example v2.1 20090129 This updated C++ example demonstrates how to create multimedia messages using the CMmsClientMtm API. The updated example has been tested to support S60 5th Edition and touch UI. Important classes: CMsvEntry, CMmsClientMtm.
S60 Platform: Sound Mixer Example v2.1 20090127 This C++ example demonstrates how to play (a maximum of 16) simultaneous voices. The example has eight blocks moving on the screen and playing sounds when they collide with a wall or with each other. The updated example has been tested to support S60 5th Edition and touch UI. Important classes: CMdaAudioOutputStream, TMdaAudioDataSettings, MMdaAudioOutputStreamCallback, RThread, RSemaphore, RMutex
Open C++: Memory Game Example v1.1 20090121 This updated Open C++ example application demonstrates a simple memory game. The game engine part was written in Open C++ and the UI part was written in Symbian C++. The application supports S60 3rd Edition and S60 5th Edition devices. Keypad and touch UI are supported depending on the device. In this updated version, the UIDs of the help files and the package file have been changed for improved compatibility. Important classes: RTimer, CMdaAudioPlayerUtility, CAknQueryDialog, CAknMessageQueryDialog, CAknRadioButtonSettingPage, CEikTextListBox, CFbsBitmap, CAknIndicatorContainer, MTouchFeedback.
S60 Platform: Location Example v1.2 20090119 This updated C++ code example implements a practical use case of location-based services. The example demonstrates a use case of requesting the global positioning system (GPS) location of another device via short message service (SMS) and displaying the distance to the device as well as its location. The updated example has been tested to support S60 5th Edition and touch UI. A self-signed version can be installed on S60 3rd Edition, Feature Pack 2 and newer devices.
S60 Platform: Time Zone Localiser Example v1.1 20090116 This C++ code example demonstrates how to convert UTC time to local time using the time zone server (RTz) and how to add, remove, or find a city in the database using the TZLocalizer API, introduced in Symbian OS v.9.1 (S60 3rd Edition). The updated example has been tested to support S60 5th Edition and touch UI. Main classes: RTz, CTzLocalizer.
S60 Platform: Sudoku Game Example 20090114 This C++ example demonstrates how to implement a simple custom UI game that handles different layouts and multiple screen resolutions, and supports several input methods (keyboard and touch UI). Classes: CCoeControl, CFont, AknUtils, CFbsBitmap, CFbsBitGc, CFbsBitmapDevice
S60 Platform: Contacts Model API Example v2.1 20081021 This C++ example is a simple application demonstrating the use of the Contacts Model API. It allows viewing contact items from the default contacts database. Each contact is shown using a custom text definition. New contacts can be imported from files that contain vCard items. A contact item can also be selected and exported to a file in the vCards format. The example has been tested to support S60 5th Edition and touch UI. Important classes: CContactTextDef, CContactIdArray.
S60 Platform: DBMS Example v2.1 20081014 The DBMS (Database Management System) example application demonstrates the usage of DBMS APIs. The example includes a bookstore database engine and a simple Avkon GUI for testing the engine. The example has been tested to support S60 5th Edition and touch UI. Main classes: RDbStoreDatabase, RFs.
S60 Platform: Image Converter Example v3.0 20081010 This example demonstrates how to use the image conversion APIs available in the S60 platform (Image Conversion Library, ICL). These APIs include important classes, such as CBitmapRotator and CBitmapScaler to be used for rotating and scaling images, respectively. CImageEncoder and CImageDecoder classes are used to access image encoders and decoders available in the ICL. Images can be opened, rotated, scaled, and saved in the same or a different format. The UI of the updated application has been optimised for touch using, for example, long taps and tactile feedback. The example project supports building for both S60 5th Edition with touch UI and S60 3rd Edition with a traditional keypad. Important classes: CAknLongTapDetector, MTouchFeedback, CBitmapRotator, CBitmapScaler, CImageEncoder, CImageDecoder, CFbsBitmap, CAknQueryDialog.
S60 Platform: SMS Example v2.1 20081008 This updated C++ example demonstrates programmatical handling of SMS messages. Messages can be sent from the application and they can be received directly into the application (that is, catching incoming messages before the user gets any notification). In addition, messages can be deleted, copied, or moved to other folders of the message store (inbox, outbox, drafts). The example has been updated to be compatible with S60 5th Edition and touch UI. Important classes: CMsvSession, CMsvEntry, CMmsClientMtm, CSmsClientMtm, CClientMtmRegistry, KMsvMessagePartBody, ESmsMtmCommandScheduleCopy, CSmsSettings, CSmsHeader.
S60 Platform: Settings Screen Example v2.1 20081002 This C++ code example explains the basic construction of settings screens, including setting item lists, setting items, and setting pages. The application consists of a single view - a Setting List that has a variety of different types of settings that can be manipulated. The application has been updated to be compatible with S60 5th Edition and touch UI. The usage of settings screens is discussed in the document S60 Platform: Implementing Settings Screens published at www.forum.nokia.com. Important classes: CAknView, CAknSettingItem, CAknSettingItemList, CAknEnumeratedTextSettingItem, CSelectionItemList.
S60 Platform: Dynamic Setting List Example v1.1 20081002 This example demonstrates how to load CAknSettingItemList dynamically at run time instead of defining the list structure into a resource file. In the example, the lists are loaded during application startup. The example can be used as the basis for many different applications where a list has to be loaded dynamically (for instance, based on external feed from a server). Note that CAknSettingItemList itself is not ideal for dynamic loading, but it is possible by using dummy resource IDs and defining all the required list item types in the source code. At run time it is then possible to load multiple instances of each list item type (with any label and value). The application has been updated to be compatible with S60 5th Edition and touch UI. Important classes: CAknSettingItemList.
S60 Platform: Calendar Interim API Example v1.1 20081002 This C++ application demonstrates how to add and modify anniversary entries using the Calendar Interim API (also known as CalInterim API). The Calendar Interim API replaced the Agenda Model API in Symbian OS v9.1 (S60 3rd Edition). The application has been updated to be compatible with S60 5th Edition and touch UI. Important classes: CCalEntry, CCalEntryView, CCalInstance, CCalInstanceView, CCalAlarm, CCalSession, MCalProgressCallBack.
S60 Platform: Thread and Active Objects Example v1.2 20081002 The example demonstrates how to create an active scheduler and how to use active objects inside a new thread. Inside the main thread (main program) the framework creates the active scheduler automatically, but inside a new thread the active scheduler must be created by the programmer. One active object is a Bluetooth device discoverer that searches Bluetooth devices in the vicinity and displays them in the listbox. The example has been tested to be compatible with S60 5th Edition and touch UI. Important classes and headers: RThread, RSocketServer, Btnotifier.h (Bluetooth notifier API).
S60 Platform: Scalable Screen-Drawing Example v1.4 20081002 This C++ application demonstrates scalable screen drawing with Direct Screen Access and custom drawing routines using SVG-T icons and bitmaps. The application scales to multiple display resolutions in portrait and landscape orientations supported by the S60 platform. This example is targeted especially at games and multimedia developers who prefer developing a custom UI instead of using an automatically scaling UI, such as S60 Avkon components. Labeling for the middle softkey has been added in the updated version. The application supports middle-softkey labeling and it has been updated to be compatible with S60 5th Edition and touch UI. Important classes: CIconFileProvider, MDirectScreenAccess, MAknIconFileProvider, CCoeControl (HandleResourceChange() method and KEikDynamicLayoutVariantSwitch), CEikAppUi (ApplicationRect(), Orientation(), and SetOrientationL() methods), AknLayoutUtils (PenEnabled() method).
S60 Platform: Access Points Example with Roaming Support 20080929 This C++ code example demonstrates how an application can open an Internet connection and manage access points. The application opens a connection to a predefined Internet access point (IAP). From S60 3rd Edition, FP2 onwards, a predefined service network access point (SNAP) is used, which enables application-level roaming. Note that access point management features implemented as an option in the example require WriteDeviceData and NetworkControl capabilities. This application has been tested to support S60 5th Edition and touch UI. The example package contains a video demonstrating how to use the application. Documentation about application-level roaming and service network access points is provided in the C++ Developer's Library Extension for S60 3rd Edition FP2 MR/Communication section. Important classes: MMobilityProtocolResp, TAccessPointInfo, CActiveCommsMobilityApiExt, CCmApplicationSettingsUi, TCmSettingSelection, TBearerFilterArray.
S60 3rd Edition: Creating Custom Message Type Modules (with Example) v1.2 20080627 Download this updated C++ document and code example to learn how to create Message Type Modules (MTMs) for S60 3rd Edition and later releases. The target audience is e-mail developers implementing their own e-mail protocol (for example, Push e-mail service), where preinstalled S60 platform e-mail MTMs (POP3, IMAP4) cannot be used. The package demonstrates how to develop and install an MTM, how to create an account (mailbox), how to create a simple viewer/editor implemented as a server application, how to provide support to send from other applications, and how to receive notifications of new messages. Message sending and receiving are echoed locally. Note that Symbian platform security imposes heavy capability requirements for MTMs (up to ALL-TCB capabilities) and thus the application has to be signed using the Manufacturer Approved Developer Certificate. In the updated version, information on attachment handling has been added to the document.
S60 Platform: HTTP Client API Example v2.1 20080416 This C++ application demonstrates simple HTTP GET and POST transactions using HTTP Client API. Basic HTTP authentication is also supported. The updated version provides many improvements to, e.g, error handling, Internet access point filtering, and offline awareness. The application has been tested and qualified as a Symbian Signed application. Note that this version supports S60 3rd Edition and S60 3rd Edition, Feature Pack 1.
S60 Platform: Log Example v1.1 20080331 This C++ application demonstrates the usage of the Log Engine API provided by Symbian. The API is used to record events of interest to the user, of which they may not be immediately aware, or which are of high importance since costs are incurred, such as telephone calls. These events can be retrieved by a viewer application and displayed to the user. The Log Engine API is supported from S60 2nd Edition onwards. In the updated version, the timestamp offset of the log events has been corrected, backup & restore and scalability support has been added, and the application views have been simplified.
S60 Platform: Positioning Simulation Tool 20071116 This package contains an updated simulationpsy tool that simulates positioning technology on the device, thus responding to applications' requests for position information. An accompanying simpsyconfiguration tool provides a configuration UI for developers to select a simulation data file for the simulation PSY. The tools can be installed on S60 3rd Edition or newer devices from Nokia.
S60 Platform: Multiple Threads Example v1.1 20051125 This package includes a C++ Thread example program that demonstrates thread usage and synchronization. A document explaining the use of threads in Symbian OS is included in the package.


This page was last modified on 11 September 2013, at 05:21.
320 page views in the last 30 days.