你如何检测资源是什么类型的文件?就我而言,可能有视频和图像。
因此,如果是视频,我使用VideoView
; 在图像的情况下,我使用ImageView
?
我得到这样的资源ID:
AssetFileDescriptor afd = context.getResources().openRawResourceFd(resourceID);
你如何检测资源是什么类型的文件?就我而言,可能有视频和图像。
因此,如果是视频,我使用VideoView
; 在图像的情况下,我使用ImageView
?
我得到这样的资源ID:
AssetFileDescriptor afd = context.getResources().openRawResourceFd(resourceID);
我唯一想到的是,您可以使用如下常量检查文件名:
final String type = getApplicationContext().getResources().getResourceTypeName(resID);
if(type.equals("drawable")){
// handle it like an image
}else if(.....) //do some research for other constants
我认为不读取/分析文件的二进制数据(如TrID)是不可能的。最简单的方法是在文件名前加上预定义的字符串。例如:
video_file_00
,video_file_01
……</li>
image_file_00
,image_file_01
……</li>
然后你可以使用getResourceName(int)
来解析文件名。