Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
FolderPicker menyediakan kemampuan untuk memilih folder dari sistem file.
Prasyarat berikut diperlukan untuk FolderPicker:
Tambahkan izin ke AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Penggunaan dasar
FolderPicker dapat ditambahkan ke aplikasi .NET MAUI dengan cara berikut.
Meminta izin
Pengembang harus meminta izin StorageRead secara manual.
var readPermissionsRequest = await Permissions.RequestAsync<Permissions.StorageRead>();
Pilih folder
async Task PickFolder(CancellationToken cancellationToken)
{
var result = await FolderPicker.Default.PickAsync(cancellationToken);
if (result.IsSuccessful)
{
await Toast.Make($"The folder was picked: Name - {result.Folder.Name}, Path - {result.Folder.Path}", ToastDuration.Long).Show(cancellationToken);
}
else
{
await Toast.Make($"The folder was not picked with error: {result.Exception.Message}").Show(cancellationToken);
}
}
Folder
Rekaman Folder mewakili folder dalam sistem file. Ini mendefinisikan properti berikut:
- Jalur ini berisi jalur folder.
- Nama mengandung nama folder.
HasilPemilihFolder
Menyimpan informasi dari PickAsync.
Karakteristik
| Harta benda | Tipe | Description |
|---|---|---|
| Folder | Folder |
Mendapatkan Folder yang mewakili folder yang dipilih dalam sistem file. |
| Pengecualian | Exception |
Mendapatkan Exception jika operasi pemilihan gagal. |
| Berhasil | bool |
Mendapatkan nilai yang menentukan apakah operasi berhasil. |
Methods
| Metode | Description |
|---|---|
| PastikanSukses | Memverifikasi apakah operasi pemilihan berhasil. |
Peringatan
EnsureSuccess akan melempar Exception jika operasi pemilihan tidak berhasil.
Methods
| Metode | Description |
|---|---|
| PickAsync | Meminta izin dan mengizinkan pemilihan folder dalam sistem file. |
Pendaftaran Dependensi
Jika Anda ingin menyuntikkan layanan, Anda harus mendaftarkannya terlebih dahulu.
Perbarui MauiProgram.cs dengan perubahan berikutnya:
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseMauiCommunityToolkit();
// Register the FolderPicker as a singleton
builder.Services.AddSingleton<IFolderPicker>(FolderPicker.Default);
// Register the MainPage as transient to make sure it can resolve the IFolderPicker dependency.
builder.Services.AddTransient<MainPage>();
return builder.Build();
}
}
Sekarang Anda dapat menyuntikkan layanan seperti ini:
public partial class MainPage : ContentPage
{
private readonly IFolderPicker folderPicker;
public MainPage(IFolderPicker folderPicker)
{
InitializeComponent();
this.folderPicker = folderPicker;
}
async Task PickFolder(CancellationToken cancellationToken)
{
var result = await folderPicker.PickAsync(cancellationToken);
result.EnsureSuccess();
await Toast.Make($"Folder picked: Name - {result.Folder.Name}, Path - {result.Folder.Path}", ToastDuration.Long).Show(cancellationToken);
}
}
Untuk detail selengkapnya tentang cara memberikan CancellationToken rujukan ke dokumentasi Microsoft.
Contoh
Anda dapat menemukan contoh FolderPicker dalam tindakan di Aplikasi Sampel Toolkit Komunitas .NET MAUI.
API
Anda dapat menemukan kode sumber untuk FolderPicker di repositori GitHub .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit