0

sqlite db が data/data/packagename/database フォルダーにコピーされると、25mb を消費する 7mb のアプリがあります。これは、質素なエミュレーターでは大きすぎて、ユーザーにとって不快になる可能性があります。

sqlite dbをSDカードに直接入れる方法はありますか? それともアプリ全体?インストール後にユーザーに無理やり渡してもらうのは遅すぎるように思えますし、自分でデイベースをホストすることもできません。

4

1 に答える 1

1

sqlite dbをSDカードに直接入れる方法はありますか?

おそらく、これを処理するための mod を作成できSQLiteAssetHelperます。デフォルトでは、データベースは内部ストレージの通常の場所に配置されます。残念ながら、現時点では、この変更を行うにはかなりの手術が必要になりますが、それを少し簡単にするために機能リクエストを提出しました.

それともアプリ全体?

を使用android:installLocation="preferExternal"できますが、尊重されない場合があります。そして、それはデータベースには影響しません -- getFilesDir()getDatabaseDir()、および kin は常に内部ストレージにあります。

また、これはすべて実際には Android 1.x/2.x デバイスのみの問題であることに注意してください。それよりも新しいものはすべて、内部ストレージと外部ストレージが 1 つのパーティション上にあると見なす必要があるため、スペースを共有します。

于 2012-06-30T14:19:34.670 に答える