くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

Android で 端末内にファイルが保存されたらアレコレしたいアプリの作り方

環境

解説

Android で、 ファイル操作に関する変更通知を受け取るために、 FileObserver というクラスがあります。 https://developer.android.com/reference/android/os/FileObserver.htmldeveloper.android.com FileObserver を継承したクラスを作りそこから 関数を呼び出してアレコレできます。

ソースコード

// import は省略

public class ObserbleFolder extends FileObserver {

    public ObserbleFolder(String path) {
        super(path);
    }

    @Override
    public void startWatching() {
        
        super.startWatching();
    }

    // 監視を終了したいときは、このメソッドを呼ぶ
    @Override
    public void stopWatching() {    
        super.stopWatching();
    }

    // ディレクトリ内で、変化が起きたら呼ばれるイベント
    @Override
    public void onEvent(int event, String path) {
        if(event == FileObserver.CREATE) {
            // 監視してるディレクトリ内でファイルが作成されたら呼ばれるメソッド
            }
        }
    }
}