На самом деле довольно легко читать файлы фильмов и другие материалы непосредственно из файла расширения, используя инструменты zip, предоставленные Google (com.android.vending.zipfile).
Сначала получите файл расширения, используя методы, предоставляемые в библиотеке. Пареметры представляют собой целые числа, которые представляют собой версию вашего основного расширения apk (версия apk, в которой вам нужно добавить пакет расширения) и версию apk patch.
ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile(context, APKX_MAIN_APK, APKX_PATCH_APK);
Видео
Для воспроизведения видео непосредственно из этого zipresourcefile:
AssetFileDescriptor a = expansionFile.getAssetFileDescriptor(pathToFileInsideZip);
Теперь из этого assetFileDescriptor вы можете получить FileDescriptor и использовать это в вашем медиаплеера, правильный синтаксис, чтобы получить ваш медиаплеер для воспроизведения видео также нуждается в втором и третьем параметрах. Будь то начальный уровень и длина, которую вы можете получить из AssetFileDescriptor.
player.setDataSource(a.getFileDescriptor(), a.getStartOffset(), a.getLength());
Другое
Для всех других вещей (например, изображений), вы можете просто получить InputStream из zipresourcefile:
expansionFile.getInputStream(pathToFileInsideZip);`
Также убедитесь, что вы не сжимать видео в zip, чтобы это работало! , например, чтобы не сжать .mp4 файлы:
zip -n .mp4 -r zipfile.zip . -x ".*" -x "*/.*"
Maby youll найдет здесь то, что вы ищете. http://stackoverflow.com/questions/14139587/android-expansion-file –
Thnaks Maikel Bollemeijer, но как получить Uri для просмотра видео и открыть файл Pdf? –
Просто следите за тем, как он указал на это сообщение, но измените расширение файла.и для воспроизведения или открытия видео или в формате pdf это точно так же, как и вы, как это обычно делаете. если вы не знаете, как сделать поиск в Google, убедитесь, что вы его заработаете. –