2012-04-06 7 views
1

私のアプリケーションでは、既存のSQLiteデータベースが接続されています。開始時には電話にコピーされて使用されます。私はこのデータベースが既にコピーされているかどうかを確認する方法を知っていますが、電話機のデータベースがAPKに保存されているものと同じかどうかをチェックしたいと思います。それらを比較する方法はありますか?私はプログラムでそれをやりたいAndroidでのSQLiteデータベースの比較

元のデータベースはassetsフォルダに格納されます。

+0

トライコンパの記録を比較している場合ファイルサイズをバイト単位で返しますか? – idiottiger

+0

ええ、それは良い考えです。これらのファイルのサイズはどのように取得できますか?オリジナルはAPKの 'assets'フォルダにあり、コピーは'/data/data/my.package/databases/'にあります。 – Roman

+0

のassert db: 'context.getAssets()。open(" assert_db ")。available();'および 'new File("/data/... ")。 – idiottiger

答えて

1

根付いた電話があれば、その詳細を見ることができます。しかし、あなたの携帯電話が根ざしていない場合、あなたはそれを見ることができなくなります。

あなたの電話にアプリケーションをコピーした場合、もう1つのことは間違いなく機能します。

so 結論です。あなたがルーテッドフォンを持っている場合は、見て比較することができます。可能であれば、インストールされているサイズや時間を比較しようとします。

1

APKにDataBaseを接続して、電話機に正常にコピーした場合、以前のデータベースがコピーされていることを意味します。比較する必要はないと思います。比較したい場合は、表。

第二に、あなたのデータベースがすでにcopied.Thenは、すべての表

をリストに

を更新し、その値

を確認したら、真の共有preferences.Saveに1つのフラグを使用し、その後にコピーされていることを覚えておきたい場合

select name from sqlite_master where type = 'table' 

両方のデータベースが同じテーブルには、これらの対応表

+0

元のデータベースの内容は変更されますが、すでに存在しているため、古いデータベースの内容は変更されません。だから私はそれらを比較する方法を見つけようとしているのです。 – Roman

+0

両方の番号が同じ場合は合計テーブルを比較することはできませんテーブルを比較してレコードを比較する – Sameer

+0

編集を参照@Roman – Sameer

関連する問題