2010-06-14 166 views
0

我與通過Javascript使用Safari瀏覽器本地存儲(SQlite的DB)一個PhoneGap的應用程序工作:預先填充iPhone Safari瀏覽器的SQLite數據庫

http://developer.apple.com/safari/library/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/UsingtheJavascriptDatabase/UsingtheJavascriptDatabase.html

第一次加載,應用程序創建數據庫,表並通過一系列INSERT語句填充數據。

如果用戶在處理過程中關閉應用程序,那麼我的應用程序數據庫處於不一致的狀態。

我喜歡做的是部署SQLite數據庫作爲我的iTunes應用程序打包的一部分,因此在應用程序冷啓動時不需要填充任何內容。然而,我不確定這是否可能 - 我可以找到的所有關於此主題的Google點擊都指的是提供的核心數據SQLite,而不是我們正在使用的...

如果這是不可能的,我是否可以將整個事件封裝在一個事務中,並在重新啓動應用程序時不斷重新嘗試它?

失敗了,我想我可以用一個布爾列創建一個簡單的表「is_app_db_loaded?」並在處理完所有插入內容後將其設置爲true。但是這真的很糟糕...

想法?謝謝!!

回答

2

我認爲this solution可能適合你。其中涉及預先創建表,並在應用程序啓動時複製它。