Zum Fußzeileninhalt springen
IRONQR NUTZEN

Wie man .NET MAUI für QR-Code-Scanner verwendet

With the rise of mobile applications leveraging QR Codes for quick information retrieval, the need for an efficient and easy-to-integrate QR Code scanner as well as a .NET MAUI Barcode scanner to scan Barcodes is growing..NETMAUI (Multi-platform App UI), Microsoft's cross-platform framework, provides a unified environment for building applications across iOS, Android, macOS, and Windows. Beim Scannen von QR-Codes in einer .NET MAUI-Anwendung benötigen Entwickler eine intuitive und leistungsstarke Bibliothek, um den Prozess zu verwalten.

IronQR ist eine beliebte Bibliothek, die es Entwicklern ermöglicht, QR-Codes schnell, genau und zuverlässig zu erzeugen und zu decodieren. Dieser Artikel führt Sie durch die Integration von IronQR mit .NET MAUI, um einen QR-/Barcode-Scanner zu erstellen, der nahtlos über mehrere Plattformen hinweg funktioniert.

So implementieren Sie QR Barcode Scanning mit IronQR

  1. Erstellen Sie ein .NET MAUI-Projekt.
  2. Installieren Sie das IronQR NuGet-Paket.
  3. Richten Sie Berechtigungen für Kamera und Dateispeicherung ein.
  4. Implementieren Sie den QR-Code-Scanner.

Einführung in IronQR für .NET MAUI Mobile Apps

IronQR ist eine leistungsstarke, einfach zu verwendende Bibliothek, die die Erstellung und Decodierung von QR-Codes in .NET-Anwendungen vereinfacht, einschließlich .NET MAUI Mobile Apps für QR- und Barcode-Scan-Funktionen. Es bietet schnelle und zuverlässige Lösungen zur Integration von QR-Code- und Barcode-Scan-Funktionen über Plattformen wie iOS, Android, macOS und Windows, was für den Aufbau plattformübergreifender mobiler Apps entscheidend ist.

Funktionen von IronQR für .NET MAUI Mobile Apps

  • Plattformübergreifende Unterstützung: Funktioniert nahtlos auf iOS-, Android-, macOS- und Windows-Plattformen innerhalb von MAUI-Apps.
  • QR-Code-Scannen: Decodiert effizient verschiedene Arten von QR-Codes (URLs, Text, Kontaktinformationen usw.). Es unterstützt auch das Lesen mehrerer Barcodes mit effizienten Barcode-Erkennungsalgorithmen.
  • QR-Code-Erzeugung: Ermöglicht die einfache Erzeugung von QR-Codes aus Daten wie URLs, Texten und mehr.
  • Kameraberechtigungen: Handhabt automatisch Anfragen für Kameraberechtigungen, was den Scan-Prozess vereinfacht.
  • Hohe Leistung: Schnelles und zuverlässiges QR-Code-Scannen und -Erzeugen mit minimalen Ressourcenverbrauch.
  • Anpassbare Einstellungen: Bietet Anpassungsoptionen für Scan-Parameter und das Aussehen von QR-Codes.
  • Einfache Integration: Einfaches API und minimaler Konfigurationsaufwand für die Integration von QR-Code-Scannen und -Erzeugung in Ihre .NET MAUI-App.
  • Fehlerbehandlung: Liefert detailreiche Fehlermeldungen und Fehlerbehebenden Anleitungen, um eine reibungslose Funktionalität in verschiedenen Szenarien zu gewährleisten.
  • Keine externen Abhängigkeiten: IronQR funktioniert unabhängig und reduziert den Bedarf an Drittanbieter-Bibliotheken oder komplexen Konfigurationen, anders als der ZXing-Barcode-Scanner.
  • Multi-Format-Unterstützung: Unterstützt mehrere QR-Code-Formate, um die Kompatibilität mit einer Vielzahl von QR-Codes zu gewährleisten, die in der realen Welt verwendet werden.

Voraussetzungen

Bevor Sie mit der Implementierung fortfahren, stellen Sie sicher, dass Sie über die folgenden Voraussetzungen verfügen:

  1. Visual Studio 2022 oder höher installiert.
  2. .NET 6.0 SDK oder höher (da .NET MAUI auf .NET 6 und höheren Versionen basiert).
  3. IronQR NuGet-Paket für QR-Code-Scannen und Barcode-Erkennung.
  4. .NET MAUI-App (Sie können eine neue MAUI-App in Visual Studio erstellen, wenn Sie noch keine haben).

Schritt 1: Erstellen Sie ein .NET MAUI-Projekt

Beginnen wir damit, ein einfaches .NET MAUI-Projekt zu erstellen:

  1. Öffnen Sie Visual Studio und klicken Sie auf Erstellen Sie ein neues Projekt.
  2. Wählen Sie die Vorlage .NET MAUI App aus.

Neues Projekt

  1. Benennen Sie das Projekt (z. B. MauiQRCodeScanner), wählen Sie einen Speicherort und klicken Sie auf Weiter.

Projektkonfiguration

Wählen Sie die erforderliche .NET-Version und klicken Sie auf Erstellen.

Zielplattform

Schritt 2: Installieren Sie das IronQR NuGet-Paket

IronQR ist eine Drittanbieter-Bibliothek, die Funktionen zur QR-Code-Erzeugung und -Scannen bietet. Um IronQR zu installieren, müssen Sie es über NuGet hinzufügen:

  1. Klicken Sie in Visual Studio mit der rechten Maustaste auf die Abhängigkeiten in Ihrem Lösungs-Explorer.
  2. Klicken Sie auf NuGet-Pakete verwalten.
  3. Suchen Sie im Durchsuchen-Tab nach IronQR und klicken Sie auf Installieren beim entsprechenden Paket (normalerweise IronQR oder IronQR.Maui, wenn speziell für MAUI verfügbar).
  4. Akzeptieren Sie alle Lizenzbestimmungen und stellen Sie sicher, dass die Bibliothek installiert wird.

IronQR

Schritt 3: Berechtigungen für Kamera und Dateispeicherung einrichten

Damit Ihre Anwendung QR-Codes scannen kann, müssen Sie die Kameraerlaubnis auf mobilen Plattformen (iOS und Android) anfordern. So können Sie die erforderlichen Berechtigungen hinzufügen.

Android

Fügen Sie der Datei AndroidManifest.xml die Kameraberechtigung hinzu:

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
XML

iOS

Fügen Sie der Datei Info.plist die Beschreibung der Kameranutzung hinzu:

<key>NSCameraUsageDescription</key>
<string>We need access to your camera to scan QR codes</string>
<key>NSCameraUsageDescription</key>
<string>We need access to your camera to scan QR codes</string>
XML

Schritt 4: Implementieren Sie den QR-Code-Scanner

Erstellen wir nun eine einfache Benutzeroberfläche für unseren QR-Scanner in der MAUI Barcode-Scanner-App. Wir verwenden die Schaltfläche, um den Scanvorgang zu starten, und ein Label, um den gescannten QR-Code-Text anzuzeigen.

Bearbeiten Sie die MainPage.xaml Datei im XML-Namespace.

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MauiQRCodeScanner.MainPage">

    <StackLayout Padding="20" VerticalOptions="Center">
        <Button x:Name="scanButton" Text="Scan QR Code" Clicked="OnScanButtonClicked" />
        <Label x:Name="resultLabel" Text="Scan Result will appear here" HorizontalOptions="Center" VerticalOptions="CenterAndExpand"/>
    </StackLayout>
</ContentPage>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MauiQRCodeScanner.MainPage">

    <StackLayout Padding="20" VerticalOptions="Center">
        <Button x:Name="scanButton" Text="Scan QR Code" Clicked="OnScanButtonClicked" />
        <Label x:Name="resultLabel" Text="Scan Result will appear here" HorizontalOptions="Center" VerticalOptions="CenterAndExpand"/>
    </StackLayout>
</ContentPage>
XML

Nun werden Sie in der MainPage.xaml.cs Datei die Kameraberechtigungen und die Logik zum Scannen des QR-Codes behandeln. So implementieren Sie es:

using IronQrCode;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Essentials;

namespace MauiQRCodeScanner
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            License.LicenseKey = "Your key";  // Add your IronQR license key here
            InitializeComponent();
        }

        // OnScanButtonClicked method with object sender as input
        private async void OnScanButtonClicked(object sender, EventArgs e)
        {
            // Check for camera permission
            var status = await Permissions.RequestAsync<Permissions.Camera>();
            if (status != PermissionStatus.Granted)
            {
                await DisplayAlert("Permission Denied", "Cannot scan QR codes without camera permission", "OK");
                return;
            }

            // Start scanning QR codes
            try
            {
                var images = await FilePicker.Default.PickAsync(new PickOptions
                {
                    PickerTitle = "Pick image",
                    FileTypes = FilePickerFileType.Images
                });
                var imageSource = images.FullPath.ToString();

                var inputBmp = AnyBitmap.FromFile(imageSource);
                // Load the asset into QrImageInput
                QrImageInput imageInput = new QrImageInput(inputBmp);

                // Create a QR Reader object
                QrReader reader = new QrReader();

                // Read the input and get all embedded QR Codes
                IEnumerable<QrResult> results = reader.Read(imageInput);

                if (results.Any())
                {
                    resultLabel.Text = "Scanned Text: " + results.First().Value; 
        // Display the result
                }
                else
                {
                    resultLabel.Text = "No QR code detected";
                }
        }
        catch (Exception ex)
        {
            resultLabel.Text = "Error: " + ex.Message;
        }
        }
    }
}
using IronQrCode;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Essentials;

namespace MauiQRCodeScanner
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            License.LicenseKey = "Your key";  // Add your IronQR license key here
            InitializeComponent();
        }

        // OnScanButtonClicked method with object sender as input
        private async void OnScanButtonClicked(object sender, EventArgs e)
        {
            // Check for camera permission
            var status = await Permissions.RequestAsync<Permissions.Camera>();
            if (status != PermissionStatus.Granted)
            {
                await DisplayAlert("Permission Denied", "Cannot scan QR codes without camera permission", "OK");
                return;
            }

            // Start scanning QR codes
            try
            {
                var images = await FilePicker.Default.PickAsync(new PickOptions
                {
                    PickerTitle = "Pick image",
                    FileTypes = FilePickerFileType.Images
                });
                var imageSource = images.FullPath.ToString();

                var inputBmp = AnyBitmap.FromFile(imageSource);
                // Load the asset into QrImageInput
                QrImageInput imageInput = new QrImageInput(inputBmp);

                // Create a QR Reader object
                QrReader reader = new QrReader();

                // Read the input and get all embedded QR Codes
                IEnumerable<QrResult> results = reader.Read(imageInput);

                if (results.Any())
                {
                    resultLabel.Text = "Scanned Text: " + results.First().Value; 
        // Display the result
                }
                else
                {
                    resultLabel.Text = "No QR code detected";
                }
        }
        catch (Exception ex)
        {
            resultLabel.Text = "Error: " + ex.Message;
        }
        }
    }
}
Imports IronQrCode
Imports Microsoft.Maui.Controls
Imports Microsoft.Maui.Essentials

Namespace MauiQRCodeScanner
	Partial Public Class MainPage
		Inherits ContentPage

		Public Sub New()
			License.LicenseKey = "Your key" ' Add your IronQR license key here
			InitializeComponent()
		End Sub

		' OnScanButtonClicked method with object sender as input
		Private Async Sub OnScanButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
			' Check for camera permission
			Dim status = Await Permissions.RequestAsync(Of Permissions.Camera)()
			If status <> PermissionStatus.Granted Then
				Await DisplayAlert("Permission Denied", "Cannot scan QR codes without camera permission", "OK")
				Return
			End If

			' Start scanning QR codes
			Try
				Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
					.PickerTitle = "Pick image",
					.FileTypes = FilePickerFileType.Images
				})
				Dim imageSource = images.FullPath.ToString()

				Dim inputBmp = AnyBitmap.FromFile(imageSource)
				' Load the asset into QrImageInput
				Dim imageInput As New QrImageInput(inputBmp)

				' Create a QR Reader object
				Dim reader As New QrReader()

				' Read the input and get all embedded QR Codes
				Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)

				If results.Any() Then
					resultLabel.Text = "Scanned Text: " & results.First().Value
		' Display the result
				Else
					resultLabel.Text = "No QR code detected"
				End If
		Catch ex As Exception
			resultLabel.Text = "Error: " & ex.Message
		End Try
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Code-Erklärung

  • Berechtigungen: Wir fordern mit Permissions.RequestAsync<Permissions.Camera>() Kameraberechtigungen an. Wenn die Berechtigung verweigert wird, wird dem Benutzer eine Warnung angezeigt.
  • IronQR Scanner: Verwenden Sie IronQR-Bibliotheksobjekte und -Methoden zum Scannen von QR-Codes. Die Methode QrReader.Read() versucht, die QR-Codes zu decodieren, und das Ergebnis wird auf dem Label angezeigt.

QR-Code Eingabe

QR-Code Eingabe

Ausgabe

QR-Code Ausgabe

Wählen oder erfassen Sie den erforderlichen QR-Code aus dem Kamerabild.

QR-Code auswählen

Das Ergebnis wird wie unten in der Benutzeroberfläche angezeigt.

QR-Code UI Ausgabe

IronQR Lizenz (Testversion verfügbar)

IronQR arbeitet mit einem Lizenzschlüssel im mobilen Anwendungscode. Entwickler können einfach eine Testlizenz von der Lizenz-Seite erhalten. Platzieren Sie die Lizenz an einer Stelle im Code, wie unten gezeigt, bevor Sie die IronQR-Bibliothek verwenden.

License.LicenseKey = "Your License";
License.LicenseKey = "Your License";
License.LicenseKey = "Your License"
$vbLabelText   $csharpLabel

Abschluss

In diesem Artikel haben wir den Prozess zum Erstellen eines QR-Code-Scanners in einer .NET MAUI-Anwendung mit IronQR durchlaufen. Wir haben mit der Einrichtung einer .NET MAUI-App begonnen, das IronQR-Paket installiert und die Benutzeroberfläche sowie die Scanning-Logik implementiert. IronQR macht das QR-Code-Scannen in einer .NET MAUI-App unglaublich einfach und effektiv.

Die IronQR-Bibliothek ist so konzipiert, dass sie plattformübergreifend funktioniert, wodurch sichergestellt wird, dass Apps, die mit .NET MAUI erstellt wurden, konsistent auf alle Zielgeräte, sei es ein Smartphone, Tablet oder Desktop-System, auf QR-Code-Funktionen zugreifen können. IronQR unterstützt auch Funktionen wie die automatische Behandlung von Kameraberechtigungen, was die Integration des QR-Code-Scanns erleichtert, ohne die Erlaubnisse manuell handhaben zu müssen.

Kurz gesagt, ermöglicht IronQR für .NET MAUI Entwicklern, QR-Code-Scannen und -Generierungsfunktionen in ihren mobilen Anwendungen schnell zu implementieren, was die Entwicklung vereinfacht und die Benutzererfahrung auf allen Plattformen verbessert.

Häufig gestellte Fragen

Wie kann ich einen QR-Code-Scanner in eine .NET MAUI-Anwendung integrieren?

Um einen QR-Code-Scanner in einer .NET MAUI-App zu integrieren, nutzen Sie die IronQR-Bibliothek, indem Sie sie über NuGet installieren, und verwenden Sie QrReader.Read(), um QR-Codes zu dekodieren.

Was sind die Schritte zur Erstellung eines .NET MAUI-Projekts für das QR-Scanning?

Beginnen Sie, indem Sie Visual Studio öffnen, ein neues Projekt mit der .NET MAUI-App-Vorlage erstellen und die erforderliche .NET-Version wählen. Installieren Sie dann die IronQR-Bibliothek, um das QR-Scanning zu implementieren.

Welche Berechtigungen sind für das QR-Scanning in .NET MAUI-Apps erforderlich?

Für das QR-Scanning sind Kameraberechtigungen erforderlich. Fügen Sie unter Android die notwendigen Berechtigungen in AndroidManifest.xml hinzu und aktualisieren Sie auf iOS die Info.plist mit einer Beschreibung der Kameranutzung.

Wie verwalte ich Kameraberechtigungen in einer .NET MAUI-App?

Verwenden Sie Permissions.RequestAsync<Permissions.Camera>(), um Kameraberechtigungen anzufordern. Gehen Sie bei Verweigerung mit einer Benachrichtigung an den Benutzer vor.

Welche Vorteile bietet die Nutzung der IronQR-Bibliothek für das QR-Scanning?

IronQR bietet plattformübergreifende Unterstützung, hohe Leistung, anpassbare Einstellungen, automatische Kameraberechtigungshandhabung und Multi-Format-Unterstützung, was es ideal für .NET MAUI-Apps macht.

Wie kann ich Probleme beim QR-Code-Scanning in meiner .NET MAUI-App beheben?

Stellen Sie sicher, dass die IronQR-Bibliothek korrekt installiert ist, Berechtigungen erteilt sind und die Gerätekamera funktioniert. Überprüfen Sie den Code auf Fehler mit try-catch-Blöcken.

Was ist erforderlich, um mit .NET MAUI und QR-Scanning zu beginnen?

Sie benötigen Visual Studio 2022 oder neuer, das .NET 6.0 SDK oder neuer, sowie das IronQR NuGet-Paket, um QR-Code-Scanning und Barcode-Erkennung zu ermöglichen.

Wie erhalte ich eine Testlizenz für eine QR-Code-Bibliothek?

Besuchen Sie die IronQR-Lizenzseite, um einen Testlizenzschlüssel zu erhalten. Fügen Sie den Lizenzschlüssel in Ihren Code ein, bevor Sie die IronQR-Funktionen nutzen.

Welche Formate unterstützt die IronQR-Bibliothek für das QR-Scanning?

IronQR unterstützt mehrere QR-Code- und Barcode-Formate, was eine Verwendung in verschiedenen Anwendungen und Plattformen ermöglicht.

Wie kann ich in einer .NET-Anwendung QR-Codes generieren?

Verwenden Sie die Methoden der IronQR-Bibliothek, um QR-Codes effizient zu generieren und die Einstellungen gemäß den Anforderungen Ihrer Anwendung anzupassen.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen