using IronQr;
using IronSoftware.Drawing;
// Create a QR Code object
QrCode myQr = QrWriter.Write("hello world");
// Save QR Code as a Bitmap
AnyBitmap qrImage = myQr.Save();
// Save QR Code Bitmap as File
qrImage.SaveAs("qr.png");
So scannen Sie QR-Codes auf Android (Anfängertutorial)
Jordi Bardia
16. Dezember 2024
Teilen Sie:
QR-Codes sind heutzutage überall zu finden und dienen als schnelle Links zu Websites, Rabatten oder wichtigen Informationen. Jedoch ist die Methode, sie zu scannen, nicht immer dieselbe auf allen Android-Geräten. Abhängig von Ihrem Telefonmodell können Sie möglicherweise Ihre integrierte Kamera-App verwenden oder benötigen möglicherweise einen separaten QR-Code-Scanner. Um jegliche Verwirrung zu beseitigen, haben wir eine ausführliche Anleitung zusammengestellt, die Ihnen hilft, QR-Codes mühelos auf jedem Android-Smartphone oder -Tablet zu scannen. Wir werden auch eine programmatische Methode zur QR-Code-Erkennung mit der IronQR-Bibliothek erkunden.
Eingebaute Methoden zum Scannen von QR-Codes auf Android.
Android-Geräte sind oft mit nativen Funktionen ausgestattet, um das Scannen von QR-Codes zu unterstützen. Diese eingebauten Methoden bieten Komfort und Sicherheit, da sie keine Installation von Drittanbieteranwendungen erfordern. Lassen Sie uns die wichtigsten integrierten Optionen untersuchen, die Android-Gerätenutzern zur Verfügung stehen.
1. Google Lens App
Google Lens ist ein leistungsstarkes Werkzeug zur visuellen Analyse, das QR-Code-Scan-Funktionen umfasst. Diese Anwendung ist oft auf Android-Geräten vorinstalliert und kann über verschiedene Einstiegspunkte aufgerufen werden.
Zugriff auf Google Lens
Benutzer können Google Lens auf ihrem Android-Telefon über verschiedene Methoden aufrufen, abhängig von ihrem Gerät und ihren Vorlieben. Der gebräuchlichste Ansatz erfolgt über die Google App. Hier sind die Schritte, um auf Google Lens zuzugreifen:
Öffnen Sie die Google App
Suchen Sie das Google Lens-Symbol in der Nähe der Suchleiste.
Tippen Sie auf das Symbol, um Google Lens zu aktivieren.
Für diejenigen, die lieber mit vorhandenen Bildern arbeiten, bietet Google Photos einen weiteren Einstiegspunkt. Der Prozess ist wie folgt:
Google Fotos öffnen
Wählen Sie ein Bild mit einem QR-Code aus
Tippen Sie auf das Google Lens-Symbol unten auf dem Bildschirm. Danach können Sie die Google Lens-Funktion zum Scannen von QR-Codes verwenden.
Einige Android-Geräte, insbesondere solche, die neuere Versionen des Betriebssystems verwenden, integrieren Google Lens direkt in die native Kameraanwendung. Benutzer dieser Geräte können Google Lens aufrufen, indem sie:
Starten der Kamera-App
Auf der Suche nach einer Option „Modi“ oder „Mehr“
Auswahl von Google Lens, falls verfügbar
Verwendung von Google Lens zum Scannen von QR-Codes
Sobald Google Lens aktiviert ist, ist der Vorgang zum Scannen eines QR-Codes unkompliziert. So verwenden Sie es:
Richten Sie die Kamera Ihres Geräts auf den QR-Code.
Warten Sie, bis Google Lens automatisch einen Scan startet.
Wenn ein QR-Code erkannt wird, erscheint ein Popup mit den kodierten Informationen.
Tippen Sie auf das Pop-up, um zum verlinkten Inhalt zu gelangen oder die zugehörige Aktion auszuführen.
2. Kachel für Schnelleinstellungen
Einige Android-Geräte bieten eine Schnellkachel in den Schnelleinstellungen für das Scannen von QR-Codes an, die einen schnellen Zugriff auf diese Funktionalität ermöglicht. Um diese Funktion einzurichten und zu nutzen:
Greifen Sie auf das Schnellbedienfeld zu, indem Sie vom oberen Bildschirmrand nach unten wischen.
Öffnen Sie das gesamte Panel mit einem zweiten Wischen nach unten.
Suchen Sie die Bearbeitungsfunktion, die oft durch ein Stiftsymbol oder ein Drei-Punkte-Symbol dargestellt wird.
Wechseln Sie in den Bearbeitungsmodus und suchen Sie nach einer Kachel mit der Bezeichnung "QR code" oder "QR Scanner".
Ziehen Sie dieses Feld in den aktiven Bereich der Schnelleinstellungen.
Speichern Sie die Änderungen, um das neue Layout zu bestätigen.
Um den QR-Code-Scanner für Schnelleinstellungen zu verwenden:
Öffnen Sie das Schnellsteuerungsfeld.
Tippen Sie auf das Kachel für den QR-Code-Scanner.
Das Gerät startet eine QR-Code-Scan-Oberfläche, die möglicherweise die Kamera-App oder Google Lens verwendet.
Richten Sie die Kamera auf den QR-Code, um den Scan zu starten.
Diese eingebauten Methoden bieten Android-Nutzern effiziente Möglichkeiten, QR-Codes zu scannen, ohne zusätzliche Software installieren zu müssen. Benutzer können schnell auf die in QR-Codes kodierten Informationen zugreifen, während die Sicherheit und Integrität ihrer Geräte gewahrt bleibt. Abgesehen davon, können Sie die Drittanbieter-App zum Scannen von QR-Codes auf Android-Handys über den Google Play Store herunterladen.
Einführung in die IronQR .NET-Bibliothek
Obwohl die eingebauten Methoden, die wir besprochen haben, hervorragende QR-Code-Scanfunktionen für Endbenutzer bieten, benötigen Entwickler oft robustere Werkzeuge, um QR-Codes innerhalb ihrer Anwendungen zu erstellen und zu manipulieren. Hier kommt die IronQR .NET-Bibliothek ins Spiel. Es bietet eine leistungsstarke Lösung für QR-Code-Funktionalität in der Android-App-Entwicklung.
Übersicht über IronQR
IronQR ist eine umfassende .NET-Bibliothek, die für das Erstellen, Lesen von QR-Codes und Manipulieren von QR-Codes entwickelt wurde. Obwohl es hauptsächlich auf .NET-Entwickler abzielt, kann es in der Android-Entwicklung durch Frameworks wie Xamarin oder .NET MAUI genutzt werden. Es ist eine perfekte Wahl für plattformübergreifende Anwendungen mit QR-Funktionalität.
Hauptmerkmale und Vorteile
IronQR bietet viele Funktionen im Hinblick auf die QR-Code-Funktionalität:
QR-Code-Generierung: Entwickler können QR-Codes programmatisch erstellen und dabei verschiedene Parameter wie Größe, Fehlerkorrekturstufe und Inhalt steuern.
Erweiterte Scanfunktionen: Die Bibliothek bietet robuste Algorithmen zum Lesen von QR-Codes, selbst unter schwierigen Bedingungen oder von Bildern.
Anpassungsoptionen: IronQR ermöglicht die Erstellung von individuell angepassten QR-Codes, einschließlich der Hinzufügung von Logos oder benutzerdefinierten Farben, während die Scanbarkeit erhalten bleibt.
Unterstützung für verschiedene Datentypen: Die Bibliothek kann unterschiedliche Datentypen, einschließlich URLs, Kontaktinformationen und benutzerdefiniertem Text, in QR-Codes kodieren.
Fehlerbehandlung und -korrektur: IronQR implementiert fortschrittliche Fehlerkorrekturtechniken, die gewährleisten, dass die erzeugten QR-Codes zuverlässig und leicht scanbar sind.
Integration mit der Android-Entwicklung
Für Android-Entwickler, die in einer .NET-Umgebung arbeiten, kann IronQR in Projekte integriert werden, um serverseitige QR-Code-Generierung bereitzustellen oder die Fähigkeiten von Android-Anwendungen zu erweitern. Diese Integration ermöglicht komplexere QR-Code-Operationen, die mit Standard-Android-Bibliotheken möglicherweise nicht möglich sind.
Entwickler können Android-Anwendungen mit anspruchsvollen QR-Code-Funktionalitäten erstellen, wie z. B. Stapel-QR-Code-Generierung, fortschrittliche Decodierungsfunktionen oder benutzerdefinierte QR-Code-Designs, die den Anforderungen des Brandings entsprechen. Die IronQR .NET-Bibliothek dient als ein leistungsstarkes Werkzeug für Entwickler, die die QR-Code-Fähigkeiten ihrer Android-Anwendungen über die standardmäßigen integrierten Funktionen hinaus erweitern möchten.
Code-Beispiel
Hier ist eine Demonstration der .NET MAUI QR Code Scanner App mit IronQR. Nach der Installation der IronQR-Bibliothek im Projekt, aktualisieren Sie den MauiPage.xaml-Code:
Aktualisieren Sie danach den Maui.Page.xaml.cs-Code:
using IronQr;
using IronSoftware.Drawing;
namespace QR_Code_Business_Card
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
License.LicenseKey = "License-Key";
}
private async void OnScanQRButtonClicked(object sender, EventArgs e)
{
try
{
var result = await FilePicker.PickAsync(new PickOptions
{
FileTypes = FilePickerFileType.Images,
PickerTitle = "Pick an image with a QR code"
});
if (result != null)
{
string filePath = result.FullPath;
SelectedImage.Source = ImageSource.FromFile(filePath);
// Show loading indicator
LoadingIndicator.IsVisible = true;
LoadingIndicator.IsRunning = true;
ResultEditor.Text = "Processing QR code...";
// Process QR code in the background
await Task.Run(() =>
{
var inputBmp = AnyBitmap.FromFile(filePath);
QrImageInput imageInput = new QrImageInput(inputBmp);
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);
MainThread.BeginInvokeOnMainThread(() =>
{
if (results.Any())
{
string scannedData = results.First().Value.ToString();
ResultEditor.Text = scannedData;
}
else
{
ResultEditor.Text = "No QR code found in the image.";
}
// Hide loading indicator
LoadingIndicator.IsVisible = false;
LoadingIndicator.IsRunning = false;
});
});
}
}
catch (Exception ex)
{
ResultEditor.Text = $"An error occurred: {ex.Message}";
LoadingIndicator.IsVisible = false;
LoadingIndicator.IsRunning = false;
}
}
private async void OnCopyTextButtonClicked(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(ResultEditor.Text))
{
await Clipboard.SetTextAsync(ResultEditor.Text);
await DisplayAlert("Success", "Text copied to clipboard", "OK");
}
else
{
await DisplayAlert("Error", "No text to copy", "OK");
}
}
}
}
using IronQr;
using IronSoftware.Drawing;
namespace QR_Code_Business_Card
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
License.LicenseKey = "License-Key";
}
private async void OnScanQRButtonClicked(object sender, EventArgs e)
{
try
{
var result = await FilePicker.PickAsync(new PickOptions
{
FileTypes = FilePickerFileType.Images,
PickerTitle = "Pick an image with a QR code"
});
if (result != null)
{
string filePath = result.FullPath;
SelectedImage.Source = ImageSource.FromFile(filePath);
// Show loading indicator
LoadingIndicator.IsVisible = true;
LoadingIndicator.IsRunning = true;
ResultEditor.Text = "Processing QR code...";
// Process QR code in the background
await Task.Run(() =>
{
var inputBmp = AnyBitmap.FromFile(filePath);
QrImageInput imageInput = new QrImageInput(inputBmp);
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);
MainThread.BeginInvokeOnMainThread(() =>
{
if (results.Any())
{
string scannedData = results.First().Value.ToString();
ResultEditor.Text = scannedData;
}
else
{
ResultEditor.Text = "No QR code found in the image.";
}
// Hide loading indicator
LoadingIndicator.IsVisible = false;
LoadingIndicator.IsRunning = false;
});
});
}
}
catch (Exception ex)
{
ResultEditor.Text = $"An error occurred: {ex.Message}";
LoadingIndicator.IsVisible = false;
LoadingIndicator.IsRunning = false;
}
}
private async void OnCopyTextButtonClicked(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(ResultEditor.Text))
{
await Clipboard.SetTextAsync(ResultEditor.Text);
await DisplayAlert("Success", "Text copied to clipboard", "OK");
}
else
{
await DisplayAlert("Error", "No text to copy", "OK");
}
}
}
}
Imports IronQr
Imports IronSoftware.Drawing
Namespace QR_Code_Business_Card
Partial Public Class MainPage
Inherits ContentPage
Public Sub New()
InitializeComponent()
License.LicenseKey = "License-Key"
End Sub
Private Async Sub OnScanQRButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
Try
Dim result = Await FilePicker.PickAsync(New PickOptions With {
.FileTypes = FilePickerFileType.Images,
.PickerTitle = "Pick an image with a QR code"
})
If result IsNot Nothing Then
Dim filePath As String = result.FullPath
SelectedImage.Source = ImageSource.FromFile(filePath)
' Show loading indicator
LoadingIndicator.IsVisible = True
LoadingIndicator.IsRunning = True
ResultEditor.Text = "Processing QR code..."
' Process QR code in the background
Await Task.Run(Sub()
Dim inputBmp = AnyBitmap.FromFile(filePath)
Dim imageInput As New QrImageInput(inputBmp)
Dim reader As New QrReader()
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
MainThread.BeginInvokeOnMainThread(Sub()
If results.Any() Then
Dim scannedData As String = results.First().Value.ToString()
ResultEditor.Text = scannedData
Else
ResultEditor.Text = "No QR code found in the image."
End If
' Hide loading indicator
LoadingIndicator.IsVisible = False
LoadingIndicator.IsRunning = False
End Sub)
End Sub)
End If
Catch ex As Exception
ResultEditor.Text = $"An error occurred: {ex.Message}"
LoadingIndicator.IsVisible = False
LoadingIndicator.IsRunning = False
End Try
End Sub
Private Async Sub OnCopyTextButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
If Not String.IsNullOrWhiteSpace(ResultEditor.Text) Then
Await Clipboard.SetTextAsync(ResultEditor.Text)
Await DisplayAlert("Success", "Text copied to clipboard", "OK")
Else
Await DisplayAlert("Error", "No text to copy", "OK")
End If
End Sub
End Class
End Namespace
$vbLabelText $csharpLabel
Führen Sie anschließend die Anwendung aus, und Sie sehen die folgende Benutzeroberfläche. Nach der Auswahl des QR-Codes wird ein QR-Code gescannt und der Ergebnistext im Textfeld angezeigt, den Sie mit der Kopierschaltfläche kopieren können.
Schlussfolgerung
Das Scannen von QR-Codes auf Android-Geräten wird durch integrierte Funktionen wie Google Lens und Kacheln für Schnelleinstellungen vereinfacht. Diese nativen Methoden bieten Benutzern schnellen und sicheren Zugriff auf QR-Code-Informationen, ohne dass zusätzliche Apps benötigt werden.
Für Entwickler, die erweiterte QR-Code-Funktionen in ihre Anwendungen integrieren möchten, bietet die IronQR .NET-Bibliothek eine leistungsstarke Lösung. Es ermöglicht die Erstellung von benutzerdefinierten QR-Codes, fortschrittliche Scan-Funktionen und umfassende Anpassungsoptionen. IronQR bietet eine kostenlose Testversion für Entwickler, um seine Funktionen zu erkunden, mit Lizenzen ab $749, was es zu einer lohnenswerten Investition für die professionelle QR-Code-Integration in Android-Anwendungen macht.
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
< PREVIOUS Zelle QR-Code (Wie es für .NET-Entwickler funktioniert)
NÄCHSTES > QR-Code-Generator für Visitenkarte (Anfängerguide)