Notice
Recent Posts
Recent Comments
Link
투케이2K
339. (AndroidStudio/android/java) [유틸 파일] 파일 앱 캐시 및 데이터 삭제 실시 - File App Cache 본문
Android
339. (AndroidStudio/android/java) [유틸 파일] 파일 앱 캐시 및 데이터 삭제 실시 - File App Cache
투케이2K 2022. 9. 16. 10:36[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : java
[소스 코드]
// TODO [앱 캐시 초기화 수행 실시]
public static void clearAppCache(Context mContext){
/**
* // -----------------------------------------
* [clearAppCache 메소드 설명]
* // -----------------------------------------
* 1. 애플리케이션 앱 캐시 삭제 수행 메소드
* // -----------------------------------------
* 2. 호출 방식 : C_Util.clearAppCache(A_Main.this);
* // -----------------------------------------
* 3. 확인 방법 : 애플리케이션 설정 >> 캐시 용량 확인
* // -----------------------------------------
* */
try {
File cache = mContext.getCacheDir();
if(cache != null && cache.exists() == true){
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[C_Util >> clearAppCache() :: 앱 캐시 폴더 존재 확인 및 삭제 수행]");
Log.i("","\n"+"[url :: "+String.valueOf(cache.toURI())+"]");
Log.i("","\n"+"[getName :: "+String.valueOf(cache.getName())+"]");
Log.i("","\n"+"[cacheList :: "+String.valueOf(Arrays.toString(cache.list()))+"]");
Log.w("//===========//","================================================");
Log.i("---","---");
try {
// [앱 캐시 삭제 수행 실시]
cache.delete();
deleteCache(cache);
}
catch (Exception ex){
ex.printStackTrace();
}
}
else {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_Util >> clearAppCache() :: 앱 캐시 폴더 존재 하지 않음]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
}
catch (Exception e){
e.printStackTrace();
}
}
// TODO [앱 캐시 및 데이터 초기화 수행 실시]
public static void clearAppData(Context mContext){
/**
* // -----------------------------------------
* [clearAppData 메소드 설명]
* // -----------------------------------------
* 1. 애플리케이션 앱 캐시 및 데이터 삭제 수행 메소드
* // -----------------------------------------
* 2. 호출 방식 : C_Util.clearAppData(A_Main.this);
* // -----------------------------------------
* 3. 확인 방법 : 애플리케이션 설정 >> 데이터, 캐시 용량 확인
* // -----------------------------------------
* */
try {
File cache = mContext.getCacheDir();
File appDir = new File(cache.getParent());
if(appDir != null && appDir.exists() == true){
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[C_Util >> clearAppData() :: 앱 캐시 및 데이터 폴더 존재 확인 및 삭제 수행]");
Log.i("","\n"+"[url :: "+String.valueOf(appDir.toURI())+"]");
Log.i("","\n"+"[getName :: "+String.valueOf(appDir.getName())+"]");
Log.i("","\n"+"[cacheList :: "+String.valueOf(Arrays.toString(appDir.list()))+"]");
Log.w("//===========//","================================================");
Log.i("---","---");
try {
// [앱 캐시 및 데이터 삭제 수행 실시]
appDir.delete();
deleteCache(appDir);
}
catch (Exception ex){
ex.printStackTrace();
}
}
else {
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[C_Util >> clearAppData() :: 앱 캐시 및 데이터 폴더 존재 하지 않음]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
}
catch (Exception e){
e.printStackTrace();
}
}
// TODO [앱 캐시 초기화 로직 메소드]
public static boolean deleteCache(File dir){
// [파일이 Null 인지 Null 이 아니라면 폴더 인지 체크 실시]
if(dir != null && dir.isDirectory()){
// [Null 도 아니고 폴더도 아니라면 폴더안 파일 리스트를 호출]
String[] children = dir.list();
// [파일 리스트를 반복문으로 호출]
for(String child : children){
try {
// [파일 리스트중 폴더가 존재할 수 있기 때문에 재귀호출]
boolean isSuccess = deleteCache(new File(dir, child));
if(!isSuccess){
return false;
}
}
catch (Exception e){
e.printStackTrace();
return false;
}
}
}
return dir.delete();
}
반응형
'Android' 카테고리의 다른 글
Comments