2011-02-07 27 views
12

Tôi đang phát triển một ứng dụng mà tôi muốn cho phép người dùng có thể thiết lập nếu họ không đăng nhập sau một vài lần thử, ứng dụng sẽ tự động xóa tất cả dữ liệu bao gồm các sở thích và cơ sở dữ liệu.Xóa dữ liệu ứng dụng của riêng tôi theo cách lập trình

Có cách nào đơn giản để thực hiện việc này hay tôi phải viết mã để đặt lại thủ công mọi thứ mà ứng dụng sử dụng.

Nhờ sự giúp đỡ với điều này

Trả lời

6

Có một cách đơn giản để làm được điều này hay tôi phải viết mã để đặt lại tất cả những gì ứng dụng sử dụng.

Bạn phải viết mã để đặt lại thủ công mọi thứ mà ứng dụng sử dụng. Đây chỉ là vấn đề xóa một số tệp. Hãy chắc chắn rằng cơ sở dữ liệu của bạn bị đóng trước khi bạn thử xóa nó.

+0

mát nhờ sự giúp đỡ, nghĩ rằng có thể là trường hợp – Boardy

+0

Bạn có thể tham khảo liên kết và nó sẽ hiển thị cho bạn một cách đơn giản nhất để xóa các dữ liệu http://stackoverflow.com/a/42228794/1252158 –

9

thử mã này.

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

& & là gì? –

+0

@HeenaArora nghĩa là && –

Các vấn đề liên quan