0

HTML5ベースのWebアプリを開発しており、phonegapまたはsenchaを使用してネイティブアプリとして投稿する予定です。

ローカルアプリのデータを最大2MB(名前と値のペアにすることができます)に保存するものが必要ですが、ストレージは永続的である必要があり、電話の再起動時や工場出荷時のデフォルトにリセットするときに削除しないでください。

andriodのSharedPreferencesとlocalstorageのスコープは何ですか、ユーザーはそれらをクリアできますか、またはそれらの存続期間とはどのような条件下でクリアされますか。

私の他の質問はsqliteについてです、andriod backup mgrはそのバックアップを取り、ユーザーが電話を復元し、sqlitedbをユーザーがクリアできる場合はそれを復元しますか

4

1 に答える 1

0

SharedPreferencesとlocalStorageには、元のアプリケーションからのみアクセスできます。localStorageには通常5MBの制限がありますが、すべての電話にあるわけではなく、それ以上を許可する電話もあります。また、localStorageはAPIレベル7からのみ使用できます。

ユーザーがアプリケーション設定に移動してデータを手動でクリアすると、SharedPreferencesとlocalStorageの両方がクリアされます。

APIレベルが8以上の場合は、アプリケーション専用の外部ファイルディレクトリを使用できます。ユーザーがこのディレクトリのデータをクリーンアップする唯一の方法は、アプリケーションをアンインストールすることです。あなたはこのようにそれへの道を得ることができます:

context.getExternalFilesDir(null).getAbsolutePath();

APIレベルが8未満の場合でも、ストレージに標準のsdCardの場所を使用できますが、ユーザーがアプリケーションをアンインストールした後、ファイルはそこにあります。

したがって、最善の策は、SQLiteデータベースを外部ファイルディレクトリ(APIの最小レベルが8未満の場合はsdCard)に保存することです。

于 2012-05-21T07:03:58.997 に答える