概念の理解に問題があります。
AndroidでSQLiteサンプルアプリを作成しています。現在、パス/data/data/packname/databases
を使用してデータベースを保存しています。
私の資産フォルダーには何もありません。データベースを内部パスからassets
フォルダーにコピーする方法を知りたいです。
理由:- データベース ファイルを見たいonupgrade()
。
それに関連する質問がたくさん見つかりましたが、答えには満足していません。
助言がありますか
assets
APK は実行時に変更できないため、APK 内のフォルダーに何もコピーすることはできません。
反対に、つまりデータベースをアセットフォルダーにパッケージ化してディスクに書き込むには、次のプロジェクトを使用できます: https://github.com/jgilfelt/android-sqlite-asset-helper 開発時にこれを使用します、ランタイムではありません。
実行時に、アセットフォルダーからエミュレーターまたはデバイスにデータベースをコピーできます。更新されたデータベースを確認したい場合は、エミュレータからシステムにデータベースをフェッチする必要があります。
data/data/packagename/databases
アセットフォルダ内の実行時にデータを変更することはできないと思います。私はそれをやろうとしましたが、成功しませんでした。あなたが解決策を見つけたらそれを投稿してください、そうすれば私はそれを使うことができます。
あなたの質問から私が理解しているのは、SQLite データベースを表示する方法に関するあなたの小さな誤解です。そのため、データベース ファイルを表示する必要がある場合は、データベースをアセット フォルダーに保存する必要はありません。データベース ファイルは data>data> にあります。アプリケーション パッケージ>データベース。デバイスからファイルをプッシュして表示できます。したがって、データベースを表示する必要がある場合は、この質問に対する私の回答に従ってください。データベースを表示する方法を簡単に説明しました。