IoT-Gadgets-Logo-272-90

How to Synchronize a Network Update on N9 in QML

By
Ash
 - 
Dec 8, 2011

Nokia-Developer-Stock-Website

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

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()
    }
[...]

 

 

Source Nokia Developer

IoT-Gadgets-Logo-272-90

About us

IoT Gadgets is dedicated to bring you all the Internet of Things IoT news that pertains to gadgets. Simple. We love for you to join us on this journey.

Contact us: [email protected]

FOLLOW US

crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram