Android Studio

[안드로이드 ] android file 처리 정리

i-moo 2017. 4. 12. 18:23
반응형

앱 내부 메모리 (Internal Memory)

- 캐시 폴더 : this.getCacheDir()

4.0.3 버전 경로 : /data/data/패키지명/cache/파일명

- 파일 폴더 : this.getFilesDir()

4.0.3 버전 경로 : /data/data/패키지명/files/파일명

- 직접 만드는 폴더 : this.getDir("폴더명", mode) -> mode에는 0 또는 MODE_PRIVATE 입력

4.0.3 버전 경로 : /data/data/패키지명/app_폴더명/파일명

-> https://developer.android.com/reference/android/content/Context.html#getDir(java.lang.String, int)


createTempFile(String prefix, String suffix, File directory)

prefix 는 3글자 이상, suffix는 확장자개념(null일 경우 :  ".tmp"), 

directory는 저장할 폴더(null일 경우 : 눈으로 확인 가능.

4.0.3 버전 경로 : /sdcard/파일명

)

prefix : test, suffix : null = 파일 명 : test(...).tmp

prefix : test, suffix : .txt = 파일 명 : test(...).txt

prefix : test, suffix : txt = 파일 명 : test(...)txt


앱 내부 파일 만들기

1. File file = File.createTempFile("test",".txt", this.getDir("폴더명", 0));

-> 만들어지는 경로 : 4.0.3 버전 경로 : /data/data/패키지명/app_폴더명/test(temp번호).txt -> (test1837506.txt)

2. File path = this.getDir("폴더명", 0);

    File file = new File(path, "test.txt");

-> 만들어지는 경로 : 4.0.3 버전 경로 : /data/data/패키지명/app_폴더명/파일명


FileOutputStream fos = new FileOutputStream(파일);


앱 외부 메모리 (External Memory)


4.0.3 : getExternalFilesDirs , listView.setNestedScrollingEnabled(false);  -> NoSuchMethodError

Environment.getExternalStorageDirectory().getAbsolutePath();         -> /mnt/sdcard

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath(); -> /mnt/sdcard/Download

7.0 : getExternalFilesDirs(ContactsContract.Directory.PACKAGE_NAME); 

-> [0] : /storage/emulated/0/Android/data/패키지명/files/packageName

-> [1]  : /storage/외장sdcard/Android/data/패키지명/files/packageName

Environment.getExternalStorageDirectory().getAbsolutePath(); -> /storage/emulated/0

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath(); -> /storage/emulated/0/Download


getExternalFilesDir() 앱을 삭제하면 이 메소드를 사용하여 저장한 모든 파일은 사라짐. 이유는 그 패키지를 가진 폴더가 사라짐.










반응형