Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使内部文件在蜂巢上可读?_Android - Fatal编程技术网

Android 如何使内部文件在蜂巢上可读?

Android 如何使内部文件在蜂巢上可读?,android,Android,我正在尝试将视频文件从内部存储器加载到视频视图。我从服务器下载这些视频文件,然后使用以下代码将其存储在本地: FileOutputStream out = openFileOutput(filename, Context.MODE_WORLD_READABLE); 这里的文档:使我相信这些文件将被创建为世界可读的,但我不认为这是真的 以下是我用于将文件加载到ViewView中的代码: videoView.setVideoPath(getFilesDir() +"/"+ filename);

我正在尝试将视频文件从内部存储器加载到视频视图。我从服务器下载这些视频文件,然后使用以下代码将其存储在本地:

FileOutputStream out = openFileOutput(filename, Context.MODE_WORLD_READABLE);
这里的文档:使我相信这些文件将被创建为世界可读的,但我不认为这是真的

以下是我用于将文件加载到ViewView中的代码:

videoView.setVideoPath(getFilesDir() +"/"+ filename);
这是我从DDMS得到的输出:

ERROR/MediaPlayer(4264): error (1, -2147483648)
ERROR/MediaPlayer(4264): Error (1,-2147483648)
DEBUG/VideoView(4264): Error: 1,-2147483648
如果我更改代码以从原始资源目录加载相同的视频,那么一切都会正常运行。但是,我需要能够下载这些视频并在本地播放


是我使用外部数据的唯一选择,还是有办法将内部数据公开给像VideoView这样的东西?

下面重复评论中的Commonware解决方案,因为这是我最终使用的解决方案:


请注意,如果您不喜欢
VideoView
的界面,可以始终使用
MediaPlayer
SurfaceView
。或者,使用
openFile()
实现一个简单的
ContentProvider
,以返回
FileDescriptor
,并使用
content://
Uri和
VideoView
-Commonware

您尝试过外部存储吗?如果不是,为什么不呢?因为内部存储通常是有限的。这个应用程序基本上有一个很大的数据文件,里面充满了视频和图像,我们不能把它们放在应用程序本身,因为市场上对.apk文件的大小有限制。我们只下载一次数据,我想内部存储会更持久。我们只针对使用此应用程序的蜂窝平板电脑。您验证过getFilesDir()+“/”+文件名实际上指向新创建的文件吗?您还可以发布您的videoView代码吗?请注意,如果您不喜欢
videoView
的界面,您可以始终使用
MediaPlayer
SurfaceView
。或者,使用
openFile()
实现一个简单的
ContentProvider
,以返回
FileDescriptor
,并将
内容://
Uri与
视频视图一起使用。