Jak używać .NET MAUI do skanera kodów QR
Wraz z rozwojem aplikacji mobilnych wykorzystujących kody QR do szybkiego wyszukiwania informacji rośnie zapotrzebowanie na wydajny i łatwy w integracji skaner kodów QR, a także skaner BarCode .NET MAUI do skanowania BarCode. .NETMAUI (Multi-platform App UI), wielopłatformowa platforma Microsoftu, zapewnia ujednolicone środowisko do tworzenia aplikacji na systemy iOS, Android, macOS i Windows. Podczas skanowania kodów QR w aplikacji .NET MAUI programiści potrzebują intuicyjnej i wydajnej biblioteki do zarządzania tym procesem.
IronQR to popularna biblioteka, która pozwala programistom szybko, dokładnie i niezawodnie generować oraz dekodować kody QR. W tym artykułe omówimy integrację IronQR z .NET MAUI w celu stworzenia skanera kodów QR/BARCODE, który będzie działał płynnie na wielu platformach.
Jak zaimplementować skanowanie kodów QR za pomocą IronQR
- Utwórz projekt .NET MAUI.
- Zainstaluj pakiet IronQR NuGet.
- Skonfiguruj uprawnienia do kamery i przechowywania plików.
- Zaimplementuj skaner kodów QR.
Wprowadzenie do IronQR for .NET dla aplikacji mobilnych .NET MAUI
IronQR to potężna, łatwa w użyciu biblioteka, która upraszcza generowanie i dekodowanie kodów QR w aplikacjach .NET, w tym w aplikacjach mobilnych .NET MAUI z funkcją skanowania kodów QR i kodów kreskowych. Zapewnia szybkie i niezawodne rozwiązania do integracji funkcji skanowania kodów QR i BarCode na różnych platformach, takich jak iOS, Android, macOS i Windows, co jest niezbędne do tworzenia wielopłatformowych aplikacji mobilnych.
Funkcje IronQR for .NET dla aplikacji mobilnych .NET MAUI
- Obsługa wielu platform: Działa płynnie na platformach iOS, Android, macOS i Windows w ramach aplikacji MAUI.
- Skanowanie kodów QR: Efektywnie dekoduje różne typy kodów QR (adresy URL, tekst, dane kontaktowe itp.). Obsługuje również wiele BarCodes odczytywanych za pomocą wydajnych algorytmów wykrywania BarCodes.
- Generowanie kodów QR: Umożliwia łatwe generowanie kodów QR na podstawie danych, takich jak adresy URL, teksty i inne.
- Obsługa uprawnień do kamery: automatycznie obsługuje żądania uprawnień do kamery, upraszczając proces skanowania.
- Wysoka wydajność: Szybkie i niezawodne skanowanie oraz generowanie kodów QR przy minimalnym zużyciu zasobów.
- Ustawienia dostosowywane: Oferuje opcje dostosowywania parametrów skanowania i wyglądu kodu QR.
- Łatwa integracja: proste API i minimalna konfiguracja wymagańa do dodania funkcji skanowania i generowania kodów QR do aplikacji .NET MAUI.
- Obsługa błędów: Zapewnia szczegółowe komunikaty o błędach i wskazówki dotyczące rozwiązywania problemów, gwarantując płynne działanie w różnych sytuacjach.
- Brak zewnętrznych zależności: IronQR działa niezależnie, co zmniejsza zapotrzebowanie na biblioteki stron trzecich lub skomplikówane konfiguracje, w przeciwieństwie do skanera BarCode ZXing.
- Obsługa wielu formatów: Obsługuje wiele formatów kodów QR, zapewniając kompatybilność z szeroką gamą kodów QR używanych w praktyce.
Wymagania wstępne
Przed przystąpieniem do realizacji upewnij się, że spełniasz następujące wymagania wstępne:
- Zainstalowany program Visual Studio 2022 lub nowszy.
- .NET 6.0 SDK lub nowszy (ponieważ .NET MAUI jest oparty na .NET 6 i nowszych wersjach).
- Pakiet IronQR NuGet do skanowania kodów QR i wykrywania kodów BarCode.
- Aplikacja .NET MAUI (jeśli jeszcze jej nie masz, możesz utworzyć nową aplikację MAUI w Visual Studio).
Krok 1: Utwórz projekt .NET MAUI
Na początek stwórzmy prosty projekt .NET MAUI:
- Otwórz Visual Studio i kliknij Utwórz nowy projekt.
-
Wybierz szablon aplikacji .NET MAUI.

-
Nadaj nazwę projektowi (np. MauiQRCodeScanner), wybierz lokalizację i kliknij Dalej.

Wybierz wymagańą wersję .NET i kliknij Utwórz.

Krok 2: Zainstaluj pakiet IronQR NuGet
IronQR to biblioteka innej firmy, która zapewnia funkcje generowania i skanowania kodów QR. Aby zainstalować IronQR, należy dodać go za pośrednictwem NuGet:
- W programie Visual Studio kliknij prawym przyciskiem myszy pozycję "Dependencies" (Zależności) w oknie Solution Explorer (Eksplorator rozwiązań).
- Kliknij Zarządzaj pakietami NuGet.
- W zakładce Przeglądaj wyszukaj IronQR i kliknij Zainstaluj przy odpowiednim pakiecie (zazwyczaj IronQR lub IronQr.Maui, jeśli jest dostępny specjalnie dla MAUI).
-
Zaakceptuj wszelkie licencje i upewnij się, że biblioteka została zainstalowana.

Krok 3: Skonfiguruj uprawnienia do kamery i przechowywania plików
Aby Twoja aplikacja mogła skanować kody QR, musisz poprosić o uprawnienia do korzystania z aparatu na platformach mobilnych (iOS i Android). Oto jak można dodać następujące uprawnienia.
Android
W pliku AndroidManifest.xml dodaj uprawnienie do kamery:
<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" />
iOS
W pliku Info.plist dodaj opis korzystania z kamery:
<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>
Krok 4: Wdrożenie skanera kodów QR
Teraz stwórzmy prosty interfejs użytkownika dla naszego skanera kodów QR w aplikacji MAUI BarCode scanner. Użyjemy przycisku (Button) do uruchomienia procesu skanowania oraz etykiety (Label) do wyświetlenia tekstu zeskanowanego kodu QR.
Edytuj plik MainPage.xaml w przestrzeni nazw XML.
<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>
Teraz, w MainPage.xaml.cs, zajmiesz się uprawnieniami kamery i logiką skanowania kodów QR. Oto jak to zrealizować:
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
Wyjaśnienie kodu
- Uprawnienia: Prosimy o uprawnienia do kamery za pomocą
Permissions.RequestAsync<Permissions.Camera>(). Jeśli uprawnienie zostanie odrzucone, użytkownikowi wyświetli się komunikat ostrzegawczy. - IronQR Scanner: Wykorzystaj obiekty i metody biblioteki IronQR do skanowania kodów QR. Metoda
QrReader.Read()próbuje zdekodować kody QR, a wynik jest wyświetlany na etykiecie.
Wprowadź kod QR

Wynik

Wybierz wymagańy kod QR lub zrób mu zdjęcie za pomocą aparatu.

Wynik jest wyświetlany w interfejsie użytkownika w sposób przedstawiony poniżej.

Licencja IronQR (dostępna wersja próbna)
IronQR działa z kluczem licencyjnym w kodzie aplikacji mobilnej. Programiści mogą łatwo uzyskać Licencję Trial na stronie licencji. Przed użyciem biblioteki IronQR umieść licencję w dowolnym miejscu w kodzie, tak jak poniżej.
License.LicenseKey = "Your License";
License.LicenseKey = "Your License";
License.LicenseKey = "Your License"
Wnioski
W tym artykułe omówiliśmy proces tworzenia skanera kodów QR w aplikacji .NET MAUI przy użyciu IronQR. Zaczęliśmy od skonfigurowania aplikacji .NET MAUI, zainstalowaliśmy pakiet IronQR i zaimplementowaliśmy interfejs użytkownika oraz logikę skanowania. IronQR sprawia, że skanowanie kodów QR w aplikacji .NET MAUI jest niezwykle proste i skuteczne.
Biblioteka IronQR została zaprojektowana jako wielopłatformowa, co gwarantuje, że aplikacje tworzone przy użyciu .NET MAUI mają spójny dostęp do funkcji kodów QR na wszystkich docelowych urządzeniach, niezależnie od tego, czy są to smartfony, tablety czy komputery stacjonarne. IronQR obsługuje również funkcje takie jak automatyczne zarządzanie uprawnieniami aparatu, co ułatwia integrację skanowania kodów QR bez konieczności ręcznego zarządzania uprawnieniami.
Krótko mówiąc, IronQR for .NET MAUI umożliwia programistom szybkie wdrażanie funkcji skanowania i generowania kodów QR w ich aplikacjach mobilnych, usprawniając proces tworzenia oprogramowania i poprawiając komfort użytkowania na wszystkich platformach.
Często Zadawane Pytania
Jak zintegrować skaner kodów QR z aplikacją .NET MAUI?
Aby zintegrować skaner kodów QR z aplikacją .NET MAUI, należy zainstalować bibliotekę IronQR za pośrednictwem NuGet i użyć metody QrReader.Read() do dekodowania kodów QR.
Jakie są kroki tworzenia projektu .NET MAUI do skanowania kodów QR?
Zacznij od otwarcia programu Visual Studio, utwórz nowy projekt przy użyciu szablonu aplikacji .NET MAUI i wybierz odpowiednią Wersję .NET. Następnie zainstaluj bibliotekę IronQR, aby zaimplementować skanowanie kodów QR.
Jakie uprawnienia są niezbędne do skanowania kodów QR w aplikacjach .NET MAUI?
Skanowanie kodów QR wymaga uprawnień do korzystania z aparatu. W systemie Android należy dodać niezbędne uprawnienia w pliku AndroidManifest.xml, a w systemie iOS zaktualizować plik Info.plist, dodając opis wykorzystania aparatu.
Jak zarządzać uprawnieniami kamery w aplikacji .NET MAUI?
Użyj Permissions.RequestAsync, aby poprosić o uprawnienia do kamery. W przypadku odmowy wyświetl alert, aby poinformować o tym użytkownika.
Jakie są zalety korzystania z biblioteki IronQR do skanowania kodów QR?
IronQR oferuje obsługę wielu platform, wysoką wydajność, konfigurowalne ustawienia, automatyczne zarządzanie uprawnieniami kamery oraz obsługę wielu formatów, co czyni go idealnym rozwiązaniem dla aplikacji .NET MAUI.
Jak mogę rozwiązać problemy ze skanowaniem kodów QR w mojej aplikacji .NET MAUI?
Upewnij się, że biblioteka IronQR jest poprawnie zainstalowana, nadano uprawnienia do korzystania z aparatu, a aparat urządzenia działa. Sprawdź, czy w kodzie nie ma błędów, korzystając z bloków try-catch.
Co jest potrzebne, aby rozpocząć programowanie z wykorzystaniem .NET MAUI i skanowania kodów QR?
Potrzebujesz programu Visual Studio 2022 lub nowszego, zestawu SDK .NET 6.0 lub nowszego oraz pakietu IronQR NuGet, aby umożliwić skanowanie kodów QR i wykrywanie kodów BarCode.
Jak uzyskać Licencję Trial na bibliotekę kodów QR?
Odwiedź stronę licencji IronQR, aby uzyskać klucz licencji Trial. Wprowadź klucz licencji do swojego kodu przed rozpoczęciem korzystania z funkcji IronQR.
Jakie formaty obsługuje biblioteka IronQR do skanowania kodów QR?
IronQR obsługuje wiele formatów kodów QR i BarCode, dzięki czemu można go używać w różnych aplikacjach i na różnych platformach.
Jak mogę generować kody QR w aplikacji .NET?
Skorzystaj z metod biblioteki IronQR, aby efektywnie generować kody QR, co pozwoli Ci dostosować ustawienia do potrzeb Twojej aplikacji.




