Очистка кеша в андроиде - PullRequest
1 голос
/ 22 декабря 2011

Я делаю веб-приложение в Android / Chrome с использованием фреймворка, аналогичного тому, в котором я добавляю / редактирую или делаю пользователей. Я отправляю ajax вызов из jquery, используя синтаксис

$.ajax({
        type: "GET",
        url: url of webserice here,
        contentType: "application/json; charset=utf-8",
        success: CallSucceed,
        dataType: "json",
        failure: CallFailed
    });

После добавления нового пользователя сетка, отображающая список пользователей, не обновляется. однако, если я захожу в настройки на моем устройстве Android и очищаю кеш моего веб-приложения и снова захожу на страницу пользователя, вновь добавленный пользователь начинает показывать. Я перепробовал много вещей, но ничего не работает до тех пор, пока я не очищу кеш. Эта проблема возникает только на экране, где я отправляю вызов веб-службе, но когда я отправляю вызовы в локальную базу данных sqllite, никаких проблем не возникает .....

1 Ответ

0 голосов
/ 12 мая 2012

Для очистки кэша приложения вызывайте эту функцию там, где хотите. (Best way onDestory ())

trimCache (это);

public static void trimCache(Context context) {
    try {
       File dir = context.getCacheDir();
       if (dir != null && dir.isDirectory()) {
          deleteDir(dir);
       }
    } catch (Exception e) {
       // TODO: handle exception
    }
 }

 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;
          }
       }
    }

    // The directory is now empty so delete it
    return dir.delete();
 }
...