web-dev-qa-db-ja.com

Androidプログラミング:シンプルなファイルブラウザーを作成するための開始点は?

2つのことを行うファイルブラウザーを作成したいと思います。1)ユーザーがディレクトリを参照して選択できるようにする2)ユーザーがSDカード上のすべてのファイルを参照できるようにする

チュートリアルを探しましたが、見つからないようですか?単純なファイルブラウザーを使用するためにコードが何をする必要があるかを説明するか、チュートリアル/ソースコードへのリンクを提供して、誰かが私を助けてくれますか?

お願いします!

29
AlexPriceAP

あなたが実際にあなた自身のものを書くことを学ぶことにもっと興味があるなら、 File クラスのドキュメントをよく読んでみることをお勧めします。それはあなたがほとんどの仕事をする場所です。

Android用のSDカード/その他の外部ストレージの場合、 Environment クラスを使用して、外部ストレージを読み取ろうとする前に、まず外部ストレージがマウントされ使用可能であることを確認する必要があります。

String extState = Environment.getExternalStorageState();
//you may also want to add (...|| Environment.MEDIA_MOUNTED_READ_ONLY)
//if you are only interested in reading the filesystem
if(!extState.equals(Environment.MEDIA_MOUNTED)) {
    //handle error here
}
else {
    //do your file work here
}

外部ストレージの適切な状態を決定したら、次のようにFileのlistFiles()メソッドを使用するのが簡単な開始方法です。

//there is also getRootDirectory(), getDataDirectory(), etc. in the docs
File sd = Environment.getExternalStorageDirectory();
//This will return an array with all the Files (directories and files)
//in the external storage folder
File[] sdDirList = sd.listFiles();

その後、FileFiltersを使用して結果を絞り込むことができます。

FileFilter filterDirectoriesOnly = new FileFilter() {
    public boolean accept(File file) {
        return file.isDirectory();
    }
};
File[] sdDirectories = sd.listFiles(filterDirectoriesOnly);

そこから、ドキュメントを読んで、やりたいことのタイプを見つけたら、リストアダプターなどにそれらを結び付けることができます。

お役に立てれば!

30
kcoppock

これは遅い答えですが、Androidファイルエクスプローラーを最近作成しました。 https://github.com/mburman/Android-File-Explore

本当に簡単です。基本的に、アプリケーションに統合する必要があるファイルは1つだけです。

20
Manish Burman

OI File Manager をご覧ください。これは、オープンソースAndroidファイルマネージャーです。ソースコードは here で入手できます。

8
Ryan Berger