私のアプリケーションでは、既存のSQLiteデータベースが接続されています。開始時には電話にコピーされて使用されます。私はこのデータベースが既にコピーされているかどうかを確認する方法を知っていますが、電話機のデータベースがAPKに保存されているものと同じかどうかをチェックしたいと思います。それらを比較する方法はありますか?私はプログラムでそれをやりたいAndroidでのSQLiteデータベースの比較
元のデータベースはassets
フォルダに格納されます。
私のアプリケーションでは、既存のSQLiteデータベースが接続されています。開始時には電話にコピーされて使用されます。私はこのデータベースが既にコピーされているかどうかを確認する方法を知っていますが、電話機のデータベースがAPKに保存されているものと同じかどうかをチェックしたいと思います。それらを比較する方法はありますか?私はプログラムでそれをやりたいAndroidでのSQLiteデータベースの比較
元のデータベースはassets
フォルダに格納されます。
根付いた電話があれば、その詳細を見ることができます。しかし、あなたの携帯電話が根ざしていない場合、あなたはそれを見ることができなくなります。
あなたの電話にアプリケーションをコピーした場合、もう1つのことは間違いなく機能します。
so 結論です。あなたがルーテッドフォンを持っている場合は、見て比較することができます。可能であれば、インストールされているサイズや時間を比較しようとします。
APKにDataBaseを接続して、電話機に正常にコピーした場合、以前のデータベースがコピーされていることを意味します。比較する必要はないと思います。比較したい場合は、表。
第二に、あなたのデータベースがすでにcopied.Thenは、すべての表
をリストにを更新し、その値
を確認したら、真の共有preferences.Saveに1つのフラグを使用し、その後にコピーされていることを覚えておきたい場合
select name from sqlite_master where type = 'table'
両方のデータベースが同じテーブルには、これらの対応表
トライコンパの記録を比較している場合ファイルサイズをバイト単位で返しますか? – idiottiger
ええ、それは良い考えです。これらのファイルのサイズはどのように取得できますか?オリジナルはAPKの 'assets'フォルダにあり、コピーは'/data/data/my.package/databases/'にあります。 – Roman
のassert db: 'context.getAssets()。open(" assert_db ")。available();'および 'new File("/data/... ")。 – idiottiger