Android. Программирование для профессионалов. 4-е издание


Использование FileProvider



Download 21,53 Mb.
Pdf ko'rish
bet250/485
Sana13.07.2022
Hajmi21,53 Mb.
#787165
1   ...   246   247   248   249   250   251   252   253   ...   485
Bog'liq
Android Programmirovanie dlya professionalov 4-e izdanie 2020 Fillips Styuart Marsikano Gardner


20sp
3dp
name="AppTheme"
parent="
Theme.AppCompat.Light.DarkActionBar
">
name="colorPrimary">@color/colorPrimary
name="colorPrimaryDark">@color/colorPrimaryDark

name="colorAccent">@color/colorAccent
Использование FileProvider
Если ваши потребности ограничиваются получением файла из
другого 
приложения, 
полноценная 
реализация
ContentProvider
— это перебор. К счастью, Google
предоставляет 
вспомогательный 
класс 
FileProvider
,
который берет на себя выполнение всех задач, кроме
настройки конфигурации.
Прежде всего следует объявить 
FileProvider
экземпляром
ContentProvider
, который связан с конкретным хранилищем
(authority). Для этого объявление 
Content 
Provider
включается
в манифест.
Листинг 16.4. Добавление объявления FileProvider
(manifests/AndroidManifest.xml)

...


android:name="androidx.core.content.Fil
eProvider"
android:authorities="com.bignerdranch.a
ndroid.criminalintent.fileprovider"
android:exported="false"
android:grantUriPermissions="true">


Хранилищем называется место, в котором будут сохраняться
файлы. 
Строка, 
которую 
вы 
выбираете 
для
android:authorities
, должна быть уникальной по всей
системе. Чтобы гарантировать это, принимается соглашение о
подготовке строки полномочий с именем вашего пакета. (Мы


показываем 
имя 
пакета
com.bignerdranch.android.criminalintent
выше. Если
имя пакета вашего приложения другое, используйте вместо
него имя вашего пакета).
Связывая 
FileProvider
с хранилищем, вы предоставляете
другим приложениям цель для запросов. Добавляя атрибут
exported="false"
, вы запрещаете использование провайдера
всеми сторонами, которым вы не предоставите разрешение.
Добавляя атрибут 
grantUriPermissions
, вы добавляете
возможность предоставлять другим приложениям право записи
по URI для этого хранилища, передаваемым в интентах. (Об
этом чуть позднее.)
Теперь, когда вы сообщили Android, где находится
FileProvider
, также необходимо сообщить 
FileProvider
,
какие файлы предоставляются. Эта конфигурация определяется
в дополнительном ресурсном файле в формате XML. Щелкните
правой кнопкой мыши по папке 
app/res
на панели 

Download 21,53 Mb.

Do'stlaringiz bilan baham:
1   ...   246   247   248   249   250   251   252   253   ...   485




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa


yuklab olish