Android Studio

[Android Studio] 카메라와 앨범 사용하기 위한 xml 파일, 메니페스트파일, 라이브러리 환경설정

Mei99 2024. 6. 14. 16:55

1. res > xml 파일 추가하기

 

 

 

생성한 xml 파일에 아래 코드 넣어주기

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <root-path
        name="root"
        path="." />

    <cache-path
        name="cache"
        path="." /> <!--Context.getCacheDir() 내부 저장소-->
    <files-path
        name="files"
        path="." /> <!--Context.getFilesDir() 내부 저장소-->

    <external-path
        name="external"
        path="."/>  <!--  Environment.getExternalStorageDirectory() 외부 저장소-->
    <external-cache-path
        name="external-cache"
        path="."/> <!--  Context.getExternalCacheDir() 외부 저장소-->
    <external-files-path
        name="images"
        path="Pictures" /> <!--  Context.getExternalFilesDir() 외부 저장소-->
</paths>

 

 

 

2. manifests > AndroidManifest.xml 권한 추가하기

 

2-1. <manifest xmlns:android=....> 아래에 아래 태그를 넣어준다.

<uses-feature android:name="android.hardware.camera"
    android:required="true"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 

 <uses-feature android:name="android.hardware.camera"
    android:required="true"/> 카메라 기능 필요

<uses-permission android:name="android.permission.CAMERA"/> 사진찍기, 비디오 녹화하기 권한 요청

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 외부 저장소 데이터 읽기 권한 요청

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 외부 저장소에 파일 저장 권한 요청



2-2. application 태그 안에 <provider....> </ provider>  태그 넣어주기

<provider
    android:authorities="com.yoon.cameraapp.fileprovider"
    android:name="androidx.core.content.FileProvider"
    android:exported="false" 
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/fileprovider"/>
</provider>
  • android:exported="false" 앱 내에서만 접근 가능(프라이버시를 위해 노출 안함, true일 경우 다른 앱에서도 접근 가능)
  • android:grantUriPermissions="true" 다른 앱에서도 URI 권한 부여




 

3. Gradle Scripts > build.gradle.kts(Module:app) 라이브러리 추가

implementation("commons-io:commons-io:2.4")