我從來沒有使用枚舉之前。所以請耐心等待我一點。如何正確使用枚舉java/android
應用背景:
我創建在其中用戶可以從外部存儲USB設備添加三個類型的源,*music*
*video*
和*pictures*
的應用程序。
用戶在usd驅動器上選擇一個文件夾並將其添加到源中,然後爲其添加一個類別。
THIS HAS BEEN DONE
問題是
現在我想讀由具有特定擴展名,如按類別定義的文件夾中的所有文件。
以下是將存儲在XML文件中
<?xml version="1.0" encoding="UTF-8"?>
<Picture>
<ext>jpg</ext>
<ext>png</ext>
<ext>gif</ext>
<ext>jpeg</ext>
<ext>pdf</ext>
<ext>pcd</ext>
<ext>jpx</ext>
<ext>tif</ext>
</Picture>
<Videos>
<ext>mpeg</ext>
<ext>mpg</ext>
<ext>mpe</ext>
<ext>mpeg-1</ext>
<ext>mpeg-2</ext>
<ext>mp4</ext>
<ext>mpa</ext>
<ext>wmv</ext>
<ext>wma</ext>
<ext>wmx</ext>
<ext>rm</ext>
<ext>ra</ext>
<ext>3gp</ext>
</Videos>
<Music>
<ext>mp3</ext>
<ext>wav</ext>
<ext>dct</ext>
<ext>gsm</ext>
<ext>flac</ext>
<ext>au</ext>
<ext>ogg</ext>
<ext>raw</ext>
<ext>wma</ext>
<ext>msv</ext>
</Music>
因此,例如用於三類擴展,如果用戶選擇的視頻類,我會讀它也有類似的擴展名的所有文件視頻在我的XML
我Qustion是:
我試圖通過使用ENUM做這件事情,我知道我可以用簡單的if/else語句做得一樣好,但我需要知道ENUM如何工作。
我已經創建了具有定義類別的媒體源枚舉。
下面是代碼:
public enum Media_source {
Pitures("P"), Videos("V"), Music("M");
private String statusCode;
private Media_source(String s) {
statusCode = s;
}
public String get_media_source() {
return statusCode;
}
}
然後,我有,檢查被選擇的類別一個源類。
public class Source {
public static String source_path;
public static String source_name;
Media_source mSource;
public static void main(String[] args) {
System.out.println(Media_source.Pitures.get_media_source());
}
public Source(String name, String path) {
Source.source_name = name;
Source.source_path = path;
}
public static String getSource_path() {
return source_path;
}
public static void setSource_path(String source_path) {
Source.source_path = source_path;
}
public static String getSource_name() {
return source_name;
}
public static void setSource_name(String source_name) {
Source.source_name = source_name;
}
}
現在我該如何選擇所有具有所選類別擴展名的文件?
我該如何使用枚舉?
我不是要求代碼,雖然任何幫助材料將不勝感激 - 我只需要明確概念。
謝謝
我在哪裏放這個功能?在枚舉? –
我已經明白了,非常感謝 –