Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.

How to synchronize a network update on N9 in QML

From Wiki
Jump to: navigation, search
Featured Article
04 Dec

This article explains how to trigger a job, usually a network update, that is synchronized with other network activity.

Article Metadata
Tested with
Devices(s): N950,N9
Platform(s): Meego Harmattan
Platform Security
Capabilities: Qt Mobility 1.2
Keywords: Qt Mobility API,AlignedTimer
Created: Slocan (30 Nov 2011)
Last edited: hamishwillee (13 Jun 2012)


This short article gives an example of the AlignedTimer QML object from the Qt Mobility 1.2 API. This component allows the creation of a timer that will be triggered at the same time as other applications' timers. This is useful to synchronize updates, for example to group network updates together (reduce power consumption on mobile devices).


The following code shows an example of AlignedTimer. This timer will be triggered between 15 and 30 minutes later, based on other applications' use of AlignedTimers. The system will try to synchronize them as much as possible, to reduce the number of wake-ups, or number of times the network needs to be brought up.

import QtQuick 1.0
import 1.0
import QtMobility.systeminfo 1.2
PageStackWindow {
id: window
// Create the AlignedTimer
AlignedTimer {
id: alignedTimer
// Set the timer to trigger between 15 and 30 minutes
// Other applications using an AlignedTimer would be triggered
// during this same interval (for example mail sync) if possible
maximumInterval: 30*60 // in seconds
minimumInterval: 15*60 // in seconds
singleShot: true // Run it only once. Comment this line for a recurring timer
onTimeout: {
// Place update code, such as network sync here
Component.onCompleted: {
// Start the time once the PageStackWindow is created (application loaded)

Related Links

This page was last modified on 13 June 2012, at 10:54.
197 page views in the last 30 days.