2014-11-17 68 views
0

我正在開發一個使用apache cordova的QA類型應用程序。並計劃在iOS和Android上使用此應用程序。 QA表單是HTML文件,這些文件應在iOS和Android應用程序的Webview中查看。在應用程序中有很多質量保證表格。每個QA表格可能有多個數據輸入選項,如文本字段,單選按鈕,日期選擇器等。所有這些HTML表單都有一個提交按鈕,當用戶點擊提交按鈕時,數據將使用Web服務上傳到服務器。預先填充並更新來自cordova應用(iOS和Android)的SQLite數據庫

我會在這裏解釋我的問題。部署應用程序後,HTML文件可能會更改。我想將HTML文件中的更新反映到應用程序(iOS和Android)中。我可以通過將所有HTML內容保存在SQLite表中並從iOS和Android應用程序訪問SQLite來完成此操作。我的想法是,預先填充SQLite數據庫並部署應用程序,並使用Web服務根據HTML文件中所做的更改來更新表格。我知道我無法將SQLite數據庫保留在android應用程序的資產文件夾中,因爲我無法在運行時更新它。如何編寫 對於如何預先使用HTML內容填充SQLite數據庫並在運行時從iOS和Android應用程序更新SQLite數據庫,您有任何建議嗎?

回答

0

是的。您可以創建&從Javascript實時編輯您的SQLlite數據庫。將代碼放在任何JS中,並將JS包含在您的應用程序頁面上。下面的示例代碼:這是我的IOS & Android應用程序當前使用的代碼的一小部分。它不需要Cordova,但在Cordova/PhoneGap應用程序中運行良好。

var db = window.openDatabase("myDB", "1.0", "my DB", 20000000); // create/Open SQLite Database 

db.transaction(function (tx) { 
       tx.executeSql('CREATE TABLE IF NOT EXISTS CodeDecode (id INTEGER PRIMARY KEY AUTOINCREMENT, RefTable VARCHAR(10), RefVal VARCHAR(50), SortOrder INT)'); 
       tx.executeSql('INSERT INTO CodeDecode (RefTable, RefVal, SortOrder) VALUES ("Type","R",2)'); 
       tx.executeSql('INSERT INTO CodeDecode (RefTable, RefVal, SortOrder) VALUES ("Type","H",1)'); 
       tx.executeSql('INSERT INTO CodeDecode (RefTable, RefVal, SortOrder) VALUES ("Cal","22",1)'); 
       tx.executeSql('INSERT INTO CodeDecode (RefTable, RefVal, SortOrder) VALUES ("Cal","9",2)'); 
      }); 
相關問題