2017-08-20 26 views
0

私は、Android Studioの上の単純なファイルエクスプローラを作成しています、と私は、次の実装の1つは、最適な疑問:効率的な実装 - アンドロイド

私のソリューション: 私はと呼ばれる活性を有しMainActivityは私のファイルリストを表示し、ユーザがディレクトリをクリックするたびに、新しいMainActivityを作成します(onCreateメソッドは新しいファイルリストを取得します)。

修正:チュートリアルから補正で 、私は、ユーザーの代わりに新しい活動を開始する、コードは現在の1を保持し、ディレクトリをクリックし、すべてのものを変更したとき(リストをクリアし、それを埋めることがわかりました新しいファイルでは、タイトルを変更...)。

他のソリューションより優れたソリューションがありますか?常に同じ活動を続ける方が効率的ですか?

ありがとうございました。

答えて

1

1つのアクティビティを残しておいてください!

ユーザーが項目をクリックすると、新しく選択されたパスに基づいてデータソースが構築されます。ファイルとディレクトリを区別してください。その後、単にnotifyDataSetChangedとそれを呼び出す!二つの方法があるファイルシステムを照会する

: - JavaのFile.listFiles()

  • にハードを使う -

    1. が簡単に実行シェルコマンドRuntime.getRuntime()のexec(「LS - 。 la ")と応答を解析します。

    件名のgithubには多くのオープンソースプロジェクトがあります。例:あなたの答えのための

    Amaze File Manager

  • +0

    おかげで、それは私が考えたものです。ファイルシステムを照会するために、Java.Fileクラスを使用しました。私の情報のために、2番目のバージョン(シェルコマンドを実行)を使用する必要がある場合はありますか? –

    +1

    シェルのコマンドは遅くなりますが、hiddenを含むファイルの完全なリストを返します。また、シェルコマンドを使用してファイルのパーミッションを読み書きすることもできます。 Huawei mate 9 proのようないくつかのデバイスは、いくつかのシェル操作をブロックします。件名はちょうどグーグルに多くの情報があります:) – RonTLV

    関連する問題