Программная очистка данных приложений AndroidJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Программная очистка данных приложений Android

Сообщение Anonymous »

У меня есть приложение с SharedPreferences. Я хотел бы очистить все данные приложения одним нажатием кнопки, чтобы приложение запускалось заново, как при первой установке.

Я пробовал:

ClearData.java

Код: Выделить всё

public class ClearData extends Application
{
private static ClearData instance;

@Override
public void onCreate() {
super.onCreate();
instance = this;
}

public static ClearData getInstance() {
return instance;
}

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/mypackage/" + 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();
}
}
Main.java

Код: Выделить всё

btnLogout.setOnclickListener(new View.OnClickListner(
{
@Override
public void onClick(View v)
{
ClearData.getInstance().clearApplicationData(); // Gettin error
}
});
Но я получаю исключение NullPointerException в строке выше

Подробнее здесь: https://stackoverflow.com/questions/234 ... ly-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»