User Tools

Site Tools


sample_code:get_device_specs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
sample_code:get_device_specs [2015/04/05 23:02]
stevegarman [Sample code]
sample_code:get_device_specs [2017/11/26 03:46]
127.0.0.1 external edit
Line 8: Line 8:
  
 <code JavaScript getDeviceSpecs.js> <code JavaScript getDeviceSpecs.js>
 +var allBuilds = JSON.parse('{' +
 +  '"1":{"level":1,"codename":"(no code name)","version":"1.0"}, ' +
 +  '"2":{"level":2,"codename":"(no code name)","version":"1.1"} , ' +
 +  '"3":{"level":3,"codename":"Cupcake","version":"1.5"}, ' +
 +  '"4":{"level":4,"codename":"Donut","version":"1.6"}, ' +
 +  '"5":{"level":5,"codename":"Eclair","version":"2.0"},  ' +
 +  '"6":{"level":6,"codename":"Eclair","version":"2.0.1"}, ' +
 +  '"7":{"level":7,"codename":"Eclair","version":"2.1"}, ' +
 +  ' "8":{"level":8,"codename":"Froyo","version":"2.2.x"}, ' +
 +  ' "9":{"level":9,"codename":"Gingerbread","version":"2.3 - 2.3.2"}, ' +
 +  ' "10":{"level":10,"codename":"Gingerbread","version":"2.3.3 - 2.3.7"}, ' +
 +  ' "11":{"level":11,"codename":"Honeycomb","version":"3.0"}, ' +
 +  ' "12":{"level":12,"codename":"Honeycomb","version":"3.1"}, ' +
 +  ' "13":{"level":13,"codename":"Honeycomb","version":"3.2.x"}, ' +
 +  ' "14":{"level":14,"codename":"Ice Cream Sandwich","version":"4.0.1 - 4.0.2"}, ' +
 +  ' "15":{"level":15,"codename":"Ice Cream Sandwich","version":"4.0.3 - 4.0.4"}, ' +
 +  ' "16":{"level":16,"codename":"Jelly Bean","version":"4.1.x"}, ' +
 +  ' "17":{"level":17,"codename":"Jelly Bean","version":"4.2.x"}, ' +
 +  ' "18":{"level":18,"codename":"Jelly Bean","version":"4.3.x"}, ' +
 +  ' "19":{"level":19,"codename":"KitKat","version":"4.4 - 4.4.4"}, ' +
 +  ' "20":{"level":20,"codename":"K or L","version":"4 or 5"}, ' +
 +  ' "21":{"level":21,"codename":"Lollipop","version":"5.0"}, ' +
 +  ' "22":{"level":22,"codename":"Lollipop","version":"5.1"}, ' +
 +  ' "23":{"level":23,"codename":"MarshMallow","version":"6.0"}, ' +
 +  ' "24":{"level":24,"codename":"Nougat","version":"7.0"}, ' +
 +  ' "25":{"level":25,"codename":"Nougat","version":"7.1"}, ' +
 +  ' "26":{"level":26,"codename":"Oreo","version":"8.0.0"} ' +
 +  ' }');
  
-var allBuilds = JSON.parse('{"1":{"level":1,"codename":"(no code name)","version":"1.0"}, ' + '"2":{"level":2,"codename":"(no code name)","version":"1.1"} , ' + '"3":{"level":3,"codename":"Cupcake","version":"1.5"}, ' + '"4":{"level":4,"codename":"Donut","version":"1.6"}, ' + '"5":{"level":5,"codename":"Eclair","version":"2.0"},  ' + '"6":{"level":6,"codename":"Eclair","version":"2.0.1"}, ' +  '"7":{"level":7,"codename":"Eclair","version":"2.1"}, ' +  ' "8":{"level":8,"codename":"Froyo","version":"2.2.x"}, ' +  ' "9":{"level":9,"codename":"Gingerbread","version":"2.3 - 2.3.2"}, ' +  ' "10":{"level":10,"codename":"Gingerbread","version":"2.3.3 - 2.3.7"}, ' +  ' "11":{"level":11,"codename":"Honeycomb","version":"3.0"}, ' +  ' "12":{"level":12,"codename":"Honeycomb","version":"3.1"}, ' +  ' "13":{"level":13,"codename":"Honeycomb","version":"3.2.x"}, ' +  ' "14":{"level":14,"codename":"Ice Cream Sandwich","version":"4.0.1 - 4.0.2"}, ' +  ' "15":{"level":15,"codename":"Ice Cream Sandwich","version":"4.0.3 - 4.0.4"}, ' +  ' "16":{"level":16,"codename":"Jelly Bean","version":"4.1.x"}, ' +  ' "17":{"level":17,"codename":"Jelly Bean","version":"4.2.x"}, ' +  ' "18":{"level":18,"codename":"Jelly Bean","version":"4.3.x"}, ' +  ' "19":{"level":19,"codename":"KitKat","version":"4.4 - 4.4.4"}, ' +  ' "20":{"level":20,"codename":"K or L","version":"4 or 5"}, ' +  ' "21":{"level":21,"codename":"Lollipop","version":"5.0"}, ' +  ' "22":{"level":22,"codename":"Lollipop","version":"5.1"} ' +  ' }'+var osObj = allBuilds[app.GetOSVersion()]
- +
-var osObj = allBuilds[app.GetOSVersion()]+
 try try
 { {
-    var osInfo = "Android "+ osObj.version +" (" + +  var osInfo = "Android " + osObj.version + " (" + 
-     osObj.codename + " API level " +  +    osObj.codename + " API level " + 
-     osObj.level+    osObj.level
 } }
 catch(err) catch(err)
 { {
-    var osInfo = app.GetOSVersion();+  var osInfo = app.GetOSVersion();
 } }
- +var txt; 
-//Called when application is started+//Called when application is started
-function OnStart()+function OnStart()
 { {
 +  //Lock orientation
 +  app.SetOrientation( app.GetOrientation() );
 +  //Create a layout with objects vertically centered.
 +  var lay = app.CreateLayout("linear", "VCenter,FillXY");
 +  lay.SetBackColor("#ffddffff");
  
-    //Create a layout with objects vertically centered+  // create viewr for specs 
-    lay = app.CreateLayout"linear", "VCenter,FillXY" );    +  scroll = app.CreateScroller(1, 0.9); 
 +  var specs = getDeviceSpecs(); 
 +  txt = app.CreateText(specs, 1, 0.9, "left,multiLine"); 
 +  txt.SetPadding(0.1); 
 +  txt.SetTextColor("#ff446666"); 
 +  scroll.AddChild(txt); 
 +  lay.AddChild(scroll);
  
-    //Create a button and add it to layout+  //Create a button and add it to layout
-    btn = app.CreateButton( "Test" ); +  var btn = app.CreateButton("[fa-copy]", -1, -1, "fontAwesome,custom"); 
-    btn.SetOnTouch(btn_OnTouch); +  btn.SetTextColor("#ffddffff"); 
-    lay.AddChild( btn ); +  btn.SetStyle("#4285F4", "#2265d4", 2, "#999999", 0, 1, "#ff9000"); 
-     + 
-    //Add layout to app    +  btn.SetOnTouch(btn_OnTouch); 
-    app.AddLayout( lay );+  lay.AddChild(btn); 
 + 
 +  //Add layout to app    
 +  app.AddLayout(lay);
 } }
  
-function btn_OnTouch()+function btn_OnTouch()
 { {
-   var tst = getDeviceSpecs(); +  app.SetClipboardText(txt.GetText); 
-   app.Alert(tst); +  // flash 
-   app.SetClipboardText(tst);+  txt.SetBackColor"#44000000" ); 
 +  setTimeout( function(){ 
 +    txt.SetBackColor"#00000000" );} 
 +    ,100);
 } }
  
-function getDeviceSpecs()+function getDeviceSpecs()
 { {
-  var os =app.GetOSVersion(); +  var os = app.GetOSVersion(); 
-  var model = app.GetModel(); +  var model = app.GetModel(); 
-  var tablet = app.IsTablet(); +  var tablet = app.IsTablet(); 
-  var fromapk = ( app.GetAppPath() == "/Assets" )  +  var fromapk = (app.GetAppPath() == "/Assets"
-  var dsversion (fromapk?"version unknown":app.GetVersion()); +  var dsversion = app.GetDSVersion() 
-//Get screen dimensions.  +  //Get screen dimensions.  
-  var sw = app.GetScreenWidth();  +  var sw = app.GetScreenWidth(); 
-  var sh = app.GetScreenHeight();  +  var sh = app.GetScreenHeight(); 
-  var dens = app.GetScreenDensity(); +  var dens = app.GetScreenDensity(); 
-//Get display dimensions.  +  //Get display dimensions.  
-  var dw = app.GetDisplayWidth();  +  var dw = app.GetDisplayWidth(); 
-  var dh = app.GetDisplayHeight(); +  var dh = app.GetDisplayHeight(); 
-//Get drive details +  //Get drive details 
-  var intfld = app.GetInternalFolder(); +  var intfld = app.GetInternalFolder(); 
-  var extfld = app.GetExternalFolder(); +  var extfld = app.GetExternalFolder(); 
-  var intspace = app.GetFreeSpace("internal"); +  var intspace = app.GetFreeSpace("internal"); 
-  var extspace = app.GetFreeSpace("external"); +  var extspace = app.GetFreeSpace("external"); 
-  +  var mem = app.GetMemoryInfo().total.toLocaleString("en-US");
  
-//specs are formatted as a comment so we can paste +  //specs are formatted as a comment so we can paste 
-//them somewhere convenient +  //them somewhere convenient 
-  var s = "/*\n"+  try 
-        "os=" + osInfo+"\n"+  { 
-        "tablet="tablet + "\n"+    os = osInfo; 
-        "model=" + model + "\n" + +  } 
-        "DroidScript=" + dsversion + "\n"+  catch(err) 
-        "screen width="+ sw + "\n" +  +  {} 
-        "screen height="+ sh + "\n" +  +  var s = "/*\n"
-        "screen density="+ dens + "\n" +  +    "os="os + "\n"
-        "display width="+ dw + "\n" +  +    "tablet="tablet + "\n"
-        "display height="+ dh +"\n" + +    "model="model + "\n"
-        "internal folder=" + intfld + "\n" + +    "DroidScript="dsversion + "\n"
-        "external folder=" + extfld + "\n" + +    "screen width=" + sw + "\n"
-        "int free space=" + intspace + "\n" + +    "screen height=" + sh + "\n"
-        "ext free space=" + extspace + "\n" + +    "screen density=" + dens + "\n"
-     "country code="+app.GetCountryCode() +"\n"+    "display width=" + dw + "\n"
-"country="+app.GetCountry()+"\n"+    "display height=" + dh + "\n"
-     "language code="+app.GetLanguageCode() +"\n"+    "internal folder=" + intfld + "\n"
-"language="+app.GetLanguage()+"\n"+    "external folder=" + extfld + "\n"
-        "*/"; +    "int free space=" + intspace + "\n"
-   return(s);+    "ext free space=" + extspace + "\n"
 +    "memory=" + mem +"\n"
 +    "country code=" + app.GetCountryCode() + "\n"
 +    "country=" + app.GetCountry() + "\n"
 +    "language code=" + app.GetLanguageCode() + "\n"
 +    "language=" + app.GetLanguage() + "\n"
 +    "wifi=" + app.GetIPAddress() + "\n"
 +    "*/"; 
 +  return(s);
 } }
- 
- 
 </code> </code>
 ===== Notes ===== ===== Notes =====
 The function getDeviceSpecs at the end of the code, can be pasted independently into a project an the string returned can be used however you see fit. The function getDeviceSpecs at the end of the code, can be pasted independently into a project an the string returned can be used however you see fit.
sample_code/get_device_specs.txt · Last modified: 2022/04/25 17:48 by stevegarman