2012-05-02 28 views
0

我目前正在研究項目的數據庫部分,我必須合併兩個數據庫的內容,並且我想問您是否存在簡單的API方法 Android API/SDK本身將數據庫轉儲到SQL文本文件。Android DB:使用SQL轉儲合併兩個數據庫

其實我自己在API文檔中沒有發現有關這種實現的提示。我真的懷疑在窗簾後面埋藏着哪一種方法。

但是我已經做了採用Android的Linux的sqlite3的外殼工具解決方法調用:

String[] cmd = {"/system/bin/sh", "-c", ..., "sqlite3 ..."}; 
Runtime.getRuntime().exec(cmd); 

在那裏我有兩個選擇,一個)管直接到輸出文件或b)寫使用BufferedOutputStream的文件。

儘管如此,最有可能是由於兼容性問題,我問你在API本身內更方便的方式,而不是在應用程序內使用關鍵的shell技巧。

我也對使用Android的數據庫方法合併兩個數據庫的任何快速&非常感興趣。

謝謝。

回答

0

沒有什麼內置API可以幫助你。您可以查詢並自己編寫INSERT語句。有一個博客條目(http://mgmblog.com/2009/02/06/export-an-android-sqlite-db-to-an-xml-file-on-the-sd-card/),根據查詢結果構建XML文件。一些調整,你coule建立你自己的轉儲文件。

你不會說你需要做什麼樣的合併,但是你可以使用ORMLite,比如重寫模型對象的equals方法來比較記錄和/或合併某些數據字段(假設模式是相同的),而不必編寫大量的SQL。

+0

非常感謝。合併本身是爲了在應用程序(和數據庫)更新的情況下將潛在的用戶定製數據合併到更新的數據庫。 – tupperworx