Daily Archives: 24.11.2015

Here’s a Reminder Why You Shouldn’t Bother Doing Dumb Facebook Quizes

By Jamie Condliffe

When everyone around you is Facebook quizzing, sometime’s it can be hard to resist the lure joining in yourself. But next time, breathe deeply and move on—remembering the privacy implications we’re about to remind you of.

…read more

Source:: http://feeds.gawker.com/~r/gizmodo/full/~3/xZEn8MVTPgI/heres-a-reminder-why-you-shouldnt-bother-doing-dumb-fac-1744364044

      

How to vibrate with Qt/QML on Android?

Short answer – pretty simple. Thanks to QtAndroidExtras

First we need to add to your .pro file:

android: QT += androidextras

 

then add simple class to your codebase. Header:

#ifndef VIBRATOR_H
#define VIBRATOR_H

#include <QObject>

#if defined(Q_OS_ANDROID)
#include <QAndroidJniEnvironment>
#include <QAndroidJniObject>
#endif
class Vibrator : public QObject
{
    Q_OBJECT
public:
    explicit Vibrator(QObject *parent = 0);
signals:
public slots:
    void vibrate(int milliseconds);
private:
#if defined(Q_OS_ANDROID)
    QAndroidJniObject vibratorService;
#endif
};

#endif // VIBRATOR_H

 

and the code:

#include "vibrator.h"
#include <QDebug>

Vibrator::Vibrator(QObject *parent) : QObject(parent)
{
#if defined(Q_OS_ANDROID)
    QAndroidJniObject vibroString = QAndroidJniObject::fromString("vibrator");
    QAndroidJniObject activity = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative", "activity", "()Landroid/app/Activity;");
    QAndroidJniObject appctx = activity.callObjectMethod("getApplicationContext","()Landroid/content/Context;");
    vibratorService = appctx.callObjectMethod("getSystemService", "(Ljava/lang/String;)Ljava/lang/Object;", vibroString.object<jstring>());
#endif
}

#if defined(Q_OS_ANDROID)

void Vibrator::vibrate(int milliseconds) {
    if (vibratorService.isValid()) {
        jlong ms = milliseconds;
        jboolean hasvibro = vibratorService.callMethod<jboolean>("hasVibrator", "()Z");
        vibratorService.callMethod<void>("vibrate", "(J)V", ms);
    } else {
        qDebug() << "No vibrator service available";
    }
}

#else
void Vibrator::vibrate(int milliseconds) {
    Q_UNUSED(milliseconds);
}

#endif

 

now you have to expose the class to QML:

#include "vibrator.h"
...
Vibrator vibrator;
engine.rootContext()->setContextProperty("Vibrator", &vibrator);

 

voila! its ready to use!

Vibrator.vibrate(500)

 

Enjoy

New tech can boost smartphone resolution to 4K without hindering battery life – CNET

By Adam Bolton Software technology being developed in Japan is able to improve smartphone screen resolution to 4K while not drastically effecting battery life.

…read more

Source:: http://cnet.com.feedsportal.com/c/34938/f/645093/s/4bbd8138/sc/15/l/0L0Scnet0N0Cnews0Csmartphones0Eare0Eabout0Eto0Elooks0Esmarter0Ethanks0Eto0E4k0Etech0C0Tftag0FCAD590Aa51e/story01.htm