DBまたはローカルストレージにデータを保存したい。リストを Web サービスから初めてダウンロードするときに、このリストをデータベースに保存します。私は何かをしましたが、間に合いました。私は phonegap 技術の初心者です私を助けてください。
次回ユーザーがこの画面を開くと、Web サービスからではなくデータベースからリストが取得されます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Cache-control" content="no-cache">
<title>First Group</title>
<link href="style/style.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="script/actb.js"></script>
<script language="javascript" type="text/javascript" src="script/actb2.js"></script>
<script type="text/javascript" src="script/common.js"></script>
<script type="text/javascript" src="script/soapclient.js"></script>
<script type="text/javascript" src="script/cordova-1.9.0.js"></script>
<script type="text/javascript">
//Wait for Cordova to load
// document.addEventListener("deviceready", onDeviceReady, false);
//Cordova is loaded and it is now safe to make calls Cordova methods
function onDeviceReady()
{
checkConnection();
}
function checkConnection()
{
var networkState = navigator.network.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.NONE] = 'No network connection';
//alert('Connection type: ' + states[networkState]);
if(states[networkState]=="No network connection")
{
alert("No Connection Available ");
navigator.app.exitApp();
}
}
var stationList = new Array;
function GetStationCodes()
{
********************************check condition if there is element in database can you give some condition to check data base ******
if(window.localStorage.getItem(1)!=null){
alert("break");
loadList();
break;
}
document.getElementById('loadingImg').style.visibility = "visible";
var pl = new SOAPClientParameters();
var parameter1 = "";
var parameter2 = "";
pl.add("parameter1", parameter1);
pl.add("parameter2", parameter2);
SOAPClient.invoke(WSDLURL, "stationSearch", pl, true, GetStationCodes_callBack);
}
function loadList()
{
*************Get list from data base. how to get keys length?********
for (var i = 0; i <20 ; i++)
{
document.getElementById('loadingImg').style.visibility = "hidden";
document.getElementById('submitBtn1').removeAttribute('disabled');
document.getElementById('submitBtn2').removeAttribute('disabled');
document.getElementById('getStationDesc').removeAttribute('disabled');
stationList[i] = window.localStorage.getItem(i);
//alert(stationList[i]);
}
}
function GetStationCodes_callBack(r)
{
document.getElementById('loadingImg').style.visibility = "hidden";
document.getElementById('submitBtn1').removeAttribute('disabled');
document.getElementById('submitBtn2').removeAttribute('disabled');
document.getElementById('getStationDesc').removeAttribute('disabled');
**********************download list*********************
for (var i = 0; i < r.length-1; i++)
{
stationList[i] = r[i].stationCode + " - " + r[i].stationName;
******************************save data in local storage***********************
window.localStorage.setItem(i,stationList[i] );
}
//alert( );
}
function SetAction(flag)
{
if(flag==1)
{
document.frmIndex.action="arrival.html";
}
else
{
// document.frmIndex.action="departure.html";
document.frmIndex.action="destination.html";
}
}
</script>
</head>
<body onload="GetStationCodes()">
<div id="wrapper">
<div class="login_cont">
<div class="home_icon"><a href="#"><img src="images/home-icon.png" alt="Home" title="Home" /></a></div>
<h1 class="fr">Station ID</h1>
<div class="cl"></div>
<form name="frmIndex" type=get>
<div class="log_cont">
<input id="getStationDesc" name="getStationDesc" type="text" class="log_txtfield" disabled="disabled"/>
<script>
var obj = actb(document.getElementById('getStationDesc'),stationList);
//setTimeout(function(){obj.actb_keywords = custom2;},10000);
this.actb_timeOut = -1;
// Number of elements autocomplete can show (-1: no limit)
this.actb_lim = 10;
// should the auto complete be limited to the beginning of keyword?
this.actb_firstText = true;
// Enable Mouse Support
this.actb_mouse = true;
// Delimiter for multiple autocomplete.
// Set it to empty array for single autocomplete
this.actb_delimiter = new Array(' ',',');
// Show widget only after this number of characters is typed in.
this.actb_startcheck = 1;
this.actb_bgColor = '#dbe3ec';
this.actb_textColor = '#00256a';
this.actb_hColor = '#dbe3ec';
this.actb_fFamily = 'arial';
this.actb_fSize = '16px';
this.actb_hStyle = 'text-decoration:underline;font-weight="bold";text-align="left"';
function FillValues()
{
document.getElementById('getStationCode').value = document.getElementById('getStationDesc').value.substring(0,3);
}
</script>
<div>
<img src="images/ajax-loader.gif" id="loadingImg" visible =true style="margin:auto; position: absolute; left:50%; top:50%;"/>
</div>
<input id="getStationCode" name="getStationCode" type="hidden" /></div>
<input id="submitBtn1" type=submit class="heading_btn" style="margin-top:10px;margin-left:50px" value="Arrival Dashboard" onclick="FillValues();SetAction(1)" disabled="disabled">
<input id="submitBtn2" type=submit class="heading_btn" style="margin-top:10px;margin-left:40px" value="Departure Dashboard" onclick="FillValues();SetAction(2)" disabled="disabled">
</div>
</form>
</div>
</div>
</body>
</html>