2014-09-23 54 views
0

我想建立使用科爾多瓦/ PhoneGap的3.5一個跨平臺的移動應用程序。如何推出一款PhoneGap的應用3.5與預填充的SQLite數據庫

首先,我想使用Eclipse創建了Android SDK的Android版本。

的要求之一是,我想我的應用程序,其中創建並預先填充了一些數據的一些數據庫表發貨。

我已經嘗試了各種事情,到目前爲止,但似乎沒有奏效。

這是我迄今所做的:

  1. 創建的數據庫和表與Windows上使用sqlite3的命令行工具在他們的數據。結果我得到了我的mydb sqlite數據庫文件。
  2. 我已經將這個數據庫文件放在assets/databases文件夾下,正如許多文章中的建議。
  3. 我用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); } }

  4. 在我的主要活動中,我簡單地調用上面的類,以確保它被執行。這是正確的方式嗎?

  5. 在我的HTML文件,我試圖打開數據庫,並做一些操作它,因爲在這裏給出:http://docs.phonegap.com/en/3.1.0/cordova_storage_storage.md.html#Storage

  6. 按照上述文檔中,window.openDatabase()函數調用應該返回現有的SQLite數據庫並給我一個處理,以進一步處理它。

但是,這似乎並沒有發生。當我運行我的應用程序時,它不會在LogCat控制檯上給我任何錯誤,但它也找不到我的預填充數據庫。

隨着科爾多瓦3.5,我沒有使用任何外部sqlite的插件,因爲它應該是內置在這個版本。它是否正確?

作爲一個方面說明 - 我如何可以瀏覽自己的Android設備(Nexus 7平板電腦)來實際驗證數據庫已經建立?

非常感謝您的幫助。

+0

Cordova利用基於瀏覽器的WebSQL API,它是sqlite,但不是本地sqlite。您需要使用其中一個插件才能使用本地sqlite。 – 2014-09-23 16:02:02

+0

謝謝Dawsone。我試圖添加下面的插件cordova插件添加https://github.com/brodysoft/Cordova-SQLitePlugin.git,但它似乎仍然沒有選擇我的預填充數據庫。 – user1977611 2014-09-23 17:32:06

回答

0

儘管這個問題是老了......想這可能幫助別人後我的解決方案 - (由於PhoneGap的改變,舊的解決方案可能不再有效或者在Android和蘋果應用程序市場上得到承認)在2017年發現的我在這個問題上工作了很長一段時間 - 關於如何導入預填充數據庫的問題 - 其中並沒有很多簡單的解決方案。我發現最好的 - 現在只是關於 - 解決方案是LiteHelpers CORDOVA-SQLITE-EXT(https://github.com/litehelpers/cordova-sqlite-ext

我已經將它添加到我的應用程序中,它運行良好。我不得不從PhoneGap切換 - 並使用CORDOVA - 但它爲我工作。

相關問題