21

インタビューで、Android アプリの sqlite db の最大サイズを設定する方法を尋ねられました。また、最大サイズに達した場合、どのように処理できますか?

EDIT : 以下の Marina Lynn の回答は、この質問に受け入れられるようです。しかし、データベースのサイズが指定した制限に近づいたときにトリガーされるある種のリスナーはありますか? (またはこのようなもの)

4

3 に答える 3

17

.setMaximumSize()最初に、前の回答で述べたように、最大​​データベース サイズの使用を設定します。

SQLiteFullException次に、データベース ファイルが最大ページ数 * ページ サイズよりも大きくなると、Android がスローします。SQLiteFullExceptionですRuntimeException。それを処理して関連する応答を送信する場合は、次のようにします。

try {
     getContentResolver().update(myEntity.CONTENT_URI, values, where, null);
} catch (SQLiteFullException e) {
    Log.w(TAG, "Exception when updating ...", e);
}
于 2012-09-01T18:27:03.223 に答える
9

使用可能なストレージを除いてデータベースのサイズに制限はありませんが、データベースを最大サイズに設定できますSQLiteDatabase.setMaximumSize()。制限に達した場合は、データベースを縮小する必要があります。または、データベースを内部メモリから外部ストレージに移動して、空き領域を増やし、データベースの最大サイズを増やすこともできます。ただし、データベースが重いとユーザーエクスペリエンスが低下するため、2番目のオプションは理論的と見なします。専用のデータベースサーバーではなく、モバイル環境にいることを忘れないでください。

于 2012-07-24T06:50:16.287 に答える