Altbilgi içeriğine atla
IRONZIP KULLANıMı

.NET MAUI Veri Çıkarma SDK'sı IronZIP ile

.NET MAUI, veya .NET Çok Platformlu Uygulama Kullanıcı Arayüzü, platformlar arası uygulamalar geliştirmek için bir çerçevedir. Geliştiricilerin, Windows, macOS, iOS, Android ve diğer cihazlarda çalışan tek bir kod tabanı ile uygulamalar oluşturmasına olanak tanır. React Native'a benzer, ancak JavaScript yerine C# kullanır.

.NET MAUI, C# geliştiricilerinin tek bir ortamdan zahmetsizce mobil uygulamalar ve masaüstü uygulamaları oluşturmasına olanak tanır. Microsoft .NET MAUI, geliştiricilerin uygulama geliştirme sürecini düzene sokmalarına ve optimize etmelerine yardımcı olmak için kapsamlı belgeler ve kaynaklar sağlar.

Bu makalede, veri çıkarma amaçlı olarak .NET MAUI ile güçlü bir C# ZIP Arşiv Kütüphanesi IronZIP'in entegrasyonunu keşfedeceğiz.

Arşivlerden Veri Çıkarmak İçin Nasıl?

  1. Bir Visual Studio .NET MAUI Projesi Oluşturun
  2. NuGet Kullanarak C# ZIP Kütüphanesini Yükleyin
  3. Veri Çıkarma Uygulama Arayüzünü Tasarlayın
  4. ZIP Oluştur ve ZIP Çıkar Metodlarını Uygulayın
  5. Uygulamayı çalıştırın ve sonuçları doğrulayın

IronZIP ile Tanışma

IronZIP, .NET içinde arşiv oluşturma, okuma ve çıkarma için tasarlanmış kapsamlı bir C# ZIP arşiv kütüphanesidir. ZIP, TAR, GZIP ve BZIP2 dahil çok çeşitli arşiv formatlarını destekler. IronZIP, .NET 7, 6, 5, Core, Standard ve Framework gibi çeşitli .NET sürümleriyle uyumludur.

Çapraz platformdur ve Windows, Linux, Mac, iOS, Android, Docker, Azure ve AWS üzerinde çalışan C#, F# ve VB.NET uygulamaları için uygundur.

IronZIP'in Temel Özellikleri şunlardır:

  • Çeşitli işletim sistemleri için çapraz platform desteği.
  • Farklı .NET sürümleri ve proje türleriyle uyumluluk.
  • ZIP, TAR, GZIP ve BZIP2 arşivlerini oluşturma, okuma ve çıkarma desteği.
  • Çok platformlu uygulamalar oluşturmak için .NET MAUI ile entegrasyon.

Ön Koşullar

Başlamadan önce, aşağıdaki ön koşullara sahip olduğunuzdan emin olun:

  1. .NET MAUI iş yükü yüklü Visual Studio.
  2. IronZIP kütüphanesinin .NET MAUI projenize eklenmiş olması.

Visual Studio'da .NET MAUI Uygulaması Oluşturma Adımları

  1. Visual Studio'yu açın ve "Yeni Proje Oluştur" üzerine tıklayın.
  2. .NET MAUI Uygulama proje şablonunu seçin ve İleri'ye tıklayın.

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 1

  1. Proje Ayarlarını, Proje Adı ve Konumunu yapılandırın. Sonraki'ye tıklayın.

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 2

  1. Ek Bilgiler bölümünden doğru .NET Framework'ü seçin. IronZIP, .NET Framework'ün en son sürümünü destekler, bu yüzden bunu seçebilirsiniz.

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 3

  1. IronZIP kütüphanesini kullanarak Zip Veri Çıkarma 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 aşağıdaki adımları izleyin:

  1. Görünüm'den Çözüm Gezgini'ni açın.

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 4

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

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 5

  1. NuGet tarama sekmesinde "IronZIP" arayın ve projeniz için paketi kurun.

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 6

  1. Önizleme Değişiklikleri Diyaloğu'nda, değişiklikleri uygulamak için "Uygula" düğmesine, ardından IronZIP Lisansını kabul etmek için "Kabul Et" düğmesine tıklayın.
  2. NuGet yüklemeyi tamamlayacak ve bir onay mesajı görünecektir.

Şimdi, her şey yüklendikten ve ayarlandıktan sonra, .NET MAUI'de bir Zip falyo çıkarıcı 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ü tasarımına odaklanacağız. Proje klasörünüzdeki MainPage.xaml dosyasını açın ve kullanıcı dostu bir ara yüz oluşturmak için gerekli XAML kodunu ekleyin.

Burada, zip dosyaları oluşturmak için bir ve zip dosyalarını çıkarmak için ikinci buton olmak üzere iki butona ihtiyaçımız olacak. Uygun mesajlar sağlamak için birkaç etiket de gerekli olacak. 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>
XML

Uygulamayı çalıştırın ve ekranda düzenli bir Windows formu olarak çıktıyı göreceksiniz.

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 7

Adım 2: Kodu Uygulayın

1. Zip Oluştur

MainPage.xaml.cs dosyasını açın ve "Zip Oluştur" işlevselliğini oluşturun. OnSelectFilesButtonClicked yöntemini uygulayarak FilePicker açılmasını ve herhangi bir türdeki birden çok dosyayı seçerek bir zip dosyası oluşturulmasına izin verin.

Ardından, seçilen dosyalardan tüm yolların listesini oluşturun. Son olarak, IronZIP'ın tüm dosya yollarını bir saniye içinde sorunsuz bir şekilde kullanarak bir zip dosyası oluşturacağı CreateZip yöntemine aktarır.

Bu görevin nasıl başarılacağını gösteren aşağıdaki kod örneği.

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
$vbLabelText   $csharpLabel

Ardından, CreateZip yöntemini uygulayın. IronZIP'ın IronArchive sınıfı, zip dosyasının oluşturulacağı yolu alır. Her seçilen dosya yolunda döngü yaparken, Add yöntemiyle zip dosyasına eklenirler.

Dosyalar eklendikten sonra, DisplayAlert kullanılarak 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
$vbLabelText   $csharpLabel

Mevcut zip'e dosya eklemek ve bir zip'i çıkarmak için nasıl oluşturulacağı ve daha fazla bilgiyi görmek için lütfen bu eğitim sayfasını ziyaret edin.

2. Zip Çıkar

Şimdi, "Zip Çıkar" işlevselliğini oluşturacağız. Yine, MainPage.xaml.cs dosyasında, OnSelectFileButtonClicked yöntemini uygulayarak FilePicker açılmasını ve bir zip dosyasını çıkarmak için seçilmesine izin verin.

Seçilen dosyanın tam yolu bir string değişkene atanır ve IronZIP'ın çıkarmayı gerçekleştireceği ExtractZip yöntemine gönderilir. Kod şu şekildedir:

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
$vbLabelText   $csharpLabel

Ardından, ExtractZip yöntemini oluşturun. Bu yöntemde, dosyaları çıkarmak istediğiniz çıktı klasörünün yolunu ayarlayın.

IronZIP'ın ExtractArchiveToDirectory yöntemini kullanarak seçilen dosya yolunu ve çıktı yolunu aktarın. Bu yöntem, zip'teki tüm dosyaları sorunsuz bir şekilde dönüştürür ve çıktı klasörüne aktarır. Son olarak, başarılı bir çıkarma sonrası bir onay mesajı gösterilir.

Kod şu şekildedir:

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
$vbLabelText   $csharpLabel

Adım 3: Uygulamayı Çalıştırın

Kodları IronZIP ile birlikte başarıyla entegre ettikten sonra, veri çıkarma görevlerini gerçekleştirmek için uygulamayı oluşturup çalıştırın. Bir zip dosyası oluşturup bir zip dosyasından dosya çıkararak işlevselliği test edin.

Sonuçları belirtilen dizinlerdeki çıktı ve çıkarılan dosyaları kontrol ederek doğrulayın.

Adım 4: Sonuçları Doğrulayın

1. Zip Oluşturmayı Test Etme

Öncelikle bir zip dosyası oluşturmaya çalışalım. Zip Oluştur düğmesine tıklayın ve bir dosya iletişim kutusu görünecektir. Zip'e eklemek için bir veya birden çok dosya seçebilirsiniz.

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 8

Aç'a tıklayın ve dosyaların başarıyla output.zip'e eklendiğini belirten bir onay mesajı görünecektir.

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 9

Output.zip dosyasına gidip içeriğini görüntülersek, eklediğimiz tüm dosyaları göreceğiz.

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 10

2. Zip Çıkarmayı Test Etme

Şimdi bir zip dosyasını çıkaralım. Zip Çıkar düğmesine tıklayın ve bir Dosya iletişim kutusu görünecektir. Çıkarmak istediğiniz bir zip dosyasını seçin ve Aç'a tıklayın.

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 11

Zip dosyasından veriler alınıp istenilen dosyaya çıkarıldıktan sonra bir onay mesajı gelir.

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 12

Şimdi "Çıkarılan Dosyalar" klasörüne gidin ve seçtiğimiz zip'ten çıkarılan dosyaları göreceksiniz.

.NET MAUI Veri Çıkarma SDK'sı (Geliştirici Eğitimi): Şekil 13

Sonuç

Sonuç olarak, IronZIP'in .NET MAUI ile entegrasyonu, platformlar arası uygulamalarda arşiv oluşturma, okuma ve çıkarma için güçlü bir çözüm sunar.

Sağlanan örnek, .NET MAUI içinde birden fazla dosya seçme, bir zip arşivi oluşturma ve bir zip arşivinden dosya çıkarma için IronZIP kullanmanın nasıl olduğunu gösterir.

Bu teknoloji kombinasyonu, geliştiricilere çeşitli platformlar arasında arşivleri yönetme ve manipüle etme konusunda sorunsuz bir deneyim sunar.

Daha ayrıntılı bilgi ve kod örnekleri için lütfen bu belge sayfasını ziyaret edin.

IronZIP ücretsiz deneme sunar. Kütüphaneyi buradan indirip deneyebilirsiniz.

Sıkça Sorulan Sorular

.NET MAUI projesiyle bir ZIP kütüphanesi nasıl entegre edilir?

.NET MAUI projesiyle IronZIP gibi bir ZIP kütüphanesi entegre etmek için Visual Studio'da yeni bir .NET MAUI projesi oluşturun, IronZIP kütüphanesini NuGet aracılığıyla yükleyin ve sağlanan kod örneklerini kullanarak ZIP arşiv işlevselliklerini uygulayın.

.NET MAUI uygulamasında ZIP kütüphanesi kullanmanın avantajları nelerdir?

.NET MAUI uygulamasında IronZIP gibi bir ZIP kütüphanesi kullanmak, verimli veri sıkıştırma ve çıkarmanın yanı sıra, çeşitli platformlar ve .NET sürümleri arasında uyumluluğu destekler.

ZIP kütüphanesini platformlar arası uygulamalar için kullanabilir miyim?

Evet, IronZIP'i platformlar arası uygulamalar için kullanabilirsiniz. C#, F# ve VB.NET uygulamaları için Windows, Linux, Mac, iOS ve Android'i destekler.

.NET MAUI uygulamasında 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 metodunu uygulayın ve CreateZip yöntemiyle dosyaları bir ZIP arşivine eklemek için IronArchive sınıfını kullanın.

.NET MAUI projesinde bir ZIP arşivinden dosyaları nasıl çıkarabilirim?

.NET MAUI projesinde bir ZIP arşivinden dosyaları çıkarmak için IronZIP'in ExtractArchiveToDirectory metodunu kullanin. Ilk olarak, bir ZIP dosyasını seçmek için OnSelectFileButtonClicked metodunu uygulayın ve 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ı destekleyerek, farklı türde sıkıştırılmış dosya arşivlerini yönetmek için çok yönlü bir seçim yapar.

IronZIP farkli .NET sürümleriyle uyumlu mu?

Evet, IronZIP, .NET 7, 6, 5, Core, Standard ve Framework gibi çeşitli .NET sürümleriyle uyumludur ve farklı .NET ortamlarında çalışan geliştiricilere esneklik sağlar.

.NET MAUI'da bir ZIP kütüphanesini uygulamak için gereken önkoşullar nelerdir?

.NET MAUI'da IronZIP gibi bir ZIP kütüphanesi uygulamak için Visual Studio'da .NET MAUI iş yükünün kurulu olduğundan ve IronZIP kütüphanesinin NuGet aracılığıyla projenize eklendiğinden emin olun.

.NET MAUI uygulamasını ZIP işlevsellikleri ile nasıl geliştirebilirim?

IronZIP'i entegre ederek verileri verimli bir şekilde sıkıştırip çıkarmak için .NET MAUI uygulamalarına ZIP dosya oluşturma ve çıkarma işlevsellikleri ekleyerek geliştirir.

.NET MAUI'de ZIP kütüphanelerini kullanma hakkında daha fazla bilgiyi nerede bulabilirim?

.NET MAUI projelerinde ZIP işlevselliklerini entegre etme ve kullanma ile ilgili daha ayrıntılı bilgi ve kod örnekleri için IronZIP dokümantasyon sayfasını ziyaret edebilirsiniz.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara