1. Camera Process


2. 카메라 사용 Process 2가지 방법
    첫번째. 개발한 앱에서 카메라 API를 이용해서 직접 사진을 찍고 사진을 얻어 오는 방법
            정점, 사진찍기 속도가 빠르다.
            단점, 폰 기종마다 카메라 성능등이 달라 어려움이 많다.
    두번째-(thumbnail방식). 카메라 APP을 이용하는 방법 
            a. 진행 과정
               1. 개발한 앱 <-> 카메라 APP <-> 카메라
            b. 진행 과정 상세
               1. 개발한 앱에서 카메라 APP에 사진찍어달라 요청
               2. 카메라 APP은 카메라를 통해 사진을 찍고, 사진을 받아온다.
               3. 카메라 APP은 전달받은 사진을 다시 개발한 앱으로 전송한다.
            c. 특징
               1. 위와 진행과정 같은 Process방식은 INTENT를 이용해야 된다.
               2. INTENT의 용량은 제한적이다. 그래서 thumbnail방식으로만(작은size) 주고 받는다.
    두번째-(Provider방식). 카메라 APP을 이용하는 방법 
            - 카메라 원본사이즈를 원한다면 Provider방식으로 구현해야 된다.
            a. 진행 과정
               1. 개발한 앱 -> 저장소에 임시로 파일 생성
               2. 개발한 앱 <-> 카메라 APP <-> 카메라
            b. 진행 과정 상세
               1. 개발한 앱에서 저장소에 임시파일 하나를 생성 후 image_uri를 얻어온다.
               2. 개발한 앱에서 카메라 APP에  사진찍어달라 요청
                  - 이때 image_uri를 전송하면서 사진을 이곳에 저장해달라고 요청한다.
               3. 카메라 APP은 카메라를 통해 사진을 찍고, 사진을 받아온다.
                  - 받아온 사진을 image_uri에 저장 한다.
               4. 카메라 APP은 image_uri에 저장후 개발한 앱으로 결과를 전송한다.
               5. 개발한 앱은 image_uri에서 사진을 불러와 사용한다.

3.  File Provider 란
               1. 임시로 다른 APP에게 홈디렉토리(홈저장소)에 접근할 수 있도록 권한을 부여하는 역할을 담당
    File Provider 특징
               1. 저장소는 개발한 앱에서는 홈디렉토리와 같다. (앱에서 마음대로 접근가능)
               2. 카메라 APP은 개발한 앱.홈디렉토리에 접근 할 수 없다.
               3. 이때 카메라 APP에 임시권한부여를 해줘야 된다.
               4. 임시권한부여를 위해서 File Provider를 제공한다.
               5. File Provider를 이용해서 권한이 부여된 image_url을 만들어 카메라 APP으로 전송해준다.
               6. 카메라 APP은 권한 부여받은 image_url에 접근할 수 있다.

    -  기본적으로 카메라 미리보기는 사진이미지가 깨져 보인다.
    -  원본이미지를 보고 싶다면 (간략설명)
         1. 카메라가 사진을 찍은 후 -> 카메라 APP에서 저장소에 저장 후 -> 앱에서  저장소에있는 원본이미지 조회
    -  원본이미지를 보고 싶다면 (상세설명) - Provider 이용
         1. 개발한 앱에서 Provider를 이용해서  저장소_image_Uri생성
         2. 개발한 앱에서 > 카메라 APP을 호출 시  저장소_image_Uri 전송
         3. 카메라 APP이 카메라를 구동시킨다.
         4. 카메라에서 사진을 찍은 후 사진을 카메라 APP으로 전송한다.
         5. 카메라 APP은  저장소_image_Uri  를 이용해 사진을 저장한다.
         6. 개발한 앱은 저장소_image_Uri 에서 사진을 불러드릴 수 있다.

4. 저장소 종류
      1. 일반저장소와 케시저장소 2가지 이다.
      2. 일반저장소
          - APP 삭제 되지 않는 이상 일반저장소의 파일들은 계속 유지 된다.
      3. 케시저장소(임시저장소)
          - 앱이 실행되고 있을때는 유지가 된다.
          - 앱이 종료되었을때는 clear될 수 도 있다.
          - Android os는 기타APP들이 수행도중 저장소가 부족하면 종료된 APP의 캐시저장소를 clear한다.
  

Posted by 농부지기
,