相关疑难解决方法(0)

SampleZipfileProvider类在哪里?

在Google的扩展文件开发指南(http://developer.android.com/guide/market/expansion-files.html#ZipLib)部分的底部,有以下文字.

APEZProvider - 大多数应用程序不需要使用此类.此类定义了一个ContentProvider,它通过内容提供程序Uri封送ZIP文件中的数据,以便为期望Uri访问媒体文件的某些Android API提供文件访问.Apk Expansion包中提供的示例应用程序演示了一个场景,其中此类可用于使用VideoView.setVideoURI()指定视频.有关如何扩展此类以在应用程序中使用的示例,请参阅示例应用程序的类SampleZipfileProvider.

有问题的示例应用程序不包含此类.但它确实包含对AndroidManifest.xml中的.SampleVideoPlayerActivity文件的引用,该文件也不存在于项目中.

有没有人试图实现一个基于APEZProvider它的具体类并使用它VideoView.setVideoURI()

我已经实现了这个类:

public class ZipFileContentProvider extends APEZProvider {

    @Override
    public String getAuthority() {
        return "com.myCompany.myAppName.provider.ZipFileContentProvider";
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在VideoView.setVideoURI()电话中使用它.有人可以帮忙吗?

android android-contentprovider

12
推荐指数
1
解决办法
3277
查看次数

getFileDescriptor在从扩展文件中读取mp3文件时返回null

我已经成功下载并存储了扩展文件.但是当我尝试在里面播放mp3时它崩溃了..

            ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile(getApplicationContext(),
                    1, 0);

            InputStream fileStream = expansionFile.getInputStream("mysong.mp3");
            AssetFileDescriptor asd = expansionFile.getAssetFileDescriptor("mysong.mp3");
            MediaPlayer mediaPlayer = new MediaPlayer();
                    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                    mediaPlayer.setDataSource(asd.getFileDescriptor(), asd.getStartOffset(), asd.getLength());
                    asd.close();
                    mediaPlayer.prepare();
                    mediaPlayer.start();
Run Code Online (Sandbox Code Playgroud)

这里logcat说输入流和文件描述符都是null ..任何人都可以帮助我吗?

android apk-expansion-files

10
推荐指数
1
解决办法
1589
查看次数

android播放电影里面的扩展文件

我的应用程序正在尝试向用户提供大量内容,因此应用程序的大小远远超过50mb.我们无法减少或删除某些内容,因此我们决定采用扩展方法.

我正在尝试按照本教程:Android APK扩展文件,并已成功将扩展文件放入我的设备进行测试.我可以在扩展中获取任何视频文件的输入流.但是当我尝试为VideoView设置VideoUri时,它会开始崩溃.这是一些代码:

ZipFileContentProvider contentProvider = new ZipFileContentProvider();
String contentPath = "content://";
File root = Environment.getExternalStorageDirectory();
String EXP_PATH = File.separator + "Android" + File.separator + "obb" + File.separator;
String path = root.toString() + EXP_PATH + context.getPackageName() + File.separator + "main.1.com.c4e1.in2cricket.obb";
String zipFileName =  contentPath + path + "/" + fileName;
Uri uri = Uri.parse(zipFileName);
videoView.setVideoUri(uri);


public class ZipFileContentProvider extends APEZProvider {

    @Override
    public String getAuthority() {
        return "com.c4e1.in2cricket.provider.ZipFileContentProvider";
    }
}
Run Code Online (Sandbox Code Playgroud)

android expansion android-videoview

9
推荐指数
1
解决办法
3151
查看次数