2013-07-05 1 views
1

Как реализовать ContentProvider с файлом JSON? Моя цель - получить содержимое json-файла (или самого файла) из одного приложения, которое будет перенесено в другое приложение. В документации на Android говорится, что это можно сделать с помощью BLOB, но я не знаю, что это значит, и все их примеры относятся к базам данных SQL, которое мое приложение не использует (все данные хранятся в одном файле JSON).Android ContentProvider с файлами JSON

ответ

2

Моя цель - загрузить содержимое json-файла (или самого файла) из одного приложения, которое будет перенесено в другое приложение.

буквально сделать это, используйте openFile() на ContentProvider стороне и openInputStream()/openOutputStream() на (клиента) стороны ContentResolver.

Однако я подозреваю, что это не особенно хорошая идея. JSON не является моделью хранения данных, которая будет работать с несколькими одновременными аксессуарами. IOW, когда оба приложения пытаются работать с JSON одновременно, кто выигрывает и проигрывает?

Кроме того, что произойдет, если приложение, на котором размещен файл JSON, будет удалено? Теперь у другого приложения больше нет доступа к данным.

+0

Мне в основном нужно это сделать для передачи данных из бесплатной версии моего приложения в полную оплаченную версию. Файл JSON хранит список массивов настраиваемого объекта, и я бы хотел, чтобы платная версия моего приложения наследовала этот список массивов. Это будет одноразовая вещь. – StackOverflowMaster

+0

@StackOverflowMaster: ОК. Вот пример проекта, показывающий показ файла PDF на внутреннем хранилище с помощью «ContentProvider»: https://github.com/commonsguy/cw-omnibus/tree/master/ContentProvider/Files – CommonsWare

+0

Я просмотрел ваш код. Чтобы уточнить, ваш образец проекта копирует PDF-файл, но находится ли он из каталога файлов приложения в другой? – StackOverflowMaster