본문 바로가기

Android

[18일차] 파일

안드로이드 데이터 저장하는 방법.



캐싱하는게 정확히 무엇을 저장하는 건가 ? 


파일을 쓰고 읽어오는 방법. 



File  - 논리적인 데이터의 묶음.


Block 단위로 


파일 시스템 FS , 


hierarchy


path가 파일을 나타내는 유니크한   ID 가 된다. 


스키마  - 같은 형식으로 되있는 것을 모아놓은것.

이런방식으로 DataBase라고 한다. 



안드로이드만 특화되어있는 것 중 하나가 ContentProvider 라고 한다. 

앞에 있는 것들은 내가 만들어서 내가 쓰는거다. 

그런데 그렇지 않고 다른 앱에서 내가 만든 데이터를 쓰고 싶을 때 사용한다. 

일반적으로 DataBase로 구현을 한다. 이건 모듈이다. 모듈이다. 모듈이다.


File 객체는 사실 path를 메인데이터로 가지고 있기 때문에 실제 파일을 가지고 있는 것은 아니다. 

FileOpen을 하면 FileDescripter를 통해서 파일을 가지고 있는다. 

파일은 파일path를 다루는 거고 , FileDescrpter가 실제 파일을 가지고 있다. 

내가 특정한 파일을 전달하고 싶으면 File객체 만들어서 전달하면 된다. 

FileDescripter는 내가 데이터를 읽거나 쓸때만 쓴다. 



기본적으로 InputStream과 OutputStream은 close를 해줘야 한다. 

파일 이동은 path를 바꿔주는 작업만 하는것이다. 

안드로이드는 Filepath 가 길면 죽는다. 이런 리미테이션이 있긴 하다. 


selfCheckPermission 체크 해줘야 된다. 


아니면 targetsdk버전을 낮춰야 한다. RuntimePermission은 이렇게 한다. 


앱의 캐시 디렉토리를 만들고 싶을 때는 pakage 명을 가지고 잇는 Context를 만들어서 사용한다. 


새로운 파일이 생성,소멸,변경을 하면 알아야 한다. 그런거를 할 때 사용되는게 File Observer이다. 

파일 저장되는 위치에 Observer를 걸어놓는다. 

File의 디렉토리는 


'Android' 카테고리의 다른 글

[18일차] SharedPreferences  (0) 2016.08.10
[18일차]퍼미션  (0) 2016.08.10
[17일차] Glide 네트워크 상태처리, NSD  (0) 2016.08.09
[17일차] OkHttp 외 라이브러리들  (0) 2016.08.09
[16일차] 이미지 리퀘스트  (0) 2016.08.08