1

Android uygulamamın önbelleğini temizleyecek bir uygulama yerleştirmek istiyorum. Bu mümkün olup olmadığını bilen var mı?** EDIT ** Android uygulamasında bir önbellek temizleme düğmesi nasıl ayarlanır

Düzenleme: Bu benim uygulamada kullandıkları, benim MainActivity kodudur. Sonra kendi uygulamanın önbelleğini silmek istiyorsanız

package nl.giuliandenicola.giuliansportfolio; 

import android.net.ConnectivityManager; 
import android.net.NetworkInfo; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 



public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     WebView webView=(WebView) this.findViewById(R.id.webView); 

     webView.getSettings().setAppCacheMaxSize(5 * 1024 * 1024); // 5MB 
     webView.getSettings().setAppCachePath(getApplicationContext().getCacheDir().getAbsolutePath()); 
     webView.getSettings().setAllowFileAccess(true); 
     webView.getSettings().setAppCacheEnabled(true); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); // load online by default 

     if (!isNetworkAvailable()) { // loading offline 
      webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 
     } 

     webView.loadUrl("http://google.com"); 
    } 

    private boolean isNetworkAvailable() { 
     ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); 
     NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 
     return activeNetworkInfo != null && activeNetworkInfo.isConnected(); 
    } 
} 

cevap

1

basitçe başka bir uygulama

<uses-permission android:name="android.permission.CLEAR_APP_CACHE"/> 

çek önbelleğini silmek için Manifest'inizde dosyasında cache dizinine

public static void deleteCache(Context context) { 
    try { 
     File dir = context.getCacheDir(); 
     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(); 
    } 
    else if(dir!= null && dir.isFile()) 
     return dir.delete(); 
    else { 
     return false; 
    } 
} 

silmek Daha fazla bilgi için cevaplama https://stackoverflow.com/a/9073473/2826147

+0

Ve nasıl yapacağım? "OnClick" işlevi var mı? –

+0

bu yöntemi ** OnClick ** işlev pasing parametrenizde çağırır. –

+0

Bu kodu bekleyin, MainActivity'ın içine yerleştirmem gerekiyor mu? (Sadece android stüdyosunda başlıyorum. –