Я хочу нажать на предпочтение, чтобы очистить кеш моего приложения. Я сделал это, но это не работает, и есть ошибки. Как я могу исправить?Clear Cache App: Почему это не работает?
Это целый источник. Большое спасибо!!!!!!
public class Impo extends PreferenceActivity{
Preference info;
Intent intent;
Preference cache;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.addPreferencesFromResource(R.xml.layout);
info= (Preference) this.findPreference("info");
info.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
intent = new Intent(getBaseContext(), Info.class);
startActivity(intent);
return true;
}});
cache = (Preference)this.findPreference("cache");
cache.setOnPreferenceClickListener(new OnPreferenceClickListener() {
}
}
public static void clearCache(final Context context)
{
final File cache=context.getCacheDir();
final File appDir=new File(cache.getParent());
if(appDir.exists())
{
// you might be able to change this whole code block to just "deleteDir(appDir)"
final String[] children=appDir.list();
for(final String childFilePath : children)
if(!childFilePath.equals("lib"))
{
deleteDir(new File(appDir,childFilePath));
Log.i("TAG","**************** File /data/data/APP_PACKAGE/"+childFilePath+" DELETED *******************");
}
}
}
public static boolean deleteDir(final File dir)
{
if(dir==null)
return true;
if(dir.isDirectory())
{
final String[] children=dir.list();
for(final String childFilePath : children)
{
final boolean success=deleteDir(new File(dir,childFilePath));
if(!success)
return false;
}
}
return dir.delete();
}
}
.......................................
"это не работает, и есть ошибки". Итак, расскажите нам, какие ошибки вы получите, сообщите нам, что вы звоните в Log show, расскажите нам, что не работает. – Yojimbo
в порядке. Eclipse отмечает ошибку здесь File appDir = new File (cache.getParent()), здесь}, здесь public static boolean deleteDir (File dir), и здесь if (dir! = null & & dir.isDirectory()) { –
do вы импортируете класс File? – VinceFR