今回はspinner。予定どおり。
参考はこことここ、そしてここ。
何か、嫌がらせの様だ。別にそんな気はないですが。
(8)-1では、3つ目のここを参考にして作ったclass + αを。
まあ、参考というかちょっと変えただけですが。そんなんばっか。
まあ、とりあえず。
SD内の音楽ファイルの入ったディレクトリを、
ArrayListに詰め込みます。音楽ファイル以外にも使えます。たぶん。
いやきっと。参考にしたとこを考えると。載せときます。
package net.asasvata.listmaker;
import java.io.File;
import java.util.ArrayList;
public class DirListMaker {
private final String FILE_SEP = File.separator;
//ファイル1種類用
public ArrayList<String> dirListMaker(ArrayList<String> list, String ext) {
//ArrayListの生成
ArrayList<String> array = new ArrayList<String>();
int m = 0; int n = 0;
while (list.size() > m) {
File subDir = new File(list.get(m));
String[] subFileName = subDir.list();
n = 0;
while (subFileName.length > n) {
File subFile = new File(subDir.getPath() + FILE_SEP + subFileName[n]);
if (subFile.isDirectory()) {
list.add(subDir.getPath() + FILE_SEP + subFileName[n]);
} else if (subFile.isFile() && subFile.getName().endsWith(ext)) {
if (!array.contains(list.get(m))) {
array.add(list.get(m));
}
}
n++;
}
m++;
}
return array;
}
//ファイル2種類用
public ArrayList<String> dirListMaker(ArrayList<String> list, String ext1, String ext2) {
ArrayList<String> array = new ArrayList<String>();
int m = 0; int n = 0;
while (list.size() > m) {
File subDir = new File(list.get(m));
String[] subFileName = subDir.list();
n = 0;
while (subFileName.length > n) {
File subFile = new File(subDir.getPath() + FILE_SEP + subFileName[n]);
if (subFile.isDirectory()) {
list.add(subDir.getPath() + FILE_SEP + subFileName[n]);
} else if (subFile.isFile() &&
(subFile.getName().endsWith(ext1) || subFile.getName().endsWith(ext2))) {
if (!array.contains(list.get(m))) {
array.add(list.get(m));
}
}
n++;
}
m++;
}
return array;
}
}
パッケージも分けました。なんとなく。javaっぽいかと。
ファイル2種類用も作りました。元ネタと同じ書き方なので。
動くと思います。確認してませんが。
違うのはファイルをリストに詰めるのではなく、ディレクトリを詰めること。
まあ、そんだけしか変えてません。
後、もう一個。ついでに作りました。
package net.asasvata.listmaker;
import java.io.File;
import java.util.ArrayList;
public class FileListMaker {
private final String FILE_SEP = File.separator;
//ファイル1種類用
public void fileListMaker(String name, String ext, ArrayList<String> list) {
File musicFile = new File(name);
String[] musicFileList = musicFile.list();
for (String fileName : musicFileList) {
File file = new File(name + FILE_SEP + fileName);
if (file.isFile() && fileName.endsWith(ext)) {
list.add(fileName);
}
}
}
//ファイル2種類用
public void fileListMaker(String name, String ext1, String ext2, ArrayList<String> list) {
File musicFile = new File(name);
String[] musicFileList = musicFile.list();
for (String fileName : musicFileList) {
File file = new File(name + FILE_SEP + fileName);
if (file.isFile() && (fileName.endsWith(ext1) || fileName.endsWith(ext2))) {
list.add(fileName);
}
}
}
}
まあ、なんですなdirListMakerで作ったディレクトリリストに入ってる
ファイルを別のリストに詰め込む。そんな感じ。spinnerを介して。
で、こいつらを使ったコードを(8)-2に載せときます。
0 件のコメント:
コメントを投稿