×
Namespaces

Variants
Actions

How to synchronize a network update on N9 in QML

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

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
Compatibility
Platform(s): Meego Harmattan
Platform Security
Capabilities: Qt Mobility 1.2
Article
Keywords: Qt Mobility API,AlignedTimer
Created: Slocan (30 Nov 2011)
Last edited: hamishwillee (13 Jun 2012)

Introduction

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).

Summary

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 com.nokia.meego 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)
alignedTimer.start()
}
[...]

Related Links

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

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×