By Iyaz Akhtar Netflix’s December offerings look strong with the star-studded “A Very Murray Christmas” and a new show by Bill Burr.
Author Archives: admin
CNET's 2015 tech turkeys (pictures) – CNET
By Roger Cheng These were some of the biggest embarrassments and snafus in the tech world in the year gone by. How many had a personal impact on you?
CNET's 2015 tech turkeys (pictures) – CNET
By Roger Cheng These were some of the biggest embarrassments and snafus in the tech world in the year gone by. How many had a personal impact on you?
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.
Ahmed the Clock Kid wants $15 million from city and school – CNET
By Chris Matyszczyk Technically Incorrect: Ahmed Mohamed, the 14-year-old who was arrested for bringing a homemade clock to school and then became a hero at Google and Facebook, is now demanding compensation and an apology.
Microsoft's female workforce shrank 2 percent last year – CNET
By Steven Musil The company’s workforce diversity efforts suffer a setback due to job cuts at overseas factories — jobs held by a high percentage of women.
Robot snake can shift its shape quickly, also haunts our dreams (Tomorrow Daily 276 show notes) – CNET
By Ashley Esqueda All we can say is, “Robot snakes. Why did it have to be robot snakes?”
No invite needed for OnePlus 2 on Black Friday – CNET
By Lynn La For four days beginning November 27, you won’t need an invite to purchase the OnePlus 2 handset.
No invite needed for OnePlus 2 on Black Friday – CNET
By Lynn La For four days beginning November 27, you won’t need an invite to purchase the OnePlus 2 handset.




