Register with Forum Nokia now and you'll enjoy the full benefits of the Forum Nokia membership.
Register LoginInnovation Series Videos highlighting Forum Nokia developers
Nokia releases new Qt developer offerings
Forum Nokia Developer Conference, India
Optimise your website for mobile devices with mobile web templates and layouts
Zoom and Rotate Gestures in FlashLite for touch-enabled devices
Jackson Feijó
Read more about Jackson on the Champions website.
Nokia Developer Days in South Africa
December 01, 2009
Johannesburg, South Africa
Forum Nokia Developer Conference ’09, India
December 07, 2009
Bangalore, India
LeWeb
December 09, 2009
Paris
Web Runtime Coding With Aptana WRT Plug-in
December 09, 2009
9am New York | 2pm London | 4pm Helsinki
Web Runtime Coding With Aptana WRT Plug-in
December 09, 2009
9:30am New Delhi, noon Beijing

S60 Platform: FileList Example
This 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 Platform: Rich Text Editor Example
This 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 example has been modified to support S60 5th Edition and touch UI. Main classes: CEikRichTextEditor, CFbsBitmap, TPictureHeader, CPicture.

S60 Platform: Descriptor Example
This 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 example has been updated to support S60 5th Edition and touch UI. Important classes: TBuf, HBufC, RBuf.

S60 Platform: Audio Streaming Example
This 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: Time Zone Localiser Example
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: Contacts Model API Example
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
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
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: Calendar Interim API Example
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: Document Handler API Developer's Guide
See this C++ document to learn how to use the Document Handler API to show different content in dedicated applications. These handler applications have been registered to be able to handle files with certain MIME types (for example, Notes can handle text format and Image Viewer can show different types of images). In the file opening process, the MIME type recognition is done using Recognizers (implemented as Ecom plugins from S60 3rd Edition onwards). Besides viewing, file operations like move and copy are used in many S60 applications. The document refers to a code example that is available at www.forum.nokia.com.

Open C: FTP Client Example
This C/C++ code example demonstrates porting standard C software to the S60 platform. In this example, an open source FTP library (ftplib and qftp; released under GNU General Public License) written in C has been ported to Open C. In addition, a simple UI has been written in Symbian C++ to provide a GUI application. A document about porting experiences and example architecture is also included in the package. The updated version adds support for the GCCE compiler and Carbide.c++ v1.2 IDE. Main Symbian C++/S60 classes: CAknSingleNumberStyleListBox, CAknSearchField, CAknTextQueryDialog, CFileMan, StringLoader. C/Open C classes: connect, socket, setsockopt.

S60 3rd Edition: Preinstalled/Preloaded Applications v1.2
Learn how to create, upgrade, and unistall preinstalled Symbian C++ applications in S60 3rd Edition. MIDlet preinstallation is also briefly discussed. The document also includes information about preloaded Symbian applications and MIDlets in S60 3rd Edition. An example launcher application is included in the package.

S60 Data Persistence eLearning
This eLearning module addresses how files are accessed through the File Server and covers how to store information using Streams. It also addresses stores in terms of what they are, the different types and store transactions, and shows how databases are used in the context of the Symbian operating system.

S60 Platform: Bluetooth OBEX Example
This C++ code example provides a method for transferring objects or chunks of data from one device to another via Bluetooth. These chunks are typically files or other blocks of binary data. This example demonstrates how to run OBEX on top of the Bluetooth RFCOMM protocol, but OBEX can also be used with other transport media, such as IrDA and USB. In addition, the usage of a high-level messaging API, SendUI, is demonstrated. Main classes: TObexBluetoothProtocolInfo, TObexBaseObject, MObexServerNotify, CObexClient, CObexServer, CDocumentHandler, KPowerModeSettingNotifierUid, CSendUi, CSendAppUi.

S60 Platform: Document Handler Example
This C++ example demonstrates how to use the Document Handler and the Recognizer to open and handle certain file types in a dedicated application. The example consists of three components: a caller application trying to open a specific file, a recognizer (a dll component implemented as an ECom plugin from S60 3rd Edition onwards) detecting the file extension, and a document handler opening the file. Note that for the recognizer, a developer certificate is needed due to its ProtServ capability requirement. Usage of the document handler is described in the S60 Platform: Document Handler API Developer's Guide document, available at www.forum.nokia.com. Main classes: CDocumentHandler, CApaDataRecognizerType.

S60 Platform: Using DBMS APIs v2.0
This C++ document demonstrates how to use the relational database APIs available on Symbian OS. Collectively, this functionality is known as the Database Management System (DBMS) APIs. Symbian OS DBMS provides features for creating and maintaining databases, and implements reliable and secure data access to these databases via both native and SQL calls. These calls are supported by a transaction/rollback mechanism that ensures that either all data is written or none at all. The document provides a sample of code snippets from “S60 Platform: DBMS Example” to demonstrate key techniques by creating and manipulating a simple database of books. The code snippets embedded throughout the document are predominantly gathered or adapted from this example. Although the document focuses specifically on describing the support of DBMS APIs in the S60 platform, it is mostly applicable to other Symbian OS devices too.

S60 2nd Edition: FTP Example
This C++ example demonstrates the usage of the FTP (File Transfer Protocol) Service API that allows connecting to and disconnecting from a remote FTP server. The FTP library package provided within the example is required in order to use FTP. It is supported in S60 2nd Edition FP1, FP2, and FP3 devices.