Mittwoch, 11. Januar 2012

Ein dickes Tier auf dem Handy - Rhino auf SL4A

Das Rhinozeros ist weder ein schlankes, noch ein besonders elegantes Tier.
Zumindest in der Frage der Eleganz verhält es sich mit Rhino SL4A, der JavaScript-Implementierung für SL4A auf Android, ähnlich. Für einen besseren Umgang mit diesem Tier deshalb ein paar kleine Beispiele, mehr dazu in der aktuellen Ausgabe der Android360.

Hallo?

load("/sdcard/com.googlecode.rhinoforandroid/extras/rhino/android.js");
var droid = new Android();

//first signs of life
droid.makeToast("Hello Android!");
droid.vibrate(100);

//give some input and listen
var name = droid.dialogGetInput("Helle", "Your name?", "?");
droid.notify("Name", name);
droid.ttsSpeak(name);

Obacht, seltsame Typen!

load("/sdcard/com.googlecode.rhinoforandroid/extras/rhino/android.js");
var droid = new Android();

//JavaScript is a loosely typed language,
//SL4A is more strict
//so be careful with the type of used variables
//SL4A only likes strings for its toast

var wert = 1
//this won't work:
//droid.makeToast(wert);

//so fix it:
droid.makeToast(wert.toString());


//how about the voltage of your battery
droid.batteryStartMonitoring();
var v=droid.batteryGetVoltage();

//and again be careful with your data
droid.notify("Voltage", v.toString());

droid.batteryStopMonitoring();

Sogar telefonieren kann ein Smartphone

load("/sdcard/com.googlecode.rhinoforandroid/extras/rhino/android.js");
var droid = new Android();


//get some information about your phone
var a=droid.getPhoneType();
droid.makeToast(a);

//and make a call to your own mailbox
var b=droid.getVoiceMailNumber();
droid.phoneCallNumber(b);

Wo bin ich?

load("/sdcard/com.googlecode.rhinoforandroid/extras/rhino/android.js");
var droid = new Android();

//find your position via gps or network

//droid.startLocating(60000, 30);
var myLoc = droid.startLocating(60000, 30);
var m = droid.getLastKnownLocation();

//you can get information about
//time, longitude, latitude
//provider, speed, accuracy, altitude

if(m.gps){
    //if GPS is available
    droid.makeToast("GPS");

    ti = m.gps.time;
    lo = m.gps.longitude;
    la = m.gps.latitude;
}else if(m.network){
    //otherwise use the network
    droid.makeToast("Network")

    ti = m.network.time;
    lo = m.network.longitude;
    la = m.network.latitude;
}

//now let us make some toast
droid.makeToast(ti + "\n" +lo + "\n" + la);

Keine Kommentare:

Kommentar veröffentlichen