Code snippets table for common use cases
hamishwillee
(Talk | contribs) m (Hamishwillee - Remove KB Header - KB is gone, so not required) |
hamishwillee
(Talk | contribs) m (Hamishwillee - Bot update - Add ArticleMetaData) |
||
| Line 1: | Line 1: | ||
| − | [[Category:Code | + | {{ArticleMetaData <!-- v1.2 --> |
| + | |sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] --> | ||
| + | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | ||
| + | |devices= <!-- Devices tested against - e.g. ''devices=Nokia 6131 NFC, Nokia C7-00'') --> | ||
| + | |sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Qt SDK 1.1.4]) --> | ||
| + | |platform= <!-- Compatible platforms - e.g. Symbian^1 and later, Qt 4.6 and later --> | ||
| + | |devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) --> | ||
| + | |dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 --> | ||
| + | |signing= <!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer --> | ||
| + | |capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. --> | ||
| + | |keywords= <!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase --> | ||
| + | |language= <!-- Language category code for non-English topics - e.g. Lang-Chinese --> | ||
| + | |translated-by= <!-- [[User:XXXX]] --> | ||
| + | |translated-from-title= <!-- Title only --> | ||
| + | |translated-from-id= <!-- Id of translated revision --> | ||
| + | |review-by= <!-- After re-review: [[User:username]] --> | ||
| + | |review-timestamp= <!-- After re-review: YYYYMMDD --> | ||
| + | |update-by= <!-- After significant update: [[User:username]]--> | ||
| + | |update-timestamp= <!-- After significant update: YYYYMMDD --> | ||
| + | |creationdate= 20081111 | ||
| + | |author= [[User:Seppo fn]] | ||
| + | }} | ||
| + | [[Category:Code Snippet]][[Category:Code Snippet]] | ||
This table lists common mobile application use cases in some of the more important development frameworks supported by Nokia devices: [[Qt]], [[Symbian C++]], [[Java ME]], and [[S60 Web Runtime|Web Runtime]]. For each use case, links to corresponding code snippets (CS) are provided. This way developers can more easily find snippets in different programming languages and runtimes. | This table lists common mobile application use cases in some of the more important development frameworks supported by Nokia devices: [[Qt]], [[Symbian C++]], [[Java ME]], and [[S60 Web Runtime|Web Runtime]]. For each use case, links to corresponding code snippets (CS) are provided. This way developers can more easily find snippets in different programming languages and runtimes. | ||
If you notice that a relevant use case is missing from the list, or a snippet is mapped to a wrong use case, please let us know by adding a Comment at the end of this article. Currently only the code snippets published in the Nokia Developer Wiki are linked to. If you know that a use case is documented somewhere else, you may add your suggestion. We will then evaluate if the resource can be added to the list. | If you notice that a relevant use case is missing from the list, or a snippet is mapped to a wrong use case, please let us know by adding a Comment at the end of this article. Currently only the code snippets published in the Nokia Developer Wiki are linked to. If you know that a use case is documented somewhere else, you may add your suggestion. We will then evaluate if the resource can be added to the list. | ||
| − | |||
=== Legend === | === Legend === | ||
{| class=wikitable | {| class=wikitable | ||
| width="90pt" |CS123456 || width="350pt"|Use case possible (link to a snippet provided). || width="90pt"| '''-''' || width="350pt"|Use case should be possible (no code snippets available). | | width="90pt" |CS123456 || width="350pt"|Use case possible (link to a snippet provided). || width="90pt"| '''-''' || width="350pt"|Use case should be possible (no code snippets available). | ||
|- | |- | ||
| − | | S60 MobileExt || Use case possible with Mobile Extensions for Qt | + | | S60 MobileExt || Use case possible with Mobile Extensions for Qt. || N/A || Use case not possible. |
|} | |} | ||
| Line 24: | Line 45: | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Telephony}}'''Telephony''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Telephony}}'''Telephony''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | making a phone call programmatically || [[ | + | | making a phone call programmatically || [[Mobile Extensions|S60 MobileExt]] || [[CS001026 - AIW Dial Data Consumer API|CS001026]] || [[CS000956 - Making a phone call programmatically using platformRequest() method|CS000956]] || N/A |
|- | |- | ||
| − | | making a phone call (user intervention required) || [[ | + | | making a phone call (user intervention required) || [[Mobile Extensions|S60 MobileExt]] || - || [[CS000955 - Making a phone call using TextField|CS000955]] || N/A |
|- | |- | ||
| − | | hanging up a phone call || N/A || [[ | + | | hanging up a phone call || N/A || [[CS001383 - Disconnecting a voice call with CTelephony|CS001383]] || N/A || N/A |
|- | |- | ||
| − | | retrieving information on a phone call || [[ | + | | retrieving information on a phone call || [[Mobile Extensions|S60 MobileExt]] || [[CS001063 - Telephony Call Information API|CS001063]], [[CS001032 - Logs UI Command Line API|CS001032]] || N/A || N/A |
|- | |- | ||
| − | | retrieving log events (e.g., calls) || N/A || [[ | + | | retrieving log events (e.g., calls) || N/A || [[CS000849 - Obtaining recent calls|CS000849]] || N/A || [[CS001231 - Receiving system logs info in WRT|CS001231]] |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Messaging}}'''Messaging''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Messaging}}'''Messaging''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | sending an SMS message || [[ | + | | sending an SMS message || [[CS001616 - Send SMS using Qt Mobility|CS001616]] || - || [[CS000976 - Sending a text SMS|CS000976]], [[CS000977 - Sending a binary SMS|CS000977]] || [[CS001242 - Sending SMS messages in WRT|CS001242]] |
|- | |- | ||
| − | | sending an MMS message || [[ | + | | sending an MMS message || [[CS001616 - Send SMS using Qt Mobility|CS001616]] || [[CS001379 - Sending an MMS message|CS001379]] || [[CS000978 - Sending a multipart MMS|CS000978]] || [[CS001239 - Sending MMS messages in WRT|CS001239]] |
|- | |- | ||
| − | | listening for incoming SMS messages || [[ | + | | listening for incoming SMS messages || [[CS001617 - Receiving an SMS in Qt|CS001617]] || [[CS001381 - Listening for incoming SMS messages|CS001381]] || [[CS000981- Listening for incoming SMS messages: Asynchronous version|CS000981]], [[CS000980 - Listening for incoming SMS messages: Synchronous version|CS000980]] || [[CS001236 - Showing messages information notifications in WRT|CS001236]] |
|- | |- | ||
| − | | listing messages in inbox || [[ | + | | listing messages in inbox || [[CS001618 - Requesting an SMS from the inbox folder in Qt|CS001618]] || - || N/A || [[CS001246 - Listing inbox messages in WRT|CS001246]] |
|- | |- | ||
| − | | removing a message || N/A || [[ | + | | removing a message || N/A || [[CS001380 - Deleting an incoming SMS message|CS001380]] || N/A || [[CS001241 - Removing message from Inbox in WRT|CS001241]] |
|- | |- | ||
| − | | changing the read status of a message || - || - || N/A || [[ | + | | changing the read status of a message || - || - || N/A || [[CS001365 - Changing the status of a message in WRT|CS001365]] |
|- | |- | ||
| providing a "send via" functionality || N/A || - || N/A || - | | providing a "send via" functionality || N/A || - || N/A || - | ||
|- | |- | ||
| − | | playing a message || N/A || [[ | + | | playing a message || N/A || [[CS001119 - Playing a message with the native message reader|CS001119]] || N/A || N/A |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Networking}}'''Networking''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Networking}}'''Networking''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | opening a network connection || [[ | + | | opening a network connection || [[CS001619 - Opening a network connection in Qt|CS001619]] || - || - || - |
|- | |- | ||
| − | | filtering internet access points || - || [[ | + | | filtering internet access points || - || [[CS000837 - Show WLAN IAP only when the device is offline|CS000837]] || N/A || N/A |
|- | |- | ||
| − | | using an already active connection || [[ | + | | using an already active connection || [[CS001619 - Opening a network connection in Qt|CS001619]] || [[CS000825 - Using an already active connection|CS000825]] || N/A || N/A |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Bluetooth}}'''Bluetooth''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Bluetooth}}'''Bluetooth''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | using a device selection UI || N/A || [[ | + | | using a device selection UI || N/A || [[CS000910 - Prompting the user to select a Bluetooth device using RNotifier|CS000910]] || N/A || N/A |
|- | |- | ||
| − | | discovering devices || N/A || [[ | + | | discovering devices || N/A || [[CS000936 - Discovering Bluetooth devices|CS000936]] || [[CS001211 - Discovering Bluetooth device in Java ME|CS001211]] || N/A |
|- | |- | ||
| − | | discovering services || N/A || [[ | + | | discovering services || N/A || [[CS000937 - Discovering Bluetooth services|CS000937]] || [[CS001213 - Discovering Bluetooth services in Java ME|CS001213]] || N/A |
|- | |- | ||
| − | | service advertising & listening to connections || N/A || [[ | + | | service advertising & listening to connections || N/A || [[CS000938 - Advertising Bluetooth services|CS000938]] || [[CS001212 - Advertising a Bluetooth service in Java ME|CS001212]] || N/A |
|- | |- | ||
| defining the transfer protocol (RFCOMM/L2CAP) || N/A || - || - || N/A | | defining the transfer protocol (RFCOMM/L2CAP) || N/A || - || - || N/A | ||
| Line 74: | Line 95: | ||
| opening multiple connections || N/A || - || - || N/A | | opening multiple connections || N/A || - || - || N/A | ||
|- | |- | ||
| − | | opening a socket || N/A || [[ | + | | opening a socket || N/A || [[CS000939 - Establishing a Bluetooth connection|CS000939]] || - || N/A |
|- | |- | ||
| closing a socket || N/A || - || - || N/A | | closing a socket || N/A || - || - || N/A | ||
| Line 80: | Line 101: | ||
| sending data || N/A || - || - || N/A | | sending data || N/A || - || - || N/A | ||
|- | |- | ||
| − | | setting discoverability mode|| N/A || [[ | + | | setting discoverability mode|| N/A || [[CS000838 - Enabling Bluetooth Limited Inquiry (LIAC)|CS000838]] || [[CS001310 - Changing Bluetooth discoverability in Java ME|CS001310]] || N/A |
|- | |- | ||
| prompting to switch on Bluetooth || N/A || - || N/A || N/A | | prompting to switch on Bluetooth || N/A || - || N/A || N/A | ||
|- | |- | ||
| − | | deleting bluetooth device from the registry || N/A || [[ | + | | deleting bluetooth device from the registry || N/A || [[CS001064 - Bluetooth Engine API for S60 3rd Edition, Feature Pack 2|CS001064]] || N/A || N/A |
|- | |- | ||
| − | | retrieving bluetooth device's local name || N/A || [[ | + | | retrieving bluetooth device's local name || N/A || [[CS001064 - Bluetooth Engine API for S60 3rd Edition, Feature Pack 2|CS001064]] || [[CS001323 - Retrieving name and address of local Bluetooth device in Java ME|CS001323]] || N/A |
|- | |- | ||
| − | | communicating with remote targets || N/A || [[ | + | | communicating with remote targets || N/A || [[CS001034 - Remote Control Extension API|CS001034]] || - || N/A |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Base/System}}'''Base/System''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Base/System}}'''Base/System''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | using software installer programmatically || [[ | + | | using software installer programmatically || [[Mobile Extensions|S60 MobileExt]] || [[CS000817 - Installing and uninstalling MIDlets programmatically|CS000817]] || N/A || N/A |
|- | |- | ||
| − | | exception handling || - || [[ | + | | exception handling || - || [[CS000882 - Using TRAP IGNORE in a backward-compatible manner|CS000882]] || - || N/A |
|- | |- | ||
| − | | reading and writing persistent settings || [[ | + | | reading and writing persistent settings || [[Mobile Extensions|S60 MobileExt]] || [[CS000908 - Publish and Subscribe: Using RProperty for publishing|CS000908]], [[CS000909 - Publish and Subscribe: Using RProperty for subscribing|CS000909]] || N/A || [[CS001374 - Storing settings in WRT|CS001374]] |
|- | |- | ||
| − | | scheduling delayed execution || N/A || [[ | + | | scheduling delayed execution || N/A || [[CS000986 - Creating and registering a task handler with RScheduler|CS000986]], [[CS000987 - Creating persistent and transient schedules with RScheduler|CS000987]],<br> [[CS000988 - Creating a condition-based schedule with RScheduler|CS000988]], [[CS000989 - Getting schedule and task info using RScheduler|CS000989]],<br> [[CS000990 - Getting schedule and task count using RScheduler|CS000990]], [[CS000991 - Editing a schedule using RScheduler|CS000991]],<br> [[CS000992 - Deleting schedules and tasks using RScheduler|CS000992]] || - || - |
|- | |- | ||
| − | | creating parallel execution paths (threads /<br> active objects) || - || [[ | + | | creating parallel execution paths (threads /<br> active objects) || - || [[CS000867 - RThread|CS000867]] || [[CS001321 - Creating threads in Java ME|CS001321]] || N/A |
|- | |- | ||
| − | | synchronizing resource access (Symbian:mutex,<br> semaphore; Java:synchronize) || - || [[ | + | | synchronizing resource access (Symbian:mutex,<br> semaphore; Java:synchronize) || - || [[CS000969 - RMutex|CS000969]] || [[CS001320 - Synchronising resource access in Java ME|CS001320]] || N/A |
|- | |- | ||
| − | | splitting execution to asynchronous blocks || - || [[ | + | | splitting execution to asynchronous blocks || - || [[CS000982 - Using CActiveSchedulerWait|CS000982]],[[CS000983 - Changing asynchronous method to synchronous|CS000983]],<br> [[CS001010 - Change a synchronous method to act like an asynchronous one|CS001010]] || - || N/A |
|- | |- | ||
| − | | cancelling an asynchronous function call || - || - || - || [[ | + | | cancelling an asynchronous function call || - || - || - || [[CS001177 - Cancelling an asynchronous function call|CS001177]] |
|- | |- | ||
| − | | custom cleanup || N/A || [[ | + | | custom cleanup || N/A || [[CS000985 - Using TCleanupItem|CS000985]] || - || N/A |
|- | |- | ||
| − | | using plugins || [[ | + | | using plugins || [[CS001391 - Implementing the Qt plug-in interface|CS001391]] || [[CS000834 - ECom: Using ECom component|CS000834]], [[CS0000835 - ECom: Implementing interface|CS0000835]],<br> [[CS000836 - ECom: Defining a custom interface|CS000836]] || - || N/A |
|- | |- | ||
| − | | generating random-value integers || [[ | + | | generating random-value integers || [[CS001350 - Generating random-value integers in Qt|CS001350]] || - || - || - |
|- | |- | ||
| using arguments || - || - || - || - | | using arguments || - || - || - || - | ||
|- | |- | ||
| − | | using string conversions || [[ | + | | using string conversions || [[Mobile Extensions|S60 MobileExt]] || - || - || - |
|- | |- | ||
| sorting data types, classes, structs || - || - || - || - | | sorting data types, classes, structs || - || - || - || - | ||
| Line 123: | Line 144: | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|System information}}'''System information''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|System information}}'''System information''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | checking battery level || [[ | + | | checking battery level || [[Mobile Extensions|S60 MobileExt]] || [[CS000902 - Observing battery state with properties|CS000902]] || [[CS001201 - Checking battery level in Java ME|CS001201]] || [[CS001247 - Checking battery level in WRT|CS001247]] |
|- | |- | ||
| − | | checking network strength || [[ | + | | checking network strength || [[Mobile Extensions|S60 MobileExt]] || - || [[CS001202 - Checking network strength in Java ME|CS001202]] || [[CS001234 - Checking network state in WRT|CS001234]] |
|- | |- | ||
| − | | identifying platform version || [[ | + | | identifying platform version || [[Mobile Extensions|S60 MobileExt]] || [[CS000933 - Detecting S60 platform version at run time|CS000933]] || - || - |
|- | |- | ||
| − | | getting cell id || N/A || - || [[ | + | | getting cell id || N/A || - || [[CS000947 - Getting Cell ID in Java ME|CS000947]] || - |
|- | |- | ||
| − | | retrieving product information || [[ | + | | retrieving product information || [[Mobile Extensions|S60 MobileExt]] || - || - || - |
|- | |- | ||
| − | | checking APIs || N/A || - || [[ | + | | checking APIs || N/A || - || [[CS000960 - Checking whether a specific Java ME API is supported|CS000960]] || - |
|- | |- | ||
| − | | feature discovery || [[ | + | | feature discovery || [[Mobile Extensions|S60 MobileExt]] || - || - || - |
|- | |- | ||
| − | | checking runtime version || - || - || [[ | + | | checking runtime version || - || - || [[CS001357 - Identifying Java ME platform version|CS001357]] || - |
|- | |- | ||
| checking machine id at run-time || N/A || - || N/A || - | | checking machine id at run-time || N/A || - || N/A || - | ||
| Line 147: | Line 168: | ||
| checking product (=platform) id at installation-time || N/A || - || N/A || N/A | | checking product (=platform) id at installation-time || N/A || - || N/A || N/A | ||
|- | |- | ||
| − | | retrieving memory information || [[ | + | | retrieving memory information || [[Mobile Extensions|S60 MobileExt]] || - || - || [[CS001232 - Retrieving memory info in WRT|CS001232]] |
|- | |- | ||
| − | | checking memory card existence || N/A || [[ | + | | checking memory card existence || N/A || [[CS000827 - Checking memory card availability|CS000827]] || [[CS001200 - Checking memory card in Java ME|CS001200]] || [[CS001232 - Retrieving memory info in WRT|CS001232]] |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Profiles}}'''Profiles''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Profiles}}'''Profiles''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | checking current profile || [[ | + | | checking current profile || [[Mobile Extensions|S60 MobileExt]] || [[CS001024 - Profiles Engine Active Profile Settings API|CS001024]] || N/A || - |
|- | |- | ||
| − | | changing profile || [[ | + | | changing profile || [[Mobile Extensions|S60 MobileExt]] || - || N/A || - |
|- | |- | ||
| − | | editing profile settings || [[ | + | | editing profile settings || [[Mobile Extensions|S60 MobileExt]] || [[CS001294 - Setting the profile tones in active profile using Profile Engine Wrapper API|CS001294]] || N/A || - |
|- | |- | ||
| Line 164: | Line 185: | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Hardware}}'''Hardware''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Hardware}}'''Hardware''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | controlling lights || [[ | + | | controlling lights || [[Mobile Extensions|S60 MobileExt]] || [[CS000912 - Controlling light settings using CHWRMLight|CS000912]] || [[CS001270 - Controlling Light settings in Java ME|CS001270]], [[CS000957 - Flashing the backlight|CS000957]] || [[CS001248 - Blinking flashing increasing brightness of backlight in WRT|CS001248]] |
|- | |- | ||
| − | | controlling vibra || [[ | + | | controlling vibra || [[Mobile Extensions|S60 MobileExt]] || [[CS000911 - Controlling vibra settings using CHWRMVibra|CS000911]], [[CS001164 - Giving tactile feedback in touch UI applications|CS001164]] || [[CS001258 - Controlling vibra settings in Java ME|CS001258]] || [[CS001368 - Controlling vibration in WRT|CS001368]] |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Sensors}}'''Sensors''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Sensors}}'''Sensors''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | obtaining the number of sensors || N/A || [[ | + | | obtaining the number of sensors || N/A || [[CS000886 - Obtaining the number of sensors|CS000886]] || [[How to get information about sensors in Java ME|FNWiki]] || - |
|- | |- | ||
| − | | displaying information about available sensors || N/A || [[ | + | | displaying information about available sensors || N/A || [[CS000887 - Displaying information about available sensors|CS000887]] || [[How to get information about sensors in Java ME|FNWiki]] || - |
|- | |- | ||
| − | | displaying sensor data || [[ | + | | displaying sensor data || [[Mobile Extensions|S60 MobileExt]] || [[CS000914 - Displaying sensor data|CS000914]] || [[How to get accelerator sensor values in Java ME|FNWiki]] || - |
|- | |- | ||
| − | | listening for rotation sensor data events || [[ | + | | listening for rotation sensor data events || [[Mobile Extensions|S60 MobileExt]] || [[CS000913 - Listening for rotation sensor data events|CS000913]] || - || - |
|- | |- | ||
| − | | listening for accelerometer sensor data events || [[ | + | | listening for accelerometer sensor data events || [[Mobile Extensions|S60 MobileExt]] || [[CS000888 - Listening for accelerometer sensor data events|CS000888]] || [[How to get accelerator sensor values in Java ME|FNWiki]] || - |
|- | |- | ||
| − | | reducing accelerometer sensor noise || [[ | + | | reducing accelerometer sensor noise || [[Mobile Extensions|S60 MobileExt]] || [[CS000915 - Reducing accelerometer sensor noise|CS000915]] || - || - |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Files/Data}}'''Files/Data''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Files/Data}}'''Files/Data''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | storing application settings || - || [[ | + | | storing application settings || - || [[CS000967 - Storing application settings|CS000967]] || [[CS001265 - Storing application settings in Java ME|CS001265]] || - |
|- | |- | ||
| − | | using databases || [[ | + | | using databases || [[CS001504 - Creating an SQLite database in Qt|CS001504]],<br> [[CS001505 - Creating a database table in Qt|CS001505]],<br> [[CS001506 - Inserting a row into a database in Qt|CS001506]],<br> [[CS001507 - Searching for data in a database in Qt|CS001507]],<br> [[CS001508 - Deleting data from a database in Qt|CS001508]],<br> [[CS001509 - Selecting data from a database without using SQL statements in Qt|CS001509]],<br> [[CS001510 - Using QDataWidgetMapper to show data from a database in Qt|CS001510]] || [[CS000925 - Using SQL API for creating non-secure and secure databases|CS000925]], [[CS000926 - Using SQL API for attaching and detaching databases|CS000926]],<br> [[CS000927 - Using SQL API with SQL statements which do not return data|CS000927]], [[CS000928 - Using SQL API with SQL statements which return data|CS000928]],<br> [[CS000929 - Using SQL API with scalar queries|CS000929]], [[CS000930 - Using SQL API with data streams|CS000930]] || - || - |
|- | |- | ||
| − | |parsing contacts details from informal text || - || [[ | + | |parsing contacts details from informal text || - || [[CS000931 - Using CFindItemEngine to parse items from text|CS000931]] || - || - |
|- | |- | ||
| − | | managing archives || - || [[ | + | | managing archives || - || [[CS000948 - Getting trailer and header info from GZIP files|CS000948]], [[CS000949 - Compressing and decompressing GZIP files|CS000949]],<br> [[CS000950 - Compressing and decompressing files using CEZFileBufferManager|CS000950]] || - || - |
|- | |- | ||
| − | | managing media files || - || [[ | + | | managing media files || - || [[CS001036 - Media File API|CS001036]] || - || - |
|- | |- | ||
| − | | opening files, handling mime types || N/A || [[ | + | | opening files, handling mime types || N/A || [[CS001050 - Creating a recognizer plug-in for a MIME type|CS001050]], [[CS001052 - Opening a file using CDocumentHandler|CS001052]],<br> [[CS001053 - Copying content to predefined directories with CDocumentHandler|CS001053]], [[CS001054 - Checking whether a certain MIME type is supported|CS001054]] || - || [[CS001371 - MIME type handling in WRT|CS001371]] |
|- | |- | ||
| − | | listing PIM databases || N/A || - || [[ | + | | listing PIM databases || N/A || - || [[CS000972 - Listing PIM databases using JSR-75|CS000972]] || - |
|- | |- | ||
| − | | using resources || [[ | + | | using resources || [[CS001503 - Using resources in Qt|CS001503]] || - || [[CS000979 - Converting a resource into a byte array|CS000979]], [[CS001006 - Reading a text file line by line|CS001006]] || - |
|- | |- | ||
| creating temporary files || - || - || - || - | | creating temporary files || - || - || - || - | ||
|- | |- | ||
| − | | reading and writing files || - || - || [[ | + | | reading and writing files || - || - || [[How to read an image from Gallery in Java ME|FNWiki]], <br>[[How to write data to a file in Java ME|FNWiki]] || - |
|- | |- | ||
| checking file status || - || - || - || - | | checking file status || - || - || - || - | ||
|- | |- | ||
| − | | encrypting and decrypting || N/A || - || [[ | + | | encrypting and decrypting || N/A || - || [[CS001314 - Encrypting and decrypting in Java ME|CS001314]] || - |
|- | |- | ||
| shuffling data || N/A || - || - || - | | shuffling data || N/A || - || - || - | ||
| Line 217: | Line 238: | ||
| '''''Calendar:''''' | | '''''Calendar:''''' | ||
|- | |- | ||
| − | | adding a new event || N/A || - || [[ | + | | adding a new event || N/A || - || [[CS001198 - Adding a new calendar event in Java ME|CS001198]] || [[CS001233 - Adding and deleting calendars events in WRT|CS001233]] |
|- | |- | ||
| − | | modifying an existing event || N/A || - || [[ | + | | modifying an existing event || N/A || - || [[CS001188 - Modifying an existing calendar event in Java ME|CS001188]] || [[CS000942 - WRT Calendar Widget|CS000942]] |
|- | |- | ||
| − | | deleting an event || N/A || - || [[ | + | | deleting an event || N/A || - || [[CS001358 - Deleting calendar event in Java ME|CS001358]] || [[CS001233 - Adding and deleting calendars events in WRT|CS001233]] |
|- | |- | ||
| − | | showing calendars and events || N/A || - || [[ | + | | showing calendars and events || N/A || - || [[CS001189 - Showing calendar events in Java ME|CS001189]],<br> [[CS001361 - Listing calendar events in Java ME|CS001361]] || [[CS001244 - Listing calendars and events in WRT|CS001244]],<br> [[CS001278 - Listing calendars in WRT|CS001278]] |
|- | |- | ||
| − | | importing an event || N/A || [[ | + | | importing an event || N/A || [[CS001027 - Calendar Importer API|CS001027]] || [[CS001197 - Importing calendar event in Java ME|CS001197]] || [[CS001237 - Exporting and importing calendar events in WRT|CS001237]] |
|- | |- | ||
| − | | exporting an event || N/A || [[ | + | | exporting an event || N/A || [[CS001028 - Calendar Exporter API|CS001028]] || [[CS001186 - Exporting a calendar event in Java ME|CS001186]] || [[CS001237 - Exporting and importing calendar events in WRT|CS001237]] |
|- | |- | ||
| − | | adding calendars || N/A || - || - || [[ | + | | adding calendars || N/A || - || - || [[CS0012230 - Adding and deleting calendars in WRT|CS0012230]] |
|- | |- | ||
| − | | deleting calendars || N/A || - || - || [[ | + | | deleting calendars || N/A || - || - || [[CS0012230 - Adding and deleting calendars in WRT|CS0012230]] |
|- | |- | ||
| − | | changing calendar settings || N/A || [[ | + | | changing calendar settings || N/A || [[CS001038 - Calendar Settings API|CS001038]] || - || - |
|- | |- | ||
| '''''Date/time/clock:''''' | | '''''Date/time/clock:''''' | ||
|- | |- | ||
| − | | converting time zones || N/A || [[ | + | | converting time zones || N/A || [[CS000847 - Converting time zones|CS000847]] || [[CS001199 - Converting time zones in Java ME|CS001199]] || - |
|- | |- | ||
| − | | displaying time and date || - || [[ | + | | displaying time and date || - || [[CS001007 - Displaying date in different formats using TTime|CS001007]], [[CS001008 - Displaying time in different formats using TTime|CS001008]] || [[CS001311 - Displaying date and time in Java ME|CS001311]] || [[CS001229 - Showing date and time in WRT|CS001229]] |
|- | |- | ||
| − | | changing clock settings || N/A || [[ | + | | changing clock settings || N/A || [[CS001037 - Clock Settings API|CS001037]] || N/A || - |
|- | |- | ||
| − | | monitoring alarms || N/A || [[ | + | | monitoring alarms || N/A || [[CS001120 - Monitoring alarms|CS001120]] || N/A || - |
|- | |- | ||
| '''''Phonebook / Contacts:''''' | | '''''Phonebook / Contacts:''''' | ||
|- | |- | ||
| − | | finding/viewing contacts || [[ | + | | finding/viewing contacts || [[CS001620 - Finding contact manager in Qt|CS001620]],<br> [[CS001621 - Searching contact in Qt|CS001621]] || - || [[CS001184 - Finding and viewing contacts in Java ME|CS001184]],[[CS001360 - Listing contacts in Java ME|CS001360]] || [[CS001235 - Retrieving contacts info in WRT|CS001235]] |
|- | |- | ||
| − | | adding a contact || [[ | + | | adding a contact || [[CS001624 - Creating contact in Qt|CS001624]] || - || [[CS001183 - Adding a contact to Phonebook in Java ME|CS001183]] || [[CS001238 - Adding contact in WRT|CS001238]] |
|- | |- | ||
| − | | adding a contact to a group || - || - || - || [[ | + | | adding a contact to a group || - || - || - || [[CS001362 - Adding contacts to a group in WRT|CS001362]] |
|- | |- | ||
| − | | managing phonebook groups || - || - || - || [[ | + | | managing phonebook groups || - || - || - || [[CS001373 - Managing phonebook groups in WRT|CS001373]] |
|- | |- | ||
| − | | reading and modifying a contact || [[ | + | | reading and modifying a contact || [[CS001622 - Reading contact data in Qt|CS001622]] || - || [[CS001185 - Modifying a contact in Java ME|CS001185]] || [[CS001240 - Editing contacts in WRT|CS001240]] |
|- | |- | ||
| − | | deleting a contact || [[ | + | | deleting a contact || [[CS001623 - Removing contact in Qt|CS001623]] || - || [[CS001359 - Deleting a contact in Java ME|CS001359]] || [[CS001243 - Removing contacts in WRT|CS001243]] |
|- | |- | ||
| organising contacts || N/A || - || - || - | | organising contacts || N/A || - || - || - | ||
|- | |- | ||
| − | |importing a vCard || N/A || [[ | + | |importing a vCard || N/A || [[CS000900 - Importing a vCard item from a file|CS000900]] || [[CS001187 - Importing a Phonebook contact in vCard format in Java ME|CS001187]] || - |
|- | |- | ||
| − | | exporting a vCard || N/A || [[ | + | | exporting a vCard || N/A || [[CS000901 - Exporting a vCard item to a file|CS000901]] || [[CS001210 - Exporting phonebook contact in vCard format in Java ME|CS001210]] || - |
|- | |- | ||
| − | | assigning images to contacts || [[ | + | | assigning images to contacts || [[Mobile Extensions|S60 MobileExt]] || [[CS001138 - Assign contact images with AIW|CS001138]] || N/A || N/A |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Application Framework}}'''Application Framework''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Application Framework}}'''Application Framework''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | listing installed applications || - || - || N/A || [[ | + | | listing installed applications || - || - || N/A || [[CS001160 - Listing installed applications|CS001160]] |
|- | |- | ||
| − | | launching an installed application || [[ | + | | launching an installed application || [[CS001354 - Launching an application from Qt|CS001354]] || [[CS000828 - Launching Media Gallery from another application|CS000828]] || N/A || [[CS001162 - Launching an installed application|CS001162]],<br> [[CS001518 - Creating a launcher for a web application in WRT|CS001518]] |
|- | |- | ||
| − | | triggering application launch || N/A || - || [[ | + | | triggering application launch || N/A || - || [[CS001387 - Using PushRegistry in Java ME|CS001387]] || N/A |
|- | |- | ||
| − | | pausing application on incoming call or message || - || [[ | + | | pausing application on incoming call or message || - || [[CS000863 - Pausing an application on an incoming call|CS000863]], [[CS000883 - Pausing an application on an incoming SMS|CS000883]] || [[CS000975 - Enabling pauseApp() method calls in Java ME|CS000975]] || - |
|- | |- | ||
| − | | sending application to background || [[ | + | | sending application to background || [[CS001519 - Minimise application and show task switcher in Qt for Maemo|CS001519]] || - || - || - |
|- | |- | ||
| detecting focus change || - || - || - || - | | detecting focus change || - || - || - || - | ||
|- | |- | ||
| − | | exiting application || [[ | + | | exiting application || [[CS001626 - Closing a Qt Quick application from QML|CS001626]] || - || - || - |
|- | |- | ||
| − | | loading libraries || - || [[ | + | | loading libraries || - || [[CS001009 - Loading DLL by RLibrary|CS001009]] || N/A || N/A |
|- | |- | ||
| − | | getting UI environment pointer || N/A || [[ | + | | getting UI environment pointer || N/A || [[CS001057 - Getting Eikon environment pointer|CS001057]]|| N/A || N/A |
|- | |- | ||
| Line 292: | Line 313: | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|UI}}'''UI''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|UI}}'''UI''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | adding Symbian S60 Options menu and panes || [[ | + | | adding Symbian S60 Options menu and panes || [[CS001351 - Adding Options menu%2C panes%2C and icon to a Qt application|CS001351]],<br> [[CS001511 - Add softkeys to QMainWindow|CS001511]],<br> [[CS001512 - Add softkeys to QDialog|CS001512]],<br> [[CS001513 - Add softkeys to QMainWindow and QDialog|CS001513]] || - || - || [[CS001402 - Controlling the softkey in WRT|CS001402]] |
|- | |- | ||
| − | | combining UI with engine || [[ | + | | combining UI with engine || [[CS001613 - Calling Qt class methods from QML|CS001613]],<br> [[CS001625 - Connecting Qt signal to QML function|CS001625]],<br> [[CS001543 - Exposing QObjects to Qt Webkit|CS001543]],<br> [[CS001544 - Calling an exposed QObject slot from Qt WebKit with JavaScript|CS001544]],<br> [[CS001545 - Connecting to a QObjects signal with JavaScript slot in Qt WebKit|CS001545]] || - || - || - |
|- | |- | ||
| − | | drawing standard borders || - || [[ | + | | drawing standard borders || - || [[CS000862 - Drawing a standard border around a CEikEdwin|CS000862]] || - || - |
|- | |- | ||
| − | | switching views || N/A || [[ | + | | switching views || N/A || [[CS001378 - Switching views|CS001378]], [[CS000848 - Getting a pointer to CAknViewAppUi or CAknView|CS000848]] || [[CS000973 - Navigating between Screens|CS000973]] || - | |
|- | |- | ||
| − | | calculating text width || [[ | + | | calculating text width || [[CS001349 - Calculating text width in Qt|CS001349]] || - || - || - |
|- | |- | ||
| − | | setting label fonts || - || [[ | + | | setting label fonts || - || [[CS000833 - Setting font for CEikLabel|CS000833]] || [[CS001316 - Setting label fonts in Java ME|CS001316]] || - |
|- | |- | ||
| − | | drawing custom borders || - || [[ | + | | drawing custom borders || - || [[CS000824 - Drawing custom borders|CS000824]] || - || - |
|- | |- | ||
| − | | adding scrollbars || - || [[ | + | | adding scrollbars || - || [[CS000823 - Adding scrollbars to a rich text editor|CS000823]] || - || [[CS001554 - Adding a Guarana UI scroll on a web page|CS001554]] |
|- | |- | ||
| − | | listening for scrollbar events || - || [[ | + | | listening for scrollbar events || - || [[CS000884 - Listening for scrollbar events|CS000884]] || - || - |
|- | |- | ||
| − | | implementing a horizontally scrolling view || [[ | + | | implementing a horizontally scrolling view || [[CS001630 - Implementing horizontally scrolling view with QML Flickable|CS001630]] || - || - || - |
|- | |- | ||
| − | | receiving key events || [[ | + | | receiving key events || [[CS001352 - Listening for Symbian key events in Qt|CS001352]] || N/A || [[CS001315 - Receiving key events in Java ME|CS001315]] ||[[CS000943 - WRT NumKeyTranslator Widget|CS000943]] |
|- | |- | ||
| − | | listening for window server events || [[ | + | | listening for window server events || [[CS001353 - Listening for sent Symbian window server events in Qt|CS001353]] || - || - || - |
|- | |- | ||
| − | | reacting to changes in screen size || - || - || - || [[ | + | | reacting to changes in screen size || - || - || - || [[CS001499 - Reacting to the changes in screen size in WRT|CS001499]] |
|- | |- | ||
| − | | detecting and changing display orientation || - || - || - || [[ | + | | detecting and changing display orientation || - || - || - || [[CS001498 - Detecting orientation changes in WRT|CS001498]],<br> [[CS001366 - Changing display orientation in WRT|CS001366]] |
|- | |- | ||
| − | | locking display orientation || [[ | + | | locking display orientation || [[CS001517 - Lock application orientation in Qt|CS001517]] || - || - || - |
|- | |- | ||
| − | | using indicators || - || [[ | + | | using indicators || - || [[CS000818 - Setting various indicators|CS000818]], [[CS001121 - Showing count in the navi pane|CS001121]] || N/A || [[CS001549 - Adding a Guarana UI busy indicator on a web page|CS001549]],<br> [[CS001550 - Customising a Guarana UI busy indicator|CS001550]] |
|- | |- | ||
| − | | using progress bars || - || -|| - || [[ | + | | using progress bars || - || -|| - || [[CS001555 - Adding a Guarana UI progress bar on a web page|CS001555]] |
|- | |- | ||
| − | | using custom controls and elements || [[ | + | | using custom controls and elements || [[CS001627 - Creating a custom QML element with Qt|CS001627]],<br> [[CS001612 - Using QML Flow to place QML elements|CS001612]] || [[CS000859 - Custom control|CS000859]], [[CS000860 - Custom control: Construct from resource|CS000860]],<br> [[CS000861 - Custom control: Container control|CS000861]], [[CS000868 - Custom control: Focusing|CS000868]] || [[CS001267 - Creating CustomItem in Java ME|CS001267]] || - |
|- | |- | ||
| − | | creating transparent controls || [[ | + | | creating transparent controls || [[CS001614 - Transparent QDialog and QListWidget in Qt|CS001614]] || - || - || - |
|- | |- | ||
| − | | using custom dialogs || - || [[ | + | | using custom dialogs || - || [[CS000870 - Custom control: In dialog|CS000870]], [[CS001165 - Implementing a custom CAknQueryDialog dialog|CS001165]] || [[CS000946 - Using eSWT FileDialog in Java ME|CS000946]] || - |
|- | |- | ||
| − | | using custom scrollbars || - || [[ | + | | using custom scrollbars || - || [[CS000869 - Custom control: Scrollbars|CS000869]], [[CS000885 - Moving scrollbar thumb|CS000885]] || - || - |
|- | |- | ||
| − | | using interpolation || - || [[ | + | | using interpolation || - || [[CS001166 - Interpolation|CS001166]] || - || - |
|- | |- | ||
| − | | using listboxes || - || - || [[ | + | | using listboxes || - || - || [[CS001266 - Using List in Java ME|CS001266]] || [[CS000941 - WRT Listbox Widget|CS000941]] |
|- | |- | ||
| − | | using grids || - || - || - || [[ | + | | using grids || - || - || - || [[CS000940 - WRT Gridbox Widget|CS000940]] |
|- | |- | ||
| − | | using notes || - || [[ | + | | using notes || - || [[CS000945 - Info Popup Note API|CS000945]] || [[CS001312 - Using Alerts in Java ME|CS001312]] || - |
|- | |- | ||
| − | |-delivering information between views || - || [[ | + | |-delivering information between views || - || [[CS000970 - Sending custom message between views|CS00970]], [[CS000971 - Sending package buffer between views|CS000971]] || - || - |
|- | |- | ||
| − | | using dialogs || - || [[ | + | | using dialogs || - || [[CS001056 - Creating a password dialog with secret editors|CS001056]], [[CS001062 - Showing a global progress dialog using CAknGlobalProgressDialog|CS001062]] || [[CS001312 - Using Alerts in Java ME|CS001312]] || - |
|- | |- | ||
| − | | using queries || - || [[ | + | | using queries || - || [[CS001055 - Creating a confirmation query dialog with an animation|CS001055]], [[CS001059 - Showing a global message query using CAknGlobalMsgQuery|CS001059]],<br> [[CS001060 - Showing a global confirmation query using CAknGlobalConfirmationQuery|CS001060]], [[CS001061 - Showing a global list query using CAknGlobalListQuery|CS001061]] || - || - |
|- | |- | ||
| − | | managing layouts || [[ | + | | managing layouts || [[CS001308 - Implementing a layout manager in Qt|CS001308]],<br> [[CS001309 - Maintaining square form for a widget in Qt|CS001309]] || - || - || - |
|- | |- | ||
| − | | using buttons || - || - || - || [[ | + | | using buttons || - || - || - || [[CS001547 - Adding a Guarana UI button on a web page|CS001547]] |
|- | |- | ||
| − | | using radio buttons || - || [[ | + | | using radio buttons || - || [[CS001118 - Creating a radio button settings page|CS001118]] || - || [[CS001552 - Adding a Guarana UI radio button on a web page|CS001552]] |
|- | |- | ||
| − | | using checkboxes || - || - || - || [[ | + | | using checkboxes || - || - || - || [[CS001548 - Adding a Guarana UI checkbox on a web page|CS001548]],<br> [[CS001551 - Customising a Guarana UI checkbox|CS001551]] |
|- | |- | ||
| − | | using carousels || - || - || - || [[ | + | | using carousels || - || - || - || [[CS001546 - Adding a Guarana UI carousel on a web page|CS001546]] |
|- | |- | ||
| − | | using datepicker component || - || - || - || [[ | + | | using datepicker component || - || - || - || [[CS001553 - Adding a Guarana UI datepicker on a web page|CS001553]] |
|- | |- | ||
| − | | catching menu events || - || [[ | + | | catching menu events || - || [[CS001117 - Catching the menu open and close events|CS001117]] || - || [[CS001364 - Catching menu events in WRT|CS001364]] |
|- | |- | ||
| − | | handling touch UI events || - || [[ | + | | handling touch UI events || - || [[CS001144 - Handling pointer events|CS001144]], [[CS001145 - Pointer capturing in touch-enabled devices|CS001145]],<br> [[CS001146 - Enabling drag events in touch-enabled devices|CS001146]], [[CS001147 - Handling scalability in touch enabled device|CS001147]],<br> [[CS001148 - Handling new touch-related MEikListBoxObserver events|CS001148]], [[CS001163 - Detecting long tap in touch UI|CS001163]],<br> [[CS001164 - Giving tactile feedback in touch UI applications|CS001164]] || - || - |
|- | |- | ||
| showing text input || - || - || - || - | | showing text input || - || - || - || - | ||
|- | |- | ||
| − | | enabling and disabling keypad lock || N/A || [[ | + | | enabling and disabling keypad lock || N/A || [[CS000932 - Enabling and disabling keypad lock|CS000932]] || N/A || N/A |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Personalisation}}'''Personalisation''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Personalisation}}'''Personalisation''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | using skins || N/A || [[ | + | | using skins || N/A || [[CS001025 - Personalisation and Skins Settings API|CS001025]] || N/A || N/A |
|- | |- | ||
| − | | using style sheets || [[ | + | | using style sheets || [[CS001502 - Applying a Qt style sheet to an application via QApplication|CS001502]] || - || - || - |
|- | |- | ||
| − | | accessing screensaver settings || N/A || [[ | + | | accessing screensaver settings || N/A || [[CS001039 - Screensaver Settings API|CS001039]] || N/A || N/A |
|- | |- | ||
| − | | setting ringtones || N/A || [[ | + | | setting ringtones || N/A || [[CS001294 - Setting the profile tones in active profile using Profile Engine Wrapper API|CS001294]] || N/A || - |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Graphics}}'''Graphics''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Graphics}}'''Graphics''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | adding an application icon || [[ | + | | adding an application icon || [[CS001351 - Adding Options menu%2C panes%2C and icon to a Qt application|CS001351]] || [[CS000808 - Creating and adding an icon to an S60 3rd Edition application|CS000808]] || [[CS000958 - Adding an icon to a MIDlet|CS000958]] || - |
|- | |- | ||
| − | | loading images || [[ | + | | loading images || [[CS001500 - Reading big images in Qt|CS001500]] || - || - || [[CS001245 - Loading images in WRT|CS001245]] |
|- | |- | ||
| − | | rotating bitmaps and images || [[ | + | | rotating bitmaps and images || [[CS001514 - Rotate picture in Qt|CS001514]] || [[CS000866 - CBitmapRotator|CS000866]], [[CS001139 - Rotating images with AIW|CS001139]] || [[CS001263 - Rotating images in Java ME|CS001263]] || - |
|- | |- | ||
| − | | scaling bitmaps || [[ | + | | scaling bitmaps || [[CS001347 - Scaling QPixmap image|CS001347]],<br> [[CS001346 - Scaling QGraphicsPixmapItem|CS001346]] || [[CS000984 - Scaling bitmaps|CS000984]] || [[CS001269 - Scaling bitmaps in Java ME|CS001269]] || - |
|- | |- | ||
| − | | converting bitmap to JPEG || - || [[ | + | | converting bitmap to JPEG || - || [[CS000906 - Converting a captured bitmap image to JPEG|CS000906]] || - || - |
|- | |- | ||
| − | | avoid flickering with double-buffering || - || [[ | + | | avoid flickering with double-buffering || - || [[CS001049 - Avoid flickering with double buffering|CS001049]] || [[CS001268 - Using double buffering in Java ME|CS001268]] || [[CS001363 - Avoiding screen flickering in WRT|CS001363]] |
|- | |- | ||
| − | | creating effects || [[ | + | | creating effects || [[CS001515 - Transparent QPixmap picture|CS001515]] || - || [[CS001319 - Creating effects in Java ME|CS001319]] || - |
|- | |- | ||
| − | | drawing || [[ | + | | drawing || [[CS001516 - Painting only the dirty area of the widget in Qt|CS001516]] || - || [[CS001313 - Drawing a line on canvas in Java ME|CS001313]], [[CS001272 - Using M3G to Draw in Java ME|CS001272]] || - |
|- | |- | ||
| − | | using animation || [[ | + | | using animation || [[CS001556 - Enabling Qt Animation Framework in an application|CS001556]], [[CS001557 - Animating graphics item position|CS001557]],<br> [[CS001558 - Animating graphics item rotation|CS001558]],<br> [[CS001559 - Animating graphics item fading|CS001559]],<br> [[CS001560 - Animating graphics item scaling|CS001560]],<br> [[CS001561 - Animating graphics item position and rotation simultaneously|CS001561]],<br> [[CS001628 - Implementing of fading animation with QML|CS001628]],<br> [[CS001629 - Implementing parent change animation with QML|CS001629]] || - || [[CS001271 - Using M3G Animation in Java ME|CS001271]] || - |
|- | |- | ||
| − | | changing background colour || [[ | + | | changing background colour || [[CS001348 - Changing QWidget background colour|CS001348]],<br> [[CS001501 - Creating a gradient background for a QPushButton with style sheet|CS001501]] || - || N/A || - |
|- style="background:#efefef" | |- style="background:#efefef" | ||
| Line 407: | Line 428: | ||
| '''''Camera:''''' | | '''''Camera:''''' | ||
|- | |- | ||
| − | | taking a picture || [[ | + | | taking a picture || [[Mobile Extensions|S60 MobileExt]] || [[CS000904 - Capturing an image|CS000904]] || [[CS001259 - Taking a picture in Java ME|CS001259]] || N/A |
|- | |- | ||
| − | | saving a captured image || - || [[ | + | | saving a captured image || - || [[CS000905 - Saving a captured image|CS000905]] || [[CS001261 - Saving a captured image in Java ME|CS001261]] || N/A |
|- | |- | ||
| − | | displaying viewfinder data || [[ | + | | displaying viewfinder data || [[Mobile Extensions|S60 MobileExt]] || [[CS000907 - Displaying viewfinder data|CS000907]] || - || N/A |
|- | |- | ||
| − | | handling (releasing) camera resource || - || [[ | + | | handling (releasing) camera resource || - || [[CS000821 - Handling Camera resource|CS000821]] || [[CS001262 - Handling %28releasing%29 camera resource in Java ME|CS001262]] || N/A |
|- | |- | ||
| − | | checking if the camera is running || - || [[ | + | | checking if the camera is running || - || [[CS000815 - Checking if the Camera application is running|CS000815]] || - || N/A |
|- | |- | ||
| − | | determining the number of cameras || - || [[ | + | | determining the number of cameras || - || [[CS000826 - Determining the number of cameras on the device|CS000826]] || [[CS001273 - Determining the number of cameras in Java ME|CS001273]] || N/A |
|- | |- | ||
| − | | using autofocus || [[ | + | | using autofocus || [[Mobile Extensions|S60 MobileExt]] || [[CS000954 - Implementing autofocus functionality (S60 3rd Edition, pre-FP2)|CS000954]] || N/A || N/A |
|- | |- | ||
| − | | reading image information || - || [[ | + | | reading image information || - || [[CS000968 - Using Exif API|CS000968]] || - || - |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Audio/Video}}'''Audio/Video''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Audio/Video}}'''Audio/Video''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | finding audio and video formats || N/A || [[ | + | | finding audio and video formats || N/A || [[CS000899 - Finding audio and video formats supported by the phone|CS000899]] || [[CS001260 - Finding audio and video formats supported by the phone in Java ME|CS001260]] || N/A |
|- | |- | ||
| − | | playing multichannel audio || N/A || [[ | + | | playing multichannel audio || N/A || [[CS000916 - Playing multi-channel audio|CS000916]] || - || - |
|- | |- | ||
| − | | managing key sounds || N/A || [[ | + | | managing key sounds || N/A || [[CS000951 - Enabling and disabling defined key sound using CAknKeySoundSystem|CS000951]], [[CS000952 - Enabling and disabling all key sounds using CAknKeySoundSystem|CS000952]],<br> [[CS000953 - Using customized key sounds with CAknKeySoundSystem|CS000953]] || N/A || - |
| − | |- routing audio || [[ | + | |- routing audio || [[CS001029 - Audio Input Routing API|CS001029]], [[CS001137 - Routing a voice call between the earpiece and the loudspeaker|CS001137]] || N/A || N/A |
|- | |- | ||
| − | | configuring speech encoders (e.g., AMR) || N/A || [[ | + | | configuring speech encoders (e.g., AMR) || N/A || [[CS001030 - Speech Encoder Config API|CS001030]] || N/A || N/A |
|- | |- | ||
| − | | converting text-to-speech || N/A || [[ | + | | converting text-to-speech || N/A || [[CS001031 - NSSTTS Utility API|CS001031]] || N/A || N/A |
|- | |- | ||
| − | | accessing video encoders || N/A || [[ | + | | accessing video encoders || N/A || [[CS001065 - MDFDevVideo Record API|CS001065]] || N/A || N/A |
|- | |- | ||
| − | | using audio adjustments in the audio player || N/A || [[ | + | | using audio adjustments in the audio player || N/A || [[CS001130 - Adding doppler effects to the audio player|CS001130]], [[CS001131 - Adding source location effects to the audio player|CS001131]],<br> [[CS001132 - Adding listener's location effects to the audio player|CS001132]], [[CS001133 - Adding bass boost to the audio player|CS001133]],<br> [[CS001134 - Adding stereo widening to the audio player|CS001134]], [[CS001135 - Adding reverb to the audio player|CS001135]],<br> [[CS001136 - Adding equalizer to the audio player|CS001136]] || N/A || N/A |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Browsing and Download}}'''Browsing and Download''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Browsing and Download}}'''Browsing and Download''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | open html pages and links in browser || [[ | + | | open html pages and links in browser || [[CS001495 - Display local web page with Qt WebKit|CS001495]] || [[CS001385 - Opening an HTML document in the web browser|CS001385]], [[CS001386 - Opening an HTML link in the web browser|CS001386]] || [[CS000974 - Using eSWT Browser in Java ME|CS000974]] || [[CS001372 - Opening a web page into Web browser from a WRT widget|CS001372]],<br> [[CS001518 - Creating a launcher for a web application in WRT|CS001518]] |
|- | |- | ||
| − | | gather and add data from a Web page || [[ | + | | gather and add data from a Web page || [[CS001496 - Gather data from web page with JavaScript, WebKit, and Qt|CS001496]],<br> [[CS001497 - Add data to a web page with JavaScript, WebKit, and Qt|CS001497]] || - || - || - |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Games}}'''Games''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Games}}'''Games''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | detecting collisions || - || [[ | + | | detecting collisions || - || [[CS000865 - Collision detection|CS000865]]|| [[CS000959 - Collision detection in Java ME|CS000959]] || N/A |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Localisation}}'''Localisation''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Localisation}}'''Localisation''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | localising application strings || - || [[ | + | | localising application strings || - || [[CS000807 - Localizing application strings|CS000807]] || [[CS001094 - L10n: Application attributes|CS001094]], [[CS001095 - L10n: Text files|CS001095]],<br> [[CS001096 - L10n: Resource bundles|CS001096]] || [[CS001370 - Localising strings in WRT|CS001370]] |
|- | |- | ||
| − | | localising application help || - || [[ | + | | localising application help || - || [[CS000810 - Localizing application help|CS000810]] || - || - |
|- | |- | ||
| − | | localising application menus || - || [[ | + | | localising application menus || - || [[CS000811 - Localizing application menus|CS000811]] || - || - |
|- | |- | ||
| − | | localising number format || - || [[ | + | | localising number format || - || [[CS000855 - I18n: Real numbers|CS000855]] || - || - |
|- | |- | ||
| − | | localising currency || - || [[ | + | | localising currency || - || [[CS000856 - I18n: Currency|CS000856]] || - || - |
|- | |- | ||
| − | | localising timestamps || - || [[ | + | | localising timestamps || - || [[CS000857 - I18n: Timestamps|CS000857]] || [[CS001322 - Localising timestamp in Java ME|CS001322]] || - |
|- | |- | ||
| − | | using localised images || - || [[ | + | | using localised images || - || [[CS000858 - I18n: Images|CS000858]] || [[CS001317 - Using localised images in Java ME|CS001317]] || [[CS001369 - Localising images in WRT|CS001369]] |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Help}}'''Help''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Help}}'''Help''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | implementing CS Help || N/A || [[ | + | | implementing CS Help || N/A || [[CS000809 - Implementing context-sensitive help|CS000809]] || N/A || N/A |
|- | |- | ||
| − | | localising application help || - || [[ | + | | localising application help || - || [[CS000810 - Localizing application help|CS000810]] || - || - |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Location}}'''Location''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Location}}'''Location''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | searching for GPS devices || N/A || [[ | + | | searching for GPS devices || N/A || [[CS000822 - Searching for GPS devices|CS000822]] || [[How to get compass directions in Java ME|FNWiki]] || - |
|- | |- | ||
| − | | finding position || [[ | + | | finding position || [[Mobile Extensions|S60 MobileExt]] || [[CS001376 - Retrieving GPS location|CS001376]], [[CS001377 - Getting position data from TPositionInfoBase|CS001377]] || [[How to get compass directions in Java ME|FNWiki]] || [[CS001161 - Obtaining location information|CS001161]] |
|- | |- | ||
| − | | tracking changes in location || [[ | + | | tracking changes in location || [[Mobile Extensions|S60 MobileExt]] || - || [[How to get compass directions in Java ME|FNWiki]] || [[CS001176 - Tracking changes in the current location|CS001176]] |
|- | |- | ||
| − | | calculating the distance || - || [[ | + | | calculating the distance || - || [[CS001375 - Calculating the distance between coordinates|CS001375]] || - || [[CS001175 - Calculating the distance between two locations|CS001175]] |
|- | |- | ||
| − | | launching location settings || - || [[ | + | | launching location settings || - || [[CS001035 - Location Settings Launch API|CS001035]] || N/A || - |
|- | |- | ||
|'''''Landmarks:''''' | |'''''Landmarks:''''' | ||
|- | |- | ||
| − | | adding a landmark || [[ | + | | adding a landmark || [[Mobile Extensions|S60 MobileExt]] || - || - || - |
|- | |- | ||
| modifying a landmark || N/A || - || - || - | | modifying a landmark || N/A || - || - || - | ||
| Line 506: | Line 527: | ||
|- style="background:#addb9c" | |- style="background:#addb9c" | ||
|- | |- | ||
| − | | deploying and exporting files || [[ | + | | deploying and exporting files || [[CS001423 - Exporting files into the emulator environment in Qt|CS001423]],<br> [[CS001424 - Using the DEPLOYMENT keyword in a Qt package file|CS001424]] || - || - || - |
|- | |- | ||
| − | | setting up Qt Mobility || [[ | + | | setting up Qt Mobility || [[CS001615 - Setting up Qt Mobility|CS001615]] || - || - ||- |
|- | |- | ||
| Line 514: | Line 535: | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Testing/Debugging}}'''Testing/Debugging''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Testing/Debugging}}'''Testing/Debugging''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | displaying error texts || - || [[ | + | | displaying error texts || - || [[CS000965 - Using class CErrorUI to display error notes|CS000965]] || - || - |
|- | |- | ||
| − | | resolving error texts || - || [[ | + | | resolving error texts || - || [[CS000966 - Using class CTextResolver to resolve error texts|CS000966]] || - || - |
|- style="background:#efefef" | |- style="background:#efefef" | ||
! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Installation}}'''Installation''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ! style="padding-top:5px; padding-bottom:5px;"|{{Anchor|Installation}}'''Installation''' !! <small>Qt</small> !! <small>Symbian C++</small> !! <small>Java</small> !! <small>Web Runtime</small> | ||
|- | |- | ||
| − | | creating dependencies || - || [[ | + | | creating dependencies || - || [[CS001097 - Creating dependencies to other components|CS001097]] || N/A || N/A |
|- | |- | ||
| − | | showing manufacturer disclaimer || - || [[ | + | | showing manufacturer disclaimer || - || [[CS000934 - Showing a manufacturer disclaimer during application installation|CS000934]], [[CS000935 - Showing a manufacturer disclaimer during the first launch|CS000935]] || N/A || - |
|} | |} | ||
=== Give feedback === | === Give feedback === | ||
Currently only references to the Nokia Developer code snippets are listed. If you know that a use case is documented somewhere else, or if you notice an error, please let us know by adding comment below. You may also add a suggestion for a new, relevant use case. | Currently only references to the Nokia Developer code snippets are listed. If you know that a use case is documented somewhere else, or if you notice an error, please let us know by adding comment below. You may also add a suggestion for a new, relevant use case. | ||
Revision as of 10:55, 30 July 2012
Article Metadata
This table lists common mobile application use cases in some of the more important development frameworks supported by Nokia devices: Qt, Symbian C++, Java ME, and Web Runtime. For each use case, links to corresponding code snippets (CS) are provided. This way developers can more easily find snippets in different programming languages and runtimes.
If you notice that a relevant use case is missing from the list, or a snippet is mapped to a wrong use case, please let us know by adding a Comment at the end of this article. Currently only the code snippets published in the Nokia Developer Wiki are linked to. If you know that a use case is documented somewhere else, you may add your suggestion. We will then evaluate if the resource can be added to the list.
Legend
| CS123456 | Use case possible (link to a snippet provided). | - | Use case should be possible (no code snippets available). |
| S60 MobileExt | Use case possible with Mobile Extensions for Qt. | N/A | Use case not possible. |
Telephony | Messaging | Networking | Base/System | System information | Profiles | Hardware | Files/Data | PIM | Application Framework | UI | Personalisation | Graphics | Imaging/Camera | Audio/Video | Browsing and Download | Games | Localisation | Help | Location | Development process | Testing/Debugging | Installation
| Use case | Development Framework | |||
|---|---|---|---|---|
| Telephony | Qt | Symbian C++ | Java | Web Runtime |
| making a phone call programmatically | S60 MobileExt | CS001026 | CS000956 | N/A |
| making a phone call (user intervention required) | S60 MobileExt | - | CS000955 | N/A |
| hanging up a phone call | N/A | CS001383 | N/A | N/A |
| retrieving information on a phone call | S60 MobileExt | CS001063, CS001032 | N/A | N/A |
| retrieving log events (e.g., calls) | N/A | CS000849 | N/A | CS001231 |
| Messaging | Qt | Symbian C++ | Java | Web Runtime |
| sending an SMS message | CS001616 | - | CS000976, CS000977 | CS001242 |
| sending an MMS message | CS001616 | CS001379 | CS000978 | CS001239 |
| listening for incoming SMS messages | CS001617 | CS001381 | CS000981, CS000980 | CS001236 |
| listing messages in inbox | CS001618 | - | N/A | CS001246 |
| removing a message | N/A | CS001380 | N/A | CS001241 |
| changing the read status of a message | - | - | N/A | CS001365 |
| providing a "send via" functionality | N/A | - | N/A | - |
| playing a message | N/A | CS001119 | N/A | N/A |
| Networking | Qt | Symbian C++ | Java | Web Runtime |
| opening a network connection | CS001619 | - | - | - |
| filtering internet access points | - | CS000837 | N/A | N/A |
| using an already active connection | CS001619 | CS000825 | N/A | N/A |
| Bluetooth | Qt | Symbian C++ | Java | Web Runtime |
| using a device selection UI | N/A | CS000910 | N/A | N/A |
| discovering devices | N/A | CS000936 | CS001211 | N/A |
| discovering services | N/A | CS000937 | CS001213 | N/A |
| service advertising & listening to connections | N/A | CS000938 | CS001212 | N/A |
| defining the transfer protocol (RFCOMM/L2CAP) | N/A | - | - | N/A |
| opening multiple connections | N/A | - | - | N/A |
| opening a socket | N/A | CS000939 | - | N/A |
| closing a socket | N/A | - | - | N/A |
| sending data | N/A | - | - | N/A |
| setting discoverability mode | N/A | CS000838 | CS001310 | N/A |
| prompting to switch on Bluetooth | N/A | - | N/A | N/A |
| deleting bluetooth device from the registry | N/A | CS001064 | N/A | N/A |
| retrieving bluetooth device's local name | N/A | CS001064 | CS001323 | N/A |
| communicating with remote targets | N/A | CS001034 | - | N/A |
| Base/System | Qt | Symbian C++ | Java | Web Runtime |
| using software installer programmatically | S60 MobileExt | CS000817 | N/A | N/A |
| exception handling | - | CS000882 | - | N/A |
| reading and writing persistent settings | S60 MobileExt | CS000908, CS000909 | N/A | CS001374 |
| scheduling delayed execution | N/A | CS000986, CS000987, CS000988, CS000989, CS000990, CS000991, CS000992 |
- | - |
| creating parallel execution paths (threads / active objects) |
- | CS000867 | CS001321 | N/A |
| synchronizing resource access (Symbian:mutex, semaphore; Java:synchronize) |
- | CS000969 | CS001320 | N/A |
| splitting execution to asynchronous blocks | - | CS000982,CS000983, CS001010 |
- | N/A |
| cancelling an asynchronous function call | - | - | - | CS001177 |
| custom cleanup | N/A | CS000985 | - | N/A |
| using plugins | CS001391 | CS000834, CS0000835, CS000836 |
- | N/A |
| generating random-value integers | CS001350 | - | - | - |
| using arguments | - | - | - | - |
| using string conversions | S60 MobileExt | - | - | - |
| sorting data types, classes, structs | - | - | - | - |
| System information | Qt | Symbian C++ | Java | Web Runtime |
| checking battery level | S60 MobileExt | CS000902 | CS001201 | CS001247 |
| checking network strength | S60 MobileExt | - | CS001202 | CS001234 |
| identifying platform version | S60 MobileExt | CS000933 | - | - |
| getting cell id | N/A | - | CS000947 | - |
| retrieving product information | S60 MobileExt | - | - | - |
| checking APIs | N/A | - | CS000960 | - |
| feature discovery | S60 MobileExt | - | - | - |
| checking runtime version | - | - | CS001357 | - |
| checking machine id at run-time | N/A | - | N/A | - |
| checking machine id at installation-time | N/A | - | N/A | N/A |
| checking product (=platform) id at run-time | N/A | - | - | - |
| checking product (=platform) id at installation-time | N/A | - | N/A | N/A |
| retrieving memory information | S60 MobileExt | - | - | CS001232 |
| checking memory card existence | N/A | CS000827 | CS001200 | CS001232 |
| Profiles | Qt | Symbian C++ | Java | Web Runtime |
| checking current profile | S60 MobileExt | CS001024 | N/A | - |
| changing profile | S60 MobileExt | - | N/A | - |
| editing profile settings | S60 MobileExt | CS001294 | N/A | - |
| Hardware | Qt | Symbian C++ | Java | Web Runtime |
| controlling lights | S60 MobileExt | CS000912 | CS001270, CS000957 | CS001248 |
| controlling vibra | S60 MobileExt | CS000911, CS001164 | CS001258 | CS001368 |
| Sensors | Qt | Symbian C++ | Java | Web Runtime |
| obtaining the number of sensors | N/A | CS000886 | FNWiki | - |
| displaying information about available sensors | N/A | CS000887 | FNWiki | - |
| displaying sensor data | S60 MobileExt | CS000914 | FNWiki | - |
| listening for rotation sensor data events | S60 MobileExt | CS000913 | - | - |
| listening for accelerometer sensor data events | S60 MobileExt | CS000888 | FNWiki | - |
| reducing accelerometer sensor noise | S60 MobileExt | CS000915 | - | - |
| Files/Data | Qt | Symbian C++ | Java | Web Runtime |
| storing application settings | - | CS000967 | CS001265 | - |
| using databases | CS001504, CS001505, CS001506, CS001507, CS001508, CS001509, CS001510 |
CS000925, CS000926, CS000927, CS000928, CS000929, CS000930 |
- | - |
| parsing contacts details from informal text | - | CS000931 | - | - |
| managing archives | - | CS000948, CS000949, CS000950 |
- | - |
| managing media files | - | CS001036 | - | - |
| opening files, handling mime types | N/A | CS001050, CS001052, CS001053, CS001054 |
- | CS001371 |
| listing PIM databases | N/A | - | CS000972 | - |
| using resources | CS001503 | - | CS000979, CS001006 | - |
| creating temporary files | - | - | - | - |
| reading and writing files | - | - | FNWiki, FNWiki |
- |
| checking file status | - | - | - | - |
| encrypting and decrypting | N/A | - | CS001314 | - |
| shuffling data | N/A | - | - | - |
| PIM | Qt | Symbian C++ | Java | Web Runtime |
| Calendar: | ||||
| adding a new event | N/A | - | CS001198 | CS001233 |
| modifying an existing event | N/A | - | CS001188 | CS000942 |
| deleting an event | N/A | - | CS001358 | CS001233 |
| showing calendars and events | N/A | - | CS001189, CS001361 |
CS001244, CS001278 |
| importing an event | N/A | CS001027 | CS001197 | CS001237 |
| exporting an event | N/A | CS001028 | CS001186 | CS001237 |
| adding calendars | N/A | - | - | CS0012230 |
| deleting calendars | N/A | - | - | CS0012230 |
| changing calendar settings | N/A | CS001038 | - | - |
| Date/time/clock: | ||||
| converting time zones | N/A | CS000847 | CS001199 | - |
| displaying time and date | - | CS001007, CS001008 | CS001311 | CS001229 |
| changing clock settings | N/A | CS001037 | N/A | - |
| monitoring alarms | N/A | CS001120 | N/A | - |
| Phonebook / Contacts: | ||||
| finding/viewing contacts | CS001620, CS001621 |
- | CS001184,CS001360 | CS001235 |
| adding a contact | CS001624 | - | CS001183 | CS001238 |
| adding a contact to a group | - | - | - | CS001362 |
| managing phonebook groups | - | - | - | CS001373 |
| reading and modifying a contact | CS001622 | - | CS001185 | CS001240 |
| deleting a contact | CS001623 | - | CS001359 | CS001243 |
| organising contacts | N/A | - | - | - |
| importing a vCard | N/A | CS000900 | CS001187 | - |
| exporting a vCard | N/A | CS000901 | CS001210 | - |
| assigning images to contacts | S60 MobileExt | CS001138 | N/A | N/A |
| Application Framework | Qt | Symbian C++ | Java | Web Runtime |
| listing installed applications | - | - | N/A | CS001160 |
| launching an installed application | CS001354 | CS000828 | N/A | CS001162, CS001518 |
| triggering application launch | N/A | - | CS001387 | N/A |
| pausing application on incoming call or message | - | CS000863, CS000883 | CS000975 | - |
| sending application to background | CS001519 | - | - | - |
| detecting focus change | - | - | - | - |
| exiting application | CS001626 | - | - | - |
| loading libraries | - | CS001009 | N/A | N/A |
| getting UI environment pointer | N/A | CS001057 | N/A | N/A |
| UI | Qt | Symbian C++ | Java | Web Runtime |
| adding Symbian S60 Options menu and panes | CS001351, CS001511, CS001512, CS001513 |
- | - | CS001402 |
| combining UI with engine | CS001613, CS001625, CS001543, CS001544, CS001545 |
- | - | - |
| drawing standard borders | - | CS000862 | - | - |
| switching views | N/A | CS001378, CS000848 | CS000973 | |
| calculating text width | CS001349 | - | - | - |
| setting label fonts | - | CS000833 | CS001316 | - |
| drawing custom borders | - | CS000824 | - | - |
| adding scrollbars | - | CS000823 | - | CS001554 |
| listening for scrollbar events | - | CS000884 | - | - |
| implementing a horizontally scrolling view | CS001630 | - | - | - |
| receiving key events | CS001352 | N/A | CS001315 | CS000943 |
| listening for window server events | CS001353 | - | - | - |
| reacting to changes in screen size | - | - | - | CS001499 |
| detecting and changing display orientation | - | - | - | CS001498, CS001366 |
| locking display orientation | CS001517 | - | - | - |
| using indicators | - | CS000818, CS001121 | N/A | CS001549, CS001550 |
| using progress bars | - | - | - | CS001555 |
| using custom controls and elements | CS001627, CS001612 |
CS000859, CS000860, CS000861, CS000868 |
CS001267 | - |
| creating transparent controls | CS001614 | - | - | - |
| using custom dialogs | - | CS000870, CS001165 | CS000946 | - |
| using custom scrollbars | - | CS000869, CS000885 | - | - |
| using interpolation | - | CS001166 | - | - |
| using listboxes | - | - | CS001266 | CS000941 |
| using grids | - | - | - | CS000940 |
| using notes | - | CS000945 | CS001312 | - |
| using dialogs | - | CS001056, CS001062 | CS001312 | - |
| using queries | - | CS001055, CS001059, CS001060, CS001061 |
- | - |
| managing layouts | CS001308, CS001309 |
- | - | - |
| using buttons | - | - | - | CS001547 |
| using radio buttons | - | CS001118 | - | CS001552 |
| using checkboxes | - | - | - | CS001548, CS001551 |
| using carousels | - | - | - | CS001546 |
| using datepicker component | - | - | - | CS001553 |
| catching menu events | - | CS001117 | - | CS001364 |
| handling touch UI events | - | CS001144, CS001145, CS001146, CS001147, CS001148, CS001163, CS001164 |
- | - |
| showing text input | - | - | - | - |
| enabling and disabling keypad lock | N/A | CS000932 | N/A | N/A |
| Personalisation | Qt | Symbian C++ | Java | Web Runtime |
| using skins | N/A | CS001025 | N/A | N/A |
| using style sheets | CS001502 | - | - | - |
| accessing screensaver settings | N/A | CS001039 | N/A | N/A |
| setting ringtones | N/A | CS001294 | N/A | - |
| Graphics | Qt | Symbian C++ | Java | Web Runtime |
| adding an application icon | CS001351 | CS000808 | CS000958 | - |
| loading images | CS001500 | - | - | CS001245 |
| rotating bitmaps and images | CS001514 | CS000866, CS001139 | CS001263 | - |
| scaling bitmaps | CS001347, CS001346 |
CS000984 | CS001269 | - |
| converting bitmap to JPEG | - | CS000906 | - | - |
| avoid flickering with double-buffering | - | CS001049 | CS001268 | CS001363 |
| creating effects | CS001515 | - | CS001319 | - |
| drawing | CS001516 | - | CS001313, CS001272 | - |
| using animation | CS001556, CS001557, CS001558, CS001559, CS001560, CS001561, CS001628, CS001629 |
- | CS001271 | - |
| changing background colour | CS001348, CS001501 |
- | N/A | - |
| Imaging/Camera | Qt | Symbian C++ | Java | Web Runtime |
| Camera: | ||||
| taking a picture | S60 MobileExt | CS000904 | CS001259 | N/A |
| saving a captured image | - | CS000905 | CS001261 | N/A |
| displaying viewfinder data | S60 MobileExt | CS000907 | - | N/A |
| handling (releasing) camera resource | - | CS000821 | CS001262 | N/A |
| checking if the camera is running | - | CS000815 | - | N/A |
| determining the number of cameras | - | CS000826 | CS001273 | N/A |
| using autofocus | S60 MobileExt | CS000954 | N/A | N/A |
| reading image information | - | CS000968 | - | - |
| Audio/Video | Qt | Symbian C++ | Java | Web Runtime |
| finding audio and video formats | N/A | CS000899 | CS001260 | N/A |
| playing multichannel audio | N/A | CS000916 | - | - |
| managing key sounds | N/A | CS000951, CS000952, CS000953 |
N/A | - |
| configuring speech encoders (e.g., AMR) | N/A | CS001030 | N/A | N/A |
| converting text-to-speech | N/A | CS001031 | N/A | N/A |
| accessing video encoders | N/A | CS001065 | N/A | N/A |
| using audio adjustments in the audio player | N/A | CS001130, CS001131, CS001132, CS001133, CS001134, CS001135, CS001136 |
N/A | N/A |
| Browsing and Download | Qt | Symbian C++ | Java | Web Runtime |
| open html pages and links in browser | CS001495 | CS001385, CS001386 | CS000974 | CS001372, CS001518 |
| gather and add data from a Web page | CS001496, CS001497 |
- | - | - |
| Games | Qt | Symbian C++ | Java | Web Runtime |
| detecting collisions | - | CS000865 | CS000959 | N/A |
| Localisation | Qt | Symbian C++ | Java | Web Runtime |
| localising application strings | - | CS000807 | CS001094, CS001095, CS001096 |
CS001370 |
| localising application help | - | CS000810 | - | - |
| localising application menus | - | CS000811 | - | - |
| localising number format | - | CS000855 | - | - |
| localising currency | - | CS000856 | - | - |
| localising timestamps | - | CS000857 | CS001322 | - |
| using localised images | - | CS000858 | CS001317 | CS001369 |
| Help | Qt | Symbian C++ | Java | Web Runtime |
| implementing CS Help | N/A | CS000809 | N/A | N/A |
| localising application help | - | CS000810 | - | - |
| Location | Qt | Symbian C++ | Java | Web Runtime |
| searching for GPS devices | N/A | CS000822 | FNWiki | - |
| finding position | S60 MobileExt | CS001376, CS001377 | FNWiki | CS001161 |
| tracking changes in location | S60 MobileExt | - | FNWiki | CS001176 |
| calculating the distance | - | CS001375 | - | CS001175 |
| launching location settings | - | CS001035 | N/A | - |
| Landmarks: | ||||
| adding a landmark | S60 MobileExt | - | - | - |
| modifying a landmark | N/A | - | - | - |
| exporting landmarks | N/A | - | - | - |
| importing landmarks | N/A | - | - | - |
| Development process | Qt | Symbian C++ | Java | Web Runtime |
| using command line arguments | - | - | N/A | - |
| deploying and exporting files | CS001423, CS001424 |
- | - | - |
| setting up Qt Mobility | CS001615 | - | - | - |
| Testing/Debugging | Qt | Symbian C++ | Java | Web Runtime |
| displaying error texts | - | CS000965 | - | - |
| resolving error texts | - | CS000966 | - | - |
| Installation | Qt | Symbian C++ | Java | Web Runtime |
| creating dependencies | - | CS001097 | N/A | N/A |
| showing manufacturer disclaimer | - | CS000934, CS000935 | N/A | - |
Give feedback
Currently only references to the Nokia Developer code snippets are listed. If you know that a use case is documented somewhere else, or if you notice an error, please let us know by adding comment below. You may also add a suggestion for a new, relevant use case.

