2011-02-07 9 views
12

私は、アプリをいくつか試してもログインに失敗した場合、自動的にすべてのデータを削除するように設定できるようにするアプリを開発しています環境設定とデータベース。自分のアプリケーションデータをプログラムでクリアする

これを行う簡単な方法はありますか、アプリが使用するすべてのものを手動でリセットするコードを書く必要がありますか?この

答えて

6

を持つ任意の助け

おかげでこれを行うか、私は手動でアプリを使用して、すべてをリセットするためにコードを記述する必要が行う簡単な方法はあります。

アプリで使用するすべてのものを手動でリセットするコードを書く必要があります。これはほんの一握りのファイルを削除するだけのことです。データベースを削除する前に、データベースが閉じていることを確認してください。

+0

涼しいおかげで助けを求めて、それはあなたがリンクを参照することができます場合 – Boardy

+0

かもしれないと思ったし、それはあなたのデータをクリアする最も簡単な方法が表示されますhttp://stackoverflow.com/a/42228794/1252158 –

9

このコードを試してください。

public void clearApplicationData() { 
    File cache = getCacheDir(); 
    File appDir = new File(cache.getParent()); 
    if (appDir.exists()) { 
     String[] children = appDir.list(); 
     for (String s : children) { 
      if (!s.equals("lib")) { 
       deleteDir(new File(appDir, s)); 
       Log.i("TAG", "**************** File /data/data/APP_PACKAGE/" + s + " DELETED *******************"); 
      } 
     } 
    } 
} 

public static boolean deleteDir(File dir) { 
    if (dir != null && dir.isDirectory()) { 
     String[] children = dir.list(); 
     for (int i = 0; i < children.length; i++) { 
      boolean success = deleteDir(new File(dir, children[i])); 
      if (!success) { 
       return false; 
      } 
     } 
    } 

    return dir.delete(); 
} 
+0

とは何ですか& &? –

+0

@HeenaAroraは&&を意味します –

関連する問題