sqlite db が data/data/packagename/database フォルダーにコピーされると、25mb を消費する 7mb のアプリがあります。これは、質素なエミュレーターでは大きすぎて、ユーザーにとって不快になる可能性があります。
sqlite dbをSDカードに直接入れる方法はありますか? それともアプリ全体?インストール後にユーザーに無理やり渡してもらうのは遅すぎるように思えますし、自分でデイベースをホストすることもできません。
sqlite dbをSDカードに直接入れる方法はありますか?
おそらく、これを処理するための mod を作成できSQLiteAssetHelper
ます。デフォルトでは、データベースは内部ストレージの通常の場所に配置されます。残念ながら、現時点では、この変更を行うにはかなりの手術が必要になりますが、それを少し簡単にするために機能リクエストを提出しました.
それともアプリ全体?
を使用android:installLocation="preferExternal"
できますが、尊重されない場合があります。そして、それはデータベースには影響しません -- getFilesDir()
、getDatabaseDir()
、および kin は常に内部ストレージにあります。
また、これはすべて実際には Android 1.x/2.x デバイスのみの問題であることに注意してください。それよりも新しいものはすべて、内部ストレージと外部ストレージが 1 つのパーティション上にあると見なす必要があるため、スペースを共有します。