PhoneGapとAndroidを使用してユーザーデータを消去したり、キャッシュをクリアするにはどうすればよいですか?以下のコードは動作しません。変更はどこで行うべきですか? HTML側かJava側か?また、AJAXリクエストにアクセスしています.PUTメソッドの2回目の試行で、データが更新されないため、主な疑いがAndroidのユーザーデータです。 AJAXリクエストにcache: false
を追加して、キャッシュを保存しないようにしました。しかし、それはまだ動作しません。どのようにこれを修正するための任意のアイデア?PhoneGapとAndroidでキャッシュを消去するandroid
私はこのコードを別の質問に基づいています。
public static void deleteCache(Context context) {
try {
File dir = context.getCacheDir();
if (dir != null && dir.isDirectory()) {
deleteDir(dir);
}
} catch (Exception e) {}
}
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();
}
したがって、私のPOSActivity.javaは基本的に次のようになります。
public class PocActivity extends DroidGap {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
super.setIntegerProperty("splashscreen", R.drawable.is);
super.setIntegerProperty("loadUrlTimeoutValue", 60000);
deleteCache(this);
super.loadUrl("file:///android_asset/www/index.html");
}
public static void deleteCache(Context context) {
try {
File dir = context.getCacheDir();
if (dir != null && dir.isDirectory()) {
deleteDir(dir);
}
} catch (Exception e) {}
}
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();
}
}
キャッシュ:falseのため、同じ応答を2度受け取らないようにするため、AJAX putリクエスト自体のデバッグを開始します - jQueryは自動的にそのリクエストにタイムスタンプを追加してキャッシュされないようにします –
...また、上記のコードをAndroidデバイスの内部キャッシュをクリアするために使用しました。そのコードはうまく動作すると思います –