2017-11-22 18 views
0

画像を保存するためにXMLパスファイルを使用しますこれをデフォルトのフォルダにする方法がわかりません。私はファイルパスとしてフォルダを書こうとしましたが、そのフォルダはまだ存在していないので、IllegalArgumentExceptionをスローします。はどのように私はこのようなXMLファイルを作成し

答えて

0

まず、実際のパスを他人に隠す目的を共有するために使用します。

FileProviderは、file:/// Uriではなく、ファイルに対してcontent:// Uriを作成することで、アプリケーションに関連付けられたファイルの安全な共有を容易にするContentProviderの特別なサブクラスです。

このファイルはxmlディレクトリに保存する必要があります。あなたはAndroidManifest.xmlを

<application> 
    ... 
    <provider 
     android:name="android.support.v4.content.FileProvider" 
     android:authorities="com.mydomain.fileprovider"//(your projcet package name) 
     android:exported="false" 
     android:grantUriPermissions="true"> 
     <meta-data 
      android:name="android.support.FILE_PROVIDER_PATHS" 
      android:resource="@xml/yourXmlName" /> 
    </provider> 
    ... 
</application> 

をメタデータを追加する必要があり RES-> XML-yourXmlName 今、あなたはこのようにパスを使用することができます。..

File imagePath = new File(Context.getFilesDir(), "Android/data/myApp/files/Pictures"); 
File newFile = new File(imagePath, "default_image.jpg"); 
Uri contentUri = getUriForFile(getContext(), "your_project_package_name", newFile); 

出力は次のようになります。

content://your_project_package_name/my_images/default_image.jpg 

穴のパスを隠す... For Details about it.

+0

ありがとう!私は何をどのように使用すべきですか? –

関連する問題