在我的應用程序中,我附加了一個現有的SQLite數據庫。開始時,它被複制到手機,然後被使用。我知道如何檢查這個數據庫是否已被複制,但我想檢查手機上的數據庫是否與APK中存儲的數據庫相同。有什麼方法可以比較它們嗎?我想以編程方式做到這一點。比較Android上的SQLite數據庫
原始數據庫存儲在assets
文件夾中。
在我的應用程序中,我附加了一個現有的SQLite數據庫。開始時,它被複制到手機,然後被使用。我知道如何檢查這個數據庫是否已被複制,但我想檢查手機上的數據庫是否與APK中存儲的數據庫相同。有什麼方法可以比較它們嗎?我想以編程方式做到這一點。比較Android上的SQLite數據庫
原始數據庫存儲在assets
文件夾中。
如果你有一個根深蒂固的手機,那麼你可以觀看它的細節。但如果你的手機沒有植根,那麼你將無法看到它。
如果您已將應用程序複製到手機中,那麼它肯定會起作用。
所以結論是,如果你有一個根深蒂固的手機,那麼你將能夠看到和比較,如果可能的話嘗試比較它的大小或安裝它的時間。
如果你已經附加了一個數據庫與你的APK,你成功地複製到你的手機,這意味着你有你的舊數據庫複製。所以我認爲沒有必要比較。如果你想比較然後比較所有記錄表。
,如果你要記住,你的數據庫已經複製然後使用份額preferences.Save一個標誌,一旦copied.Then真檢查它的價值
更新
要列出所有表
二select name from sqlite_master where type = 'table'
如果這兩個數據的基礎上再有同臺比較這些對應的表
嘗試COMPA記錄重新以字節爲單位的文件大小? – idiottiger 2012-04-06 06:27:46
是的,這是一個好主意。我怎樣才能獲得這些文件的大小?原始位於我的APK的'assets'文件夾中,並複製到'/ data/data/my.package/databases /'中。 – Roman 2012-04-06 06:57:26
用於assert db:'context.getAssets()。open(「assert_db」)。available();''和'new File(「/ data/...」).length();'實際爲db。 – idiottiger 2012-04-06 07:02:59