2

概念の理解に問題があります。

AndroidでSQLiteサンプルアプリを作成しています。現在、パス/data/data/packname/databasesを使用してデータベースを保存しています。

私の資産フォルダーには何もありません。データベースを内部パスからassetsフォルダーにコピーする方法を知りたいです。

理由:- データベース ファイルを見たいonupgrade()

それに関連する質問がたくさん見つかりましたが、答えには満足していません。

助言がありますか

4

3 に答える 3

2

assetsAPK は実行時に変更できないため、APK 内のフォルダーに何もコピーすることはできません。

反対に、つまりデータベースをアセットフォルダーにパッケージ化してディスクに書き込むには、次のプロジェクトを使用できます: https://github.com/jgilfelt/android-sqlite-asset-helper 開発時にこれを使用します、ランタイムではありません。

于 2013-03-14T04:37:53.567 に答える
0

実行時に、アセットフォルダーからエミュレーターまたはデバイスにデータベースをコピーできます。更新されたデータベースを確認したい場合は、エミュレータからシステムにデータベースをフェッチする必要があります。

data/data/packagename/databases

アセットフォルダ内の実行時にデータを変更することはできないと思います。私はそれをやろうとしましたが、成功しませんでした。あなたが解決策を見つけたらそれを投稿してください、そうすれば私はそれを使うことができます。

于 2013-03-14T05:23:55.983 に答える
0

あなたの質問から私が理解しているのは、SQLite データベースを表示する方法に関するあなたの小さな誤解です。そのため、データベース ファイルを表示する必要がある場合は、データベースをアセット フォルダーに保存する必要はありません。データベース ファイルは data>data> にあります。アプリケーション パッケージ>データベース。デバイスからファイルをプッシュして表示できます。したがって、データベースを表示する必要がある場合は、この質問に対する私の回答に従ってください。データベースを表示する方法を簡単に説明しました。

于 2015-07-01T05:10:50.810 に答える