2013-02-19 85 views
1

你怎麼發現的資源是什麼樣的文件?在我的情況下,可能會有視頻和圖像。原始資源文件類型

所以,如果它是一個視頻,我用一個VideoView;在圖像的情況下,我使用ImageView

我得到的資源ID是這樣的:

AssetFileDescriptor afd = context.getResources().openRawResourceFd(resourceID); 

回答

1

我想這是不可能的沒有讀/分析文件的二進制數據(如TrID)。最簡單的方法是用預定義的字符串爲文件名添加前綴。例如:

  • video_file_00video_file_01 ...
  • image_file_00image_file_01 ...

然後你可以使用getResourceName(int)解析的文件名。

+0

是的,這是最簡單的方法。謝謝,這將工作最好的,我認爲 – Harry 2013-02-19 11:04:00

+0

@Harry不客氣:-) – 2013-02-19 11:09:28

1

我想到的唯一的事情是,你可以使用常量這樣檢查文件名:

final String type = getApplicationContext().getResources().getResourceTypeName(resID); 
if(type.equals("drawable")){ 
    // handle it like an image 
}else if(.....) //do some research for other constants 
+0

我該如何獲得文件名?我只是有資源ID – Harry 2013-02-19 10:30:41

+0

所有的方法,如getResourceName給人不進一步擴展名.. – Harry 2013-02-19 10:42:04

+0

我編輯我的答案 – Droidman 2013-02-19 10:58:36