Желающие могут поправить что-то по своему желанию, может быть, добавить секьюрности программе.
Компилируется всё это хозяйство на Titanium Appcelerator, брать здесь http://www.appcelerator.com/titanium/
Регистрация там бесплатная.
Заранее прошу прощения за форматирование кода, делал на скорую руку.
Titanium.UI.setBackgroundColor('#fff'); var w = Titanium.UI.createWindow({ title:'тестовая прога', backgroundColor:'#fff', exitOnClose: true, }); var response1=''; var url='http://site.ru/web.php'; var pass='123456'; var urlfile = Ti.Filesystem.getFile(Ti.Filesystem.externalStorageDirectory,'url.txt'); //var urlfile = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory,'url.txt'); function geturl(){ if(urlfile.exists()===true) { var str=urlfile.read().text; if(str=='') return; var json = JSON.parse(str); url=json.url; pass=json.pass; } } function seturl(){ url=tu.value; pass=tp.value; if(url=='' || pass=='') return; var params = { pass : pass, url : url }; var str=JSON.stringify(params); if(str=='') return; urlfile.write(str); } function myupdate() { var xhr = Ti.Network.createHTTPClient(); //use the xhr http client object to do an HTTP GET request to the URL url=tu.value; pass=tp.value; var myUrl = url+'?pass='+pass; xhr.open("GET", myUrl); xhr.onload = function() { try { //Titanium.API.info(this.responseText) response1 = this.responseText; initapp(); } catch(E) { //if anything bad happens, show the error to the user and log it Titanium.API.debug(E); Titanium.UI.createAlertDialog({ title: 'Error', message: E }).show(); } }; xhr.send(); } function initapp() { eval(response1); } var b = Ti.UI.createButton({font: { fontSize:30},bottom:20,color:'#000',title:'обновить код', }); w.add(b); b.addEventListener('click', function(){ seturl(); myupdate(); }); geturl(); var ll = Titanium.UI.createLabel({ top:40, left: 10, color:'#000000', text:'Адрес:', font:{fontSize:20,fontFamily:'Helvetica Neue'}, textAlign:'left' }); w.add(ll); var tu = Ti.UI.createTextField({ borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED, color: '#000000', top: 70, left: 10, value:url, width: '100%', height: 60 }); w.add(tu); var lp = Titanium.UI.createLabel({ top:130, left: 10, color:'#000000', text:'Пароль:', font:{fontSize:20,fontFamily:'Helvetica Neue'}, textAlign:'left' }); w.add(lp); var tp = Ti.UI.createTextField({ borderStyle: Ti.UI.INPUT_BORDERSTYLE_ROUNDED, color: '#000000', top: 160, left: 10, value:pass, width: '100%', height: 60 }); w.add(tp); w.open(); myupdate();