2016-09-06 14 views
0

私のアプリケーションを実行するとまずdbの存在がチェックされます。初めてdbを実行するときは存在しないはずです。そうであれば、dBのテーブルを作成し、特定のテーブルにさまざまなサポートデータを設定します。だから、これはうまく動作します。だから、私はdbをadbシェルから削除します。その後、私はアプリを再実行し、それはまだデータベースが存在すると判断する!!私は、存在をチェックするかどうかを調べる2つの方法があり、どちらも同じ異常な方法で動作します。 メソッド1は、dbをJavaファイルとして開くだけで、existsメソッドを使用してチェックします。方法2は、dbパスと名前をdb.openデータベースメソッドのargとして使用すると、もう少し精巧です。 両方のメソッドは、dbが存在しないことを、adbシェルで削除した後では判別できません。 必要に応じてコードを提供することができますが、この動作のためのアイデアがあるかどうかは分かります。私はgenymotionエミュレータを循環させましたが、これで修正されませんでした。 ありがとうございます。Androidでsqlite dbの存在を確認する

+0

したがって、あなたはアプリケーションを実行している間にadbシェルを通してdbファイルを削除していますか? – Hitesh

+0

なぜあなたは 'SQLiteOpenHelper'を使用していませんか? –

答えて

0

いいえ、アプリケーションを停止し、dbを削除してから、Android Studioのすべてを再起動します。ところで。 Geneの動きによって報告されたdbパスが、私のアプリケーションのdbパスと同じではない理由を知っていますか?両方とも、同じdbを指しています(adbに示されています)。

関連する問題