我有一個應用程序,它使用大量數據,這些數據已經在應用程序之外編譯(在我的主PC上)。該應用程序是供我個人使用的,因此不必將數據更新分發給其他用戶。但是,每次我想更新數據時,我都會遵循一個非常複雜且耗時的過程,我想知道是否有人可以提出任何方法來簡化它。如何更新Android應用程序作爲數據源使用的數據庫
我按照每當我要添加新的數據的程序如下:
我輸入新的數據到CSV文件,我維護的相關表的數據庫源
我使用SQLite數據庫瀏覽器將數據導入到現有的SQLite數據庫中。 (這個程序似乎沒有能力將導入的數據追加到現有的表中,所以無論何時表需要更新,我必須刪除現有表,然後將數據從csv文件導入到新表中,然後手動編輯數據)
我將數據庫文件的圖標拖放到Eclipse項目的'assets'文件夾中。
我將Eclipse中的項目導出爲apk文件。
我apk文件複製到我的手機
(使用天文文件管理器)我卸載舊版本的應用程序並安裝新的APK。
當應用程序運行時,基於here示例的代碼將數據從'assets'文件夾複製到應用程序的數據文件夾中;這意味着每個字節的數據在手機內存中佔用兩個字節;目前這不是問題,但可能隨着數據量的增長;我想知道是否有更高效的內存方法?
我應該非常感謝任何指導。
感謝您的快速響應!是否直接從Eclipse上運行手機上的應用程序會從手機內部存儲器中的應用程序數據文件夾擦除現有數據庫?我發現使用模擬器時,我必須手動擦除數據。 – prepbgg 2010-08-04 15:04:30
這是一個很好的問題。我不完全確定。就像我說的,我沒有真正處理Android中的任何數據庫。我記得在程序運行時看到了一些擦除數據庫的選項。看看你是否可以找到一些啓動選項或類似的東西。我相信有一個複選框,您可以檢查並告訴它清理數據庫。 – Mike 2010-08-04 15:33:00
謝謝。這大概是我正在尋找的複選框。我希望我知道如何找到它! 但是,只要我想更新數據庫,我仍然會在原始文章中列出所有其他繁瑣的步驟。也許我可能會在我的應用程序中編寫代碼來添加一個菜單項來打包單個表並從SD卡上的文件讀入新數據。肯定有更新數據的方式,而無需通過Eclipse? – prepbgg 2010-08-05 08:54:25