1

したがって、これはこの質問のフォローアップです ( Ship an application with the database )

その質問を見ると、Android で SQLite データベースを取得するために考えられる方法は 3 つしかありません。

  1. 設計時に Asset フォルダーに配置し、インストール時に data フォルダーにコピーします。
  2. SQLiteOpenHelper を使用して、インストール時に生成します
  3. アプリのインストール後にデータベースをダウンロードします。

したがって、解決策 1 と 2 を使用すると、2 倍のディスク容量を消費することになると思われます。解決策 1 はデータベースを複製することを意味し、解決策 2 はデータベースを持つことを意味しますが、データをスクリプト化するためのスクリプトも格納する必要があります (おそらくデータベースと同じ大きさになります)。

解決策 3 を試してみますが、Web から自由にアクセスできるデータベースを配置する場所がありません。また、Android の初心者であり、方法がよくわかりません (おそらく数週間後)。

ソリューション 3 を使用しない限り、インストール時にデータベースを必要とする Android アプリは、最初に入力されたデータの 2 倍の初期スペースを必要とするというのは本当ですか? これを回避する他の解決策はありますか?

4

1 に答える 1

4

したがって、解決策 1 と 2 を使用すると、2 倍のディスク容量を消費することになると思われます。

APK ファイルは ZIP ファイルであり、圧縮されているため、「二重」という表現は誇張されている可能性があります。しかし、はい、余分なディスク容量を消費します。

解決策 1 は、データベースを複製することを意味します

「複製」が「コピー」を意味する場合、はい。SQLiteAssetHelperがこれを処理します。

解決策 3 を試してみますが、Web から自由にアクセスできるデータベースを置く場所がありません。

Play ストアでの配布を計画している場合は、アプリを販売および宣伝するために Web サイトが必要です。この場合、独自の Web サイトでデータベースをホストできます。

独自の配布チャネルを通じて配布することを計画している場合は、ダウンロード用の APK 自体をホストする Web サイトが必要です。その場合、データベースもホストできます。

アプリを配布する予定がない場合は、容量の消費は自分にしか影響しないため、心配する必要はほとんどありません。

これを回避する他の解決策はありますか?

Play ストア経由でのみ配信する予定の場合は、拡張ファイルをご覧ください。ダウンロード ロジックは引き続き必要ですが、Play ストアがファイルをダウンロードしてくれる場合もあります。

于 2013-04-29T13:33:55.110 に答える