8

私はdatabaseいくつかを保存するために使用していdataます。ただし、ユーザーがApps Settings に移動し'clear data'てアプリ設定のボタンを押すと、データベース内のデータが削除され、これを回避できます。'clear data'アプリの設定でアプリのボタンを無効にするか、その他の提案を行うことはできますか....

4

5 に答える 5

3

私が知っていることから、アプリのデータが消去されないようにする直接的な方法はありません。

ただし、データを外部ストレージ (SD カード) のファイルに保存し、アプリを起動するたびにそのファイルが存在するかどうかを確認し、その内容をデータベースにマージすることができます。これはもちろん、ユーザーが手動で SD からバックアップ ファイルを削除したり、別の SD を挿入したり、SD を取り外したり、デバイスをマウントされたドライブとしてコンピューターに接続したりしてアプリを起動した場合には機能しません。

于 2013-03-04T10:11:53.197 に答える
3

Android は、アプリがそのデータを削除するのが好きかどうかを尋ねません。ユーザーに提供されるシステム機能です。ユーザーはアプリを完全にアンインストールする権限を持っています。

そのため、別の場所でデータベース ファイルを作成/開きます。

データの耐久性:

  1. App cache dir : 内部メモリが少なくなると削除されます。
  2. アプリ データ ディレクトリ: ユーザーがアプリ データを消去すると削除され、アプリはアンインストールされます。
  3. 外部ストレージ : ユーザーはいつでも削除でき、ユーザーはストレージを削除することもできます。
  4. バックアップ マネージャー: Android の新しいバージョンでは、BackupManager を介してクラウドにデータをバックアップするアプリが提供されています。
  5. リモート サーバー : 削除されるまでサーバーに残ります。
于 2013-03-04T10:12:59.867 に答える
1

方法はあると思いますが、まだ試していません。DB ファイルをアセット フォルダーに保存し、利用可能かどうかを確認します。それ以外の場合は、https: //stackoverflow.com/a/9109728/265167 のようにします(DataBaseHelper クラスに注意してください)。ただし、この方法を行うと、すべての「更新データ」が失われます。

于 2015-05-28T02:34:40.987 に答える
0

最後に、いくつかの解決策を見つけました。アプリケーションをシステム管理者にすると、データを消去してアプリをアンインストールできなくなります

于 2014-06-24T09:57:28.283 に答える