2011-02-07 9 views
12

Pracuję nad aplikacją, w której chcę zezwolić użytkownikowi na skonfigurowanie, jeśli nie uda się zalogować po kilku próbach w aplikacji, spowoduje to automatyczne usunięcie wszystkich danych, w tym preferencje i bazy danych.Wyczyść moje własne dane aplikacji programowo

Czy istnieje prosty sposób, aby to zrobić, czy muszę napisać kod, aby ręcznie zresetować wszystko, czego używa aplikacja.

Dzięki za wszelką pomoc z tym

Odpowiedz

6

Czy istnieje prosty sposób to zrobić, czy muszę pisać kod ręcznie zresetować wszystko Aplikacja korzysta.

Musisz napisać kod, aby ręcznie zresetować wszystko, czego używa aplikacja. To powinno być po prostu usunięcie kilku plików. Upewnij się, że twoja baza danych jest zamknięta, zanim spróbujesz ją usunąć.

+0

chłodne dzięki za pomoc, myślałem, że może być w przypadku – Boardy

+0

Można odwołać się do łącza i pokaże wam najprostszy sposób, aby usunąć dane http://stackoverflow.com/a/42228794/1252158 –

9

spróbuj tego kodu.

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

co to jest & &? –

+0

@HeenaArora oznacza to && –

Powiązane problemy