public class FileProvider
extends android.content.ContentProvider
<provider android:name="org.deviceconnect.android.provider.FileProvider" android:authorities="com.mycompany.android.deviceplugin.provider" android:exported="true" />android:authoritiesの部分には、各デバイスプラグインでauthoritiesを設定すること。
デフォルトでは、SDカードの直下にデバイスプラグインのパッケージ名のフォルダを作成して、その下にファイルが保存される。
保存場所を変えたい場合には、providerにメタデータを持たせることで変更できる。
<provider android:name="org.deviceconnect.android.provider.FileProvider" android:authorities="com.mycompany.android.deviceplugin.provider" android:exported="true"> <meta-data android:name="filelocation" android:resource="@xml/filelocation" /> <provider>res/xml/filelocation.xmlを用意する。
<file-locations xmlns:android="http://schemas.android.com/apk/res/android"> <external-location path="sample" /> </file-locations>属性pathには、SDカードからのパスを指定することができる。
<file-locations xmlns:android="http://schemas.android.com/apk/res/android"> <internal-location path="sample" /> </file-locations>属性pathには、/data/data/{アプリのパッケージ名}/filesからのパスを指定することができる。
path="/path/to/file"
と path="path/to/file"
は同じ意味になる。修飾子とタイプ | クラスと説明 |
---|---|
static class |
FileProvider.FileCursor
ファイルの情報を取得するためのCursor.
|
コンストラクタと説明 |
---|
FileProvider() |
修飾子とタイプ | メソッドと説明 |
---|---|
int |
delete(android.net.Uri uri,
java.lang.String selection,
java.lang.String[] selectionArgs) |
java.io.File |
getBasePath()
ファイルを管理するためのベースとなるパスを取得する.
|
java.lang.String |
getType(android.net.Uri uri) |
android.net.Uri |
insert(android.net.Uri uri,
android.content.ContentValues values) |
boolean |
onCreate() |
android.os.ParcelFileDescriptor |
openFile(android.net.Uri uri,
java.lang.String mode)
ファイルを入出力用のメソッド.
|
android.database.Cursor |
query(android.net.Uri uri,
java.lang.String[] projection,
java.lang.String selection,
java.lang.String[] selectionArgs,
java.lang.String sortOrder) |
int |
update(android.net.Uri uri,
android.content.ContentValues values,
java.lang.String selection,
java.lang.String[] selectionArgs) |
applyBatch, applyBatch, attachInfo, bulkInsert, call, call, canonicalize, clearCallingIdentity, dump, getCallingPackage, getContext, getPathPermissions, getReadPermission, getStreamTypes, getWritePermission, isTemporary, onConfigurationChanged, onLowMemory, onTrimMemory, openAssetFile, openAssetFile, openFile, openFileHelper, openPipeHelper, openTypedAssetFile, openTypedAssetFile, query, query, refresh, restoreCallingIdentity, setPathPermissions, setReadPermission, setWritePermission, shutdown, uncanonicalize
public android.os.ParcelFileDescriptor openFile(android.net.Uri uri, java.lang.String mode) throws java.io.FileNotFoundException
openFile
クラス内 android.content.ContentProvider
uri
- ContentProviderのURLmode
- 書き込み読み込み時のモードjava.io.FileNotFoundException
- ファイルが見つからない場合に発生public java.io.File getBasePath()
public int delete(android.net.Uri uri, java.lang.String selection, java.lang.String[] selectionArgs)
delete
クラス内 android.content.ContentProvider
public java.lang.String getType(android.net.Uri uri)
getType
クラス内 android.content.ContentProvider
public android.net.Uri insert(android.net.Uri uri, android.content.ContentValues values)
insert
クラス内 android.content.ContentProvider
public boolean onCreate()
onCreate
クラス内 android.content.ContentProvider
public android.database.Cursor query(android.net.Uri uri, java.lang.String[] projection, java.lang.String selection, java.lang.String[] selectionArgs, java.lang.String sortOrder)
query
クラス内 android.content.ContentProvider
public int update(android.net.Uri uri, android.content.ContentValues values, java.lang.String selection, java.lang.String[] selectionArgs)
update
クラス内 android.content.ContentProvider