Android Studioでコーディングを開始し、すごい気分です。
「ディレクトリピッカー」のコードを作成するにはどうすればよいですか。つまり、ボタンをクリックすると、ディレクトリのリストを表示できるシンプルなダイアログ/アクティビティ画面が表示されます。
また、そのディレクトリ内のすべてのファイルを配列変数に格納したいとします。 ([OK]ボタンをクリックすると)。
PS:私はここを検索し、いくつかのクールな「ファイル選択」を見つけましたが、mはDirectory Chooserを探しています。
前もって感謝します。
Intent.ACTION_OPEN_DOCUMENT_TREEを使用してみてください
Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
i.addCategory(Intent.CATEGORY_DEFAULT);
startActivityForResult(Intent.createChooser(i, "Choose directory"), 9999);
そして、onActivityResult data.getData()から結果URIを取得します。
public void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode) {
case 9999:
Log.i("Test", "Result URI " + data.getData());
break;
}
}
また、いくつかのライブラリを使用できます。
例えば:
https://github.com/passy/Android-DirectoryChooser
ディレクトリチューザーとファイルアクティビティのオープン/保存を行うオープンソースライブラリがあります。これはGitHubの https://github.com/BoardiesITSolutions/FileDirectoryPicker にあります。
Android APIレベル17以上で動作します
免責事項:私はそれを書いた
Android 10(API 29))の時点で、外部ストレージへの直接アクセスはストレージアクセスフレームワークのために廃止されました https://developer.Android.com/guide/topics/providers/document-provider