Как реализовать ContentProvider с файлом JSON? Моя цель - получить содержимое json-файла (или самого файла) из одного приложения, которое будет перенесено в другое приложение. В документации на Android говорится, что это можно сделать с помощью BLOB, но я не знаю, что это значит, и все их примеры относятся к базам данных SQL, которое мое приложение не использует (все данные хранятся в одном файле JSON).Android ContentProvider с файлами JSON
1
A
ответ
2
Моя цель - загрузить содержимое json-файла (или самого файла) из одного приложения, которое будет перенесено в другое приложение.
буквально сделать это, используйте openFile()
на ContentProvider
стороне и openInputStream()
/openOutputStream()
на (клиента) стороны ContentResolver
.
Однако я подозреваю, что это не особенно хорошая идея. JSON не является моделью хранения данных, которая будет работать с несколькими одновременными аксессуарами. IOW, когда оба приложения пытаются работать с JSON одновременно, кто выигрывает и проигрывает?
Кроме того, что произойдет, если приложение, на котором размещен файл JSON, будет удалено? Теперь у другого приложения больше нет доступа к данным.
Мне в основном нужно это сделать для передачи данных из бесплатной версии моего приложения в полную оплаченную версию. Файл JSON хранит список массивов настраиваемого объекта, и я бы хотел, чтобы платная версия моего приложения наследовала этот список массивов. Это будет одноразовая вещь. – StackOverflowMaster
@StackOverflowMaster: ОК. Вот пример проекта, показывающий показ файла PDF на внутреннем хранилище с помощью «ContentProvider»: https://github.com/commonsguy/cw-omnibus/tree/master/ContentProvider/Files – CommonsWare
Я просмотрел ваш код. Чтобы уточнить, ваш образец проекта копирует PDF-файл, но находится ли он из каталога файлов приложения в другой? – StackOverflowMaster