我想建立使用科爾多瓦/ PhoneGap的3.5一個跨平臺的移動應用程序。如何推出一款PhoneGap的應用3.5與預填充的SQLite數據庫
首先,我想使用Eclipse創建了Android SDK的Android版本。
的要求之一是,我想我的應用程序,其中創建並預先填充了一些數據的一些數據庫表發貨。
我已經嘗試了各種事情,到目前爲止,但似乎沒有奏效。
這是我迄今所做的:
- 創建的數據庫和表與Windows上使用sqlite3的命令行工具在他們的數據。結果我得到了我的mydb sqlite數據庫文件。
- 我已經將這個數據庫文件放在assets/databases文件夾下,正如許多文章中的建議。
我用github.com/jgilfelt/android-sqlite-asset-helper創建DB:
公共類MyDatabase的擴展SQLiteAssetHelper { 私有靜態最後絃樂DATABASE_NAME = 「數據庫名稱」; private static final int DATABASE_VERSION = 1; public MyDatabase(Context context){super(context,DATABASE_NAME,null,DATABASE_VERSION); } }
在我的主要活動中,我簡單地調用上面的類,以確保它被執行。這是正確的方式嗎?
在我的HTML文件,我試圖打開數據庫,並做一些操作它,因爲在這裏給出:http://docs.phonegap.com/en/3.1.0/cordova_storage_storage.md.html#Storage
按照上述文檔中,
window.openDatabase()
函數調用應該返回現有的SQLite數據庫並給我一個處理,以進一步處理它。
但是,這似乎並沒有發生。當我運行我的應用程序時,它不會在LogCat控制檯上給我任何錯誤,但它也找不到我的預填充數據庫。
注
隨着科爾多瓦3.5,我沒有使用任何外部sqlite的插件,因爲它應該是內置在這個版本。它是否正確?
作爲一個方面說明 - 我如何可以瀏覽自己的Android設備(Nexus 7平板電腦)來實際驗證數據庫已經建立?
非常感謝您的幫助。
Cordova利用基於瀏覽器的WebSQL API,它是sqlite,但不是本地sqlite。您需要使用其中一個插件才能使用本地sqlite。 – 2014-09-23 16:02:02
謝謝Dawsone。我試圖添加下面的插件cordova插件添加https://github.com/brodysoft/Cordova-SQLitePlugin.git,但它似乎仍然沒有選擇我的預填充數據庫。 – user1977611 2014-09-23 17:32:06