mirror of
https://github.com/apache/cordova-android.git
synced 2025-02-26 03:53:09 +08:00
Fixing up Cupcake Storage
This commit is contained in:
parent
b0a69f5cc5
commit
5ee34b58d7
@ -29,8 +29,6 @@ public class Storage {
|
|||||||
|
|
||||||
public void executeSql(String query, String[] params, String tx_id)
|
public void executeSql(String query, String[] params, String tx_id)
|
||||||
{
|
{
|
||||||
if(txid.length() == 0)
|
|
||||||
{
|
|
||||||
try{
|
try{
|
||||||
txid = tx_id;
|
txid = tx_id;
|
||||||
Cursor myCursor = myDb.rawQuery(query, params);
|
Cursor myCursor = myDb.rawQuery(query, params);
|
||||||
@ -39,8 +37,9 @@ public class Storage {
|
|||||||
catch (SQLiteException ex)
|
catch (SQLiteException ex)
|
||||||
{
|
{
|
||||||
Log.d(LOG_TAG, ex.getMessage());
|
Log.d(LOG_TAG, ex.getMessage());
|
||||||
|
txid = "";
|
||||||
|
//TODO: Call FAIL!
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void processResults(Cursor cur)
|
public void processResults(Cursor cur)
|
||||||
@ -61,10 +60,11 @@ public class Storage {
|
|||||||
resultString += ",";
|
resultString += ",";
|
||||||
}
|
}
|
||||||
resultString += "}";
|
resultString += "}";
|
||||||
appView.loadUrl("javascript:droiddb.addResult('" + resultString + "')");
|
appView.loadUrl("javascript:droiddb.addResult('" + resultString + "', " + txid + ")");
|
||||||
} while (cur.moveToNext());
|
} while (cur.moveToNext());
|
||||||
appView.loadUrl("javascript:droiddb.completeQuery()");
|
appView.loadUrl("javascript:droiddb.completeQuery(" + txid + ")");
|
||||||
txid = "";
|
txid = "";
|
||||||
|
myDb.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,24 +4,24 @@
|
|||||||
* most manufacturers ship with Android 1.5 and do not do OTA Updates, this is required
|
* most manufacturers ship with Android 1.5 and do not do OTA Updates, this is required
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var droiddb = new function()
|
var DroidDB = function()
|
||||||
{
|
{
|
||||||
this.txQueue = [];
|
this.txQueue = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
droiddb.prototype.addResult(rawdata, tx_id)
|
DroidDB.prototype.addResult = function(rawdata, tx_id)
|
||||||
{
|
{
|
||||||
eval("var data = " + rawdata);
|
eval("var data = " + rawdata);
|
||||||
var tx = this.txQueue(tx_id);
|
var tx = this.txQueue[tx_id];
|
||||||
tx.resultSet.push(data);
|
tx.resultSet.push(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
droiddb.prototype.completeQuery(tx_id)
|
DroidDB.prototype.completeQuery = function(tx_id)
|
||||||
{
|
{
|
||||||
var tx = this.txQueue(tx_id);
|
var tx = this.txQueue[tx_id];
|
||||||
var r = new result();
|
var r = new result();
|
||||||
r.rows.resultSet = tx.resultSet;
|
r.rows.resultSet = tx.resultSet;
|
||||||
r.rows.length = resultSet.length;
|
r.rows.length = tx.resultSet.length;
|
||||||
tx.win(r);
|
tx.win(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ var DatabaseShell = function()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DatabaseShell.transaction(process)
|
DatabaseShell.prototype.transaction = function(process)
|
||||||
{
|
{
|
||||||
tx = new Tx();
|
tx = new Tx();
|
||||||
process(tx);
|
process(tx);
|
||||||
@ -45,7 +45,7 @@ var Tx = function()
|
|||||||
|
|
||||||
Tx.prototype.executeSql = function(query, params, win, fail)
|
Tx.prototype.executeSql = function(query, params, win, fail)
|
||||||
{
|
{
|
||||||
droidStorage.executeSql(query, params, tx_id);
|
droidStorage.executeSql(query, params, this.id);
|
||||||
tx.win = win;
|
tx.win = win;
|
||||||
tx.fail = fail;
|
tx.fail = fail;
|
||||||
}
|
}
|
||||||
@ -66,12 +66,18 @@ Rows.prototype.item = function(row_id)
|
|||||||
return this.resultSet[id];
|
return this.resultSet[id];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dbSetup = function(name, version, display_name, size)
|
||||||
|
{
|
||||||
|
droidStorage.openDatabase(name, version, display_name, size)
|
||||||
|
db_object = new DatabaseShell();
|
||||||
|
return db_object;
|
||||||
|
}
|
||||||
|
|
||||||
PhoneGap.addConstructor(function() {
|
PhoneGap.addConstructor(function() {
|
||||||
if (typeof navigator.openDatabase == "undefined") {
|
if (typeof navigator.openDatabase == "undefined")
|
||||||
var openDatabase = function(name, version, display_name, size)
|
{
|
||||||
{
|
navigator.openDatabase = window.openDatabase = dbSetup;
|
||||||
droidStorage.openDatabase(name, version, display_name, size)
|
window.droiddb = new DroidDB();
|
||||||
db_object = new DatabaseShell();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user