我从来没有使用枚举之前。所以请耐心等待我一点。如何正确使用枚举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;
}
}
现在我该如何选择所有具有所选类别扩展名的文件?
我该如何使用枚举?
我不是要求代码,虽然任何帮助材料将不胜感激 - 我只需要明确概念。
谢谢
我在哪里放这个功能?在枚举? –
我已经明白了,非常感谢 –