Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
, FolderPicker dosya sisteminden bir klasör seçme olanağı sağlar.
için FolderPickeraşağıdaki önkoşullar gereklidir:
AndroidManifest.xml'a izinler ekleyin:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Temel kullanım
.NET MAUI uygulamasına FolderPicker şu şekilde eklenebilir.
İzin isteme
Geliştiricilerin Permissions.StorageRead'i el ile istemesi gerekir:
var readPermissionsRequest = await Permissions.RequestAsync<Permissions.StorageRead>();
Klasör seç
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);
}
}
Klasör
Kayıt, Folder dosya sistemindeki bir klasörü temsil eder. Aşağıdaki özellikleri tanımlar:
- Yol bir Klasör yolu içerir.
- Ad bir Klasör adı içerir.
KlasörSeçiciSonucu
PickAsync'den bilgileri depolar.
Özellikler
| Mülkiyet | Türü | Description |
|---|---|---|
| Klasör | Folder |
Folder Dosya sisteminde seçili klasörü temsil eden öğesini alır. |
| Exception | Exception |
Seçme işlemi başarısız olduğunda Exception değerini alır. |
| BaşarılıMı | bool |
İşlemin başarılı olup olmadığını belirleyen bir değer alır. |
Methods
| Yöntem | Description |
|---|---|
| EnsureSuccess | Seçme işleminin başarılı olup olmadığını doğrular. |
Uyarı
EnsureSuccess seçme işlemi başarısız olursa bir Exception fırlatır.
Methods
| Yöntem | Description |
|---|---|
| PickAsync | İzin ister ve dosya sisteminde bir klasör seçmeye izin verir. |
Bağımlılık Kaydı
Hizmeti enjekte etmek istiyorsanız, önce onu kaydettirmeniz gerekir.
Sonraki değişikliklerle güncelleştirin MauiProgram.cs :
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();
}
}
Artık hizmeti şu şekilde ekleyebilirsiniz:
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);
}
}
Sağlama hakkında daha fazla ayrıntı için CancellationTokenMicrosoft belgelerine bakın.
Örnekler
API
.NET MAUI Community Toolkit