WisClub Blog

WisClub Blog

Droidscript

Werk ledenPosted by Jan Verhoeven Wed, August 03, 2016 11:09:18
Schitterend die smartphones. Alleen, je moet bijna een raketgeleerde zijn om er zelf wat voor te kunnen maken. Althans, dat MOEST. Sinds een tijdje is er een hele leuke toolset: DroidScript. Je maakt in javaScript zelf heel snel hele mooie apps, typend op je desktop die je meteen kan draaien als app op je smartphone.

Droidscript is gratis. Alleen als je echte apps wilt bouwen moet je software bijkopen maar tegen laag tarief. De APK builder kost 15 euro.

Droidscript komt met een hele serie voorbeelden. Je maakt wat in de editor, klikt op de "afspelen" knop en de app werkt meteen op de android telefoon.
Als je een nieuw project start maakt ie eerst een framework aan waarop je dan verder borduurt.
Eerst haal je Droidscript op in de PlayStore. Daarna start je het en je klikt op de "Connect knop". Er komt een popup met een URL en password erin. Die klop je in op Firefox en je hebt een remote terminal zoals hierboven.

We kiezen voor New App. DS maakt nu een simpel framework aan met daarin de eerste regels aan gobbledygook:


Je apps lopen standalone als je de APK builder erbij koopt. En anders hebben ze de Droidscript run-time nodig. Maar die is gratis dus je hebt de APK builder alleen nodig wanneer je apps maakt voor complete mongolen (zoals de bulk van mijn collega's).

Hier is de source van PlusMin.js. Je voert drie tijden in (start, stop en allowance (alle postnl bezorgers krijgen een target tijd op voor een wijk)) en de app rekent uit wat je bij moet plussen of af moet minnen.

----

function OnStart()
{
var lay = app.CreateLayout( "linear", "VCenter,FillXY" );

edt1 = app.CreateTextEdit( "",-1,-1,"Right" );
edt1.SetHint( "Starttijd" );
lay.AddChild( edt1 );

edt2 = app.CreateTextEdit( "",-1,-1,"Right" );
edt2.SetHint( "Stoptijd" );
lay.AddChild( edt2 );

edt3 = app.CreateTextEdit( "",-1,-1,"Right" );
edt3.SetHint( "Scenario" );
lay.AddChild( edt3 );

var btn = app.CreateButton( "Berekenen" );
btn.SetOnTouch( btn_OnTouch );
lay.AddChild( btn );

app.AddLayout( lay );
}

function makeMins (str)
{
var mins;
var arr = str.split (':');
mins = parseInt (arr [1]) + 60 * parseInt (arr [0]);
return mins;
}

function btn_OnTouch ()
{
var Tstart, Tstop, Tscen, Tdiff, tijd, mins, hrs;
Tstart = makeMins (edt1.GetText());
Tstop = makeMins (edt2.GetText());
Tscen = makeMins (edt3.GetText());

Tdiff = Tstop - Tstart - Tscen;
if (Tdiff > 0)
{
tijd = 'Bijplussen ';
} else {
tijd = 'Afminnen ';
Tdiff = -Tdiff;
}
hrs = Math.floor (Tdiff / 60);
mins = Tdiff % 60;

tijd += hrs + ':';
if (mins < 10) tijd += '0';
tijd += mins;

app.ShowPopup( tijd );
}

------------

De app is ook gemaakt in HTML en Javascript maar dat was beduidend complexer.



  • Comments(3)//blog.wisclub.nl/#post196