.NET MAUI Veri Çıkarma SDK'sı IronZIP ile
.NET MAUI ya da .NET Multi-platform App UI, çapraz platform uygulamaları oluşturmak için bir çerçevedir. Geliştiricilere Windows, macOS, iOS, Android ve diğer cihazlarda çalışan tek bir kod tabanı ile uygulamalar oluşturma olanağı tanır. JavaScript yerine C# kullanan React Native'e benzer.
.NET MAUI, C# geliştiricilerinin tek bir ortamdan mobil ve masaüstü uygulamaları zahmetsizce oluşturmalarına olanak tanır. Microsoft .NET MAUI, geliştiricilerin uygulama geliştirme sürecini optimize etmelerine ve düzene sokmalarına yardımcı olmak için kapsamlı belgeler ve kaynaklar sağlar.
Bu makalede, veri çıkartma amaçlı .NET MAUI ile güçlü bir C# ZIP Arşiv Kütüphanesi olan IronZIP entegrasyonunu inceleyeceğiz.
Zip Arşivlerinden Veri Çıkartma Nasıl Yapılır
- Visual Studio .NET MAUI Projesi Oluşturun
- C# Zip Kütüphanesini NuGet aracılığıyla yükleyin
- Veri Çıkarma Uygulaması Arayüzünü Tasarlayın
- Zip Oluştur ve Extract Zip Metodlarını Uygulayın
- Uygulamayı çalıştırın ve sonuçları doğrulayın
IronZIP'e Giriş
IronZIP, .NET'te arşivler oluşturma, okuma ve çıkarma işlemleri için tasarlanmış kapsamlı bir C# ZIP arşiv kütüphanesidir. ZIP, TAR, GZIP ve BZIP2 dahil geniş bir arşiv formatı yelpazesini destekler. IronZIP, .NET 7, 6, 5, Core, Standard ve Framework gibi çeşitli .NET sürümleriyle uyumludur.
C#, F# ve VB.NET uygulamaları için Windows, Linux, Mac, iOS, Android, Docker, Azure ve AWS üzerinde çalışarak platformlar arası destek sağlar.
IronZIP'in Anahtar Özellikleri şunlardır:
- Çeşitli işletim sistemleri için platformlar arası destek.
- Farklı .NET sürümleri ve proje türleriyle uyumluluk.
- ZIP, TAR, GZIP ve BZIP2 arşivleri oluşturma, okuma ve çıkarma desteği.
- Çok platformlu uygulamalar oluşturmak için .NET MAUI ile entegrasyon.
Gereksinimler
Başlamadan önce, aşağıdaki ön gereksinimlerin mevcut olduğundan emin olun:
- .NET MAUI iş yükü yüklü Visual Studio.
- IronZIP kütüphanesi .NET MAUI projenize eklendi.
Visual Studio'da .NET MAUI Uygulaması Oluşturma Adımları
- Visual Studio'yu açın ve "Yeni proje oluştur"a tıklayın.
- .NET MAUI Uygulama proje şablonunu seçin ve Sonraki'yi tıklayın.

- Proje Ayarlarını, Proje Adını ve Konumunu yapılandırın. İleri'ye tıklayın.

- Ek Bilgilerden doğru .NET Framework'ü seçin. IronZIP en son .NET Framework sürümünü destekler, bu yüzden onu seçebilirsiniz.

- IronZIP kütüphanesini kullanarak Zip Veri Çıkartma için .NET MAUI Uygulaması oluşturmak için Oluştur'a tıklayın.
IronZIP Yükleme
IronZIP'i .NET MAUI projenize entegre etmek için, bu adımları izleyin:
- Çözüm Gezgini'ni Görünüm menüsünden açın.

- Çözüm Gezgini'nde projenize sağ tıklayın.
- "Çözüm için NuGet Paketlerini Yönet" seçeneğini seçin.

- NuGet tarama sekmesinde "IronZIP" arayın ve projeniz için paketi yükleyin.

- Preview Changes Dialog kutusunda, değişiklikleri yapmak için "Uygula"ya tıklayın ve ardından IronZIP Lisansını kabul etmek için "Kabul Et"'e tıklayın.
- NuGet kurulumunu tamamlayacak ve bir onay mesajı görünecektir.
Şimdi her şey kurulu ve ayarlanmış olduğuna göre, .NET MAUI'de bir Zip Extractor oluşturma veri çıkarma görevine geçelim.
Bir Zip Extractor Oluşturma Adımları
Adım 1: Uygulamanın Arayüzünü Tasarlayın
Bu bölümde, .NET MAUI uygulamanız için kullanıcı arayüzünü tasarlamaya odaklanacağız. Proje klasörünüzdeki MainPage.xaml dosyasını açın ve kullanıcı dostu bir arayüz oluşturmak için gerekli XAML kodunu ekleyin.
Burada, zip dosyalarını oluşturmak için bir düğme ve başka birini zip dosyalarını çıkartmak için olacak şekilde iki düğmeye ihtiyacımız olacak. Uygun mesajlar vermek için birkaç etiket de gereklidir. Aşağıdaki kod örneği, tasarımın XAML kodunu göstermektedir:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MauiAppDataExtraction.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Label
Text="IronZIP - A Zip Library to Create and Extract Zip Content!"
SemanticProperties.HeadingLevel="Level1"
FontSize="32"
HorizontalOptions="Center" />
<Label
Text="Welcome to .NET Multi-platform App UI"
SemanticProperties.HeadingLevel="Level2"
SemanticProperties.Description="Welcome to dot net Multi platform App U I"
FontSize="18"
HorizontalOptions="Center" />
<Button
x:Name="OpenFileBtn"
Text="Extract Zip File"
SemanticProperties.Hint="Opens the File Picker"
Clicked="OnSelectFileButtonClicked"
HorizontalOptions="Center" />
<Button
x:Name="OpenFilesBtn"
Text="Create Zip"
SemanticProperties.Hint="Opens the File Picker"
Clicked="OnSelectFilesButtonClicked"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MauiAppDataExtraction.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Label
Text="IronZIP - A Zip Library to Create and Extract Zip Content!"
SemanticProperties.HeadingLevel="Level1"
FontSize="32"
HorizontalOptions="Center" />
<Label
Text="Welcome to .NET Multi-platform App UI"
SemanticProperties.HeadingLevel="Level2"
SemanticProperties.Description="Welcome to dot net Multi platform App U I"
FontSize="18"
HorizontalOptions="Center" />
<Button
x:Name="OpenFileBtn"
Text="Extract Zip File"
SemanticProperties.Hint="Opens the File Picker"
Clicked="OnSelectFileButtonClicked"
HorizontalOptions="Center" />
<Button
x:Name="OpenFilesBtn"
Text="Create Zip"
SemanticProperties.Hint="Opens the File Picker"
Clicked="OnSelectFilesButtonClicked"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
Uygulamayı çalıştırın ve ekranda normal Windows formları olarak çıktıyı göreceksiniz.

Adım 2: Kodu Uygulama
1. Zip Oluştur
MainPage.xaml.cs dosyasını açın ve "Create Zip" işlevini oluşturun. OnSelectFilesButtonClicked metodunu, kullanıcıların FilePicker açmasına ve bir zip dosyası oluşturmak için herhangi bir türde birden fazla dosya seçmesine izin verecek şekilde uygulayın.
Daha sonra seçilen tüm dosyaların yollarından bir liste oluşturun. Son olarak, IronZIP'in tüm dosya yollarını kullanarak bir zip dosyası oluşturduğu CreateZip metoduna bir saniyenin altında sorunsuz bir şekilde iletin.
Aşağıdaki kod örneği, bu görevi gerçekleştirme adımlarını gösterir.
private async void OnSelectFilesButtonClicked(object sender, EventArgs e)
{
try
{
var status = await Permissions.RequestAsync<Permissions.StorageRead>();
if (status != PermissionStatus.Granted)
{
await DisplayAlert("Alert!", "Storage Access Denied", "Ok");
return;
}
// Select multiple files of any type
var results = await FilePicker.PickMultipleAsync();
if (results != null)
{
var selectedFilePaths = new List<string>();
foreach (var file in results)
{
// Add file full path to the list one by one
selectedFilePaths.Add(file.FullPath);
}
CreateZip(selectedFilePaths);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
private async void OnSelectFilesButtonClicked(object sender, EventArgs e)
{
try
{
var status = await Permissions.RequestAsync<Permissions.StorageRead>();
if (status != PermissionStatus.Granted)
{
await DisplayAlert("Alert!", "Storage Access Denied", "Ok");
return;
}
// Select multiple files of any type
var results = await FilePicker.PickMultipleAsync();
if (results != null)
{
var selectedFilePaths = new List<string>();
foreach (var file in results)
{
// Add file full path to the list one by one
selectedFilePaths.Add(file.FullPath);
}
CreateZip(selectedFilePaths);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
Private Async Sub OnSelectFilesButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
Try
Dim status = Await Permissions.RequestAsync(Of Permissions.StorageRead)()
If status <> PermissionStatus.Granted Then
Await DisplayAlert("Alert!", "Storage Access Denied", "Ok")
Return
End If
' Select multiple files of any type
Dim results = Await FilePicker.PickMultipleAsync()
If results IsNot Nothing Then
Dim selectedFilePaths = New List(Of String)()
For Each file In results
' Add file full path to the list one by one
selectedFilePaths.Add(file.FullPath)
Next file
CreateZip(selectedFilePaths)
End If
Catch ex As Exception
Console.WriteLine($"Error: {ex.Message}")
End Try
End Sub
Sonrasında, CreateZip metodunu uygulayın. IronZIP'in IronArchive sınıfı, zip dosyasının oluşturulacağı yeri alır. Seçilen dosya yollarının her birinde döngü kullanarak, Add metodu tarafından zip dosyasına eklenirler.
Dosyalar eklendikten sonra, DisplayAlert kullanarak bir onay mesajı görüntülenir.
private async void CreateZip(List<string> selectedFilePaths)
{
var path = "E:\\output.zip";
// Create a Zip
using (var archive = new IronArchive(path))
{
// Add files to the ZIP
foreach (var file in selectedFilePaths)
{
archive.Add(file);
}
}
await DisplayAlert("Congratulations", "All files added to " + path, "Ok");
}
private async void CreateZip(List<string> selectedFilePaths)
{
var path = "E:\\output.zip";
// Create a Zip
using (var archive = new IronArchive(path))
{
// Add files to the ZIP
foreach (var file in selectedFilePaths)
{
archive.Add(file);
}
}
await DisplayAlert("Congratulations", "All files added to " + path, "Ok");
}
Private Async Sub CreateZip(ByVal selectedFilePaths As List(Of String))
Dim path = "E:\output.zip"
' Create a Zip
Using archive = New IronArchive(path)
' Add files to the ZIP
For Each file In selectedFilePaths
archive.Add(file)
Next file
End Using
Await DisplayAlert("Congratulations", "All files added to " & path, "Ok")
End Sub
Mevcut zip dosyasına dosya oluşturma, ekleme ve bir zip'i çıkartma hakkında daha ayrıntılı bilgi için, lütfen bu kılavuz sayfasını ziyaret edin.
2. Zip'i Çıkar
Şimdi, "Extract Zip" işlevini oluşturacağız. Tekrar, MainPage.xaml.cs dosyasında, OnSelectFileButtonClicked metodunu, bir zip dosyasını çıkarmak için tek bir zip dosyası seçmeye izin verecek şekilde FilePicker'ı açan hale getirin.
Seçilen dosyanın tam yolu bir dize değişkenine atanır ve IronZIP'in çıkartmayı gerçekleştirdiği ExtractZip metoduna gönderilir. Kod şöyle devam ediyor:
private async void OnSelectFileButtonClicked(object sender, EventArgs e)
{
try
{
var status = await Permissions.RequestAsync<Permissions.StorageRead>();
if (status != PermissionStatus.Granted)
{
await DisplayAlert("Alert!", "Storage Access Denied", "Ok");
return;
}
// Select a single file of any type
var result = await FilePicker.PickAsync();
if (result != null)
{
// Add File Full Path to the list one by one
var selectedFile = result.FullPath;
ExtractZip(selectedFile);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
private async void OnSelectFileButtonClicked(object sender, EventArgs e)
{
try
{
var status = await Permissions.RequestAsync<Permissions.StorageRead>();
if (status != PermissionStatus.Granted)
{
await DisplayAlert("Alert!", "Storage Access Denied", "Ok");
return;
}
// Select a single file of any type
var result = await FilePicker.PickAsync();
if (result != null)
{
// Add File Full Path to the list one by one
var selectedFile = result.FullPath;
ExtractZip(selectedFile);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
Private Async Sub OnSelectFileButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
Try
Dim status = Await Permissions.RequestAsync(Of Permissions.StorageRead)()
If status <> PermissionStatus.Granted Then
Await DisplayAlert("Alert!", "Storage Access Denied", "Ok")
Return
End If
' Select a single file of any type
Dim result = Await FilePicker.PickAsync()
If result IsNot Nothing Then
' Add File Full Path to the list one by one
Dim selectedFile = result.FullPath
ExtractZip(selectedFile)
End If
Catch ex As Exception
Console.WriteLine($"Error: {ex.Message}")
End Try
End Sub
Sonra, ExtractZip metodunu oluşturun. Bu metodda, dosyaları çıkartmak istediğiniz hedef klasöre yolu ayarlayın.
IronZIP'in ExtractArchiveToDirectory metodunu kullanarak, seçilen dosya yolunu ve çıkış yolu verin. Bu metod, ziptaki tüm dosyaları sorunsuz bir şekilde dönüşüm ve transfer için çıkış klasörüne taşır. Son olarak, başarılı bir çıkartmada bir onay mesajı gösterilir.
Kod şöyle devam ediyor:
private async void ExtractZip(string selectedFilePath)
{
var path = "E:\\Extracted Files";
IronArchive.ExtractArchiveToDirectory(selectedFilePath, path);
await DisplayAlert("Congratulations", "All files extracted to " + path, "Ok");
}
private async void ExtractZip(string selectedFilePath)
{
var path = "E:\\Extracted Files";
IronArchive.ExtractArchiveToDirectory(selectedFilePath, path);
await DisplayAlert("Congratulations", "All files extracted to " + path, "Ok");
}
Private Async Sub ExtractZip(ByVal selectedFilePath As String)
Dim path = "E:\Extracted Files"
IronArchive.ExtractArchiveToDirectory(selectedFilePath, path)
Await DisplayAlert("Congratulations", "All files extracted to " & path, "Ok")
End Sub
Adım 3: Uygulamayı Çalıştırın
IronZIP ile birlikte kodu başarıyla entegre ettikten sonra, veri çıkarma görevlerini gerçekleştirmek için uygulamayı derleyip çalıştırın. Bir zip dosyası oluşturup bir zip dosyasından dosyaları çıkararak işlevselliği test edin.
Belirlenen dizinlerdeki çıktı ve çıkartılan dosyaları kontrol ederek sonuçları doğrulayın.
Adım 4: Sonuçları Doğrulayın
1. Zip Oluşturma Testi
Öncelikle bir zip dosyası oluşturmayı deneyelim. Create Zip düğmesine tıklayın ve size bir dosya iletişim kutusu sunacaktır. Birden fazla veya tek bir dosya seçerek zipe ekleyebilirsiniz.

Aç'ı tıklayın ve dosyaların başarıyla output.zip'e eklendiğini bildiren bir onay mesajı belirecektir.

Output.zip dosyasına gidip içeriğine bakarsak, eklediğimiz tüm dosyaları göreceğiz.

2. Zip Çıkarma Testi
Şimdi bir zip dosyasını çıkartalım. Extract Zip düğmesine tıklayın ve bir File dialog görünecektir. Çıkarmak istediğiniz zip dosyasını seçin ve aç'ı tıklayın.

Zip dosyasından veri alınması ve istenen klasöre çıkarılması tamamlandığında onay mesajı gösterilir.

Şimdi "Çıkartılmış Dosyalar" klasörüne gidin, ZIP'ten seçtiğimiz dosyaların çıkarıldığını göreceksiniz.

Sonuç
Sonuç olarak, IronZIP'in .NET MAUI ile entegrasyonu, çapraz platform uygulamalarda arşivler oluşturma, okuma ve çıkarma için güçlü bir çözüm sunar.
Verilen örnek, IronZIP ile birden fazla dosyayı seçme, bir zip arşivi oluşturma ve .NET MAUI içinde bir zip arşivinden dosya çıkarma işlemlerinin nasıl yapıldığını göstermektedir.
Bu teknoloji kombinasyonu, çeşitli platformlarda arşivleri yönetme ve manipüle etme konusunda geliştiricilere sorunsuz bir deneyim sunar.
Daha detaylı bilgi ve kod örnekleri için lütfen bu belge sayfasını ziyaret edin.
IronZIP, bir ücretsiz deneme sunmaktadır. Kütüphaneyi buradan indirip deneyebilirsiniz.
Sıkça Sorulan Sorular
Bir .NET MAUI projesine nasıl bir ZIP kütüphanesi entegre edebilirim?
IronZIP gibi bir ZIP kütüphanesi ile bir .NET MAUI projesine entegre etmek için Visual Studio'da yeni bir .NET MAUI projesi oluşturun, NuGet üzerinden IronZIP kütüphanesini yükleyin ve sağlanan kod örneklerini kullanarak ZIP arşiv işlevlerini uygulayın.
.NET MAUI uygulamasında bir ZIP kütüphanesi kullanmanın avantajları nelerdir?
IronZIP gibi bir ZIP kütüphanesi kullanmak, .NET MAUI uygulamasında etkin veri sıkıştırma ve çıkarma sağlar, birden fazla arşiv formatını destekler ve çeşitli platformlar ve .NET sürümleri ile uyumludur.
Bir ZIP kütüphanesini çapraz platform uygulamalarında kullanabilir miyim?
Evet, IronZIP'i çapraz platform uygulamaları için kullanabilirsiniz. Windows, Linux, Mac, iOS ve Android üzerinde C#, F# ve VB.NET uygulamalarını destekler.
.NET MAUI uygulamasında bir ZIP dosyası nasıl oluşturulur?
.NET MAUI uygulamasında IronZIP kütüphanesini kullanarak bir ZIP dosyası oluşturabilirsiniz. Dosya seçimine izin vermek için OnSelectFilesButtonClicked yöntemini uygulayın ve ZIP arşivine dosya eklemek için IronArchive sınıfını CreateZip yöntemi ile kullanın.
.NET MAUI projesinde bir ZIP arşivinden dosyalar nasıl çıkarılır?
.NET MAUI projesinde ZIP arşivinden dosya çıkarmak için IronZIP'in ExtractArchiveToDirectory yöntemini kullanın. İlk olarak, bir ZIP dosyası seçmek için OnSelectFileButtonClicked yöntemini uygulayın, ardından içeriğini belirtilen bir dizine çıkarın.
IronZIP hangi arşiv formatlarını destekler?
IronZIP, ZIP, TAR, GZIP ve BZIP2 dahil olmak üzere çeşitli arşiv formatlarını destekler ve farklı türde sıkıştırılmış dosya arşivlerini yönetmek için çok yönlü bir seçimdir.
IronZIP farklı .NET sürümleriyle uyumlu mu?
Evet, IronZIP, .NET 7, 6, 5, Core, Standard ve Framework gibi çeşitli .NET sürümleri ile uyumludur, farklı .NET ortamlarında çalışan geliştiriciler için esneklik sağlar.
.NET MAUI'de bir ZIP kütüphanesi uygulamanın önkoşulları nelerdir?
IronZIP gibi bir ZIP kütüphanesi uygulamak için, Visual Studio'nun .NET MAUI iş yükünü içeren bir sürümüne sahip olduğunuzdan ve IronZIP kütüphanesini NuGet üzerinden projenize eklediğinizden emin olun.
.NET MAUI uygulamasını ZIP işlevleri ile nasıl geliştirebilirim?
.NET MAUI uygulamanızı IronZIP'i entegre ederek ZIP dosyası oluşturma ve çıkarma işlemlerini yönetin ve kullanıcılara sağlam veri sıkıştırma ve açma yetenekleri sağlayın.
.NET MAUI'de ZIP kütüphanelerini kullanma hakkında daha fazla bilgiyi nerede bulabilirim?
Daha ayrıntılı bilgi ve kod örnekleri için, .NET MAUI projelerinde ZIP işlevselliklerini entegre etmeyle ilgili kapsamlı kılavuzluk sunan IronZIP belgeleri sayfasını ziyaret edebilirsiniz.




