ログイン

Androidアプリ開発~カメラアプリ編3~

 2020.9.15 ゴリラーブログ ブログ 異世界ゴリラー新里

 

異世界ゴリラー新里です。

 

Androidのカメラアプリ開発も3回目となる今回で完成まで持っていこう!

と、考えていた時期が私にもありました・・・書き始める前まではorz

 

思った以上に長くなってしまったので断念して分割です。

いつ完成まで持っていけるのやら( ̄▽ ̄;)

 

さて、今回はカメラで撮った撮像を保存する!ための前準備まで進めようと思います(笑)

 

External StrageとFileProviderをパーミッションへ追加

 

今回、画像の保存場所として、External Strage(外部ストレージ領域)を使います。

その為、「WRITE_EXTERNAL_STORAGE」のPermissionを追加する必要があります。

また、アプリ間でのデータ共有を可能にするContentProviderのサブクラスであるFileProviderも使います。

 

FileProviderを使う理由は、デフォルトのカメラアプリが撮影した画像を

フォトアプリで引き出す様にする為、共有メモリ領域に保存するからです。

 

FileProvider tag を AndroidManifest に追加します。

 

    
    <uses-permission android:name="android.permission.CAMER"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> // 追加
     ・・・
    <application
    	android:allowBackup="true"
    	 ・・・
    	android:theme="@style/AppTheme">

        ////// ↓↓追加↓↓//////
        <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="${applicationId}.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_path"/>
        </provider>
        ////// ↑↑追加↑↑//////

        <activity android:name=".MainActivity">

 

 

android:resource=”@xml/provider_path”を作る

上記のproviderタグの最後に”@xml/provider_path”があります。

これは、Project内のxmlフォルダにある、provider_pathファイル(xml)を参照を意図しています。

 

現状、xmlフォルダもprovider_pathファイルも無いので作成します。

まずは、下記の図の様にxmlフォルダを作成します。

 

1.Project内のresを右クリック

2.New→Directoryを選択

 

3.ポップアップが表示されるので、「xml」と入力してOKを押す

 

次に作成したxmlフォルダ内に、provider_path(xmlファイル)を作ります。

 

4.作成したxmlフォルダを右クリック

5.New→XML Resource Fileを選択

 

6.File nameに「provider_path」を入力してOKを押す。

 

すると、provider_path.xmlファイルが作成され画面が開くと思います。

開いた画面の右上にある、splitボタンを押して、xmlコードを表示します。

 

provider_path.xmlのxmlコードが表示されたら下記のコードと置き換えます。

元々書かれていたコードは全て削除して、下記コードをコピーして貼り付けると良いです。

 

    <?xml version="1.0" encoding="utf-8"?>
    <paths xmlns:android="http://schemas.android.com/apk/res/android">
        <external-path name="external_files" path="."/>
    </paths>

 

これで外部ストレージを使う準備は整いました。

あとは、撮像を保存する処理を書くだけ!とは行かない・・・(笑)

 

詳しくは次回で説明するとして、今回はここまでとします!

 

 

© 2020 Mountain Gorilla Co., Ltd. 

プライバシーポリシー

%d人のブロガーが「いいね」をつけました。