Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Les codes QR sont partout de nos jours, servant de liens rapides vers des sites web, des réductions ou des informations importantes. Cependant, la méthode pour les scanner n'est pas toujours la même sur tous les appareils Android. Selon le modèle de votre téléphone, vous pourriez être en mesure d'utiliser l'application de caméra intégrée, ou vous pourriez avoir besoin d'une application distincte.Scanner de code QR. Pour dissiper toute confusion, nous avons élaboré un guide détaillé pour vous aider à scanner les codes QR sans effort sur n'importe quel smartphone ou tablette Android. Nous explorerons également une méthode programmatique pour scanner les codes QR en utilisant le Bibliothèque IronQR.
Les appareils Android sont souvent équipés de capacités natives pour prendre en charge la numérisation de codes QR. Ces méthodes intégrées offrent commodité et sécurité, car elles ne nécessitent pas l'installation d'applications tierces. Examinons les principales options intégrées disponibles pour les utilisateurs d'appareils Android.
Google Lens est un outil d'analyse visuelle puissant qui inclut des fonctionnalités de numérisation de codes QR. Cette application est souvent préinstallée sur les appareils Android et peut être accessible par différents points d'entrée.
Les utilisateurs peuvent accéder à Google Lens sur leur téléphone Android de différentes manières, selon leur appareil et leurs préférences. L'approche la plus courante se fait via l'application Google. Voici les étapes pour accéder à Google Lens :
Ouvrez l'application Google
Repérez l'icône Google Lens près de la barre de recherche.
Appuyez sur l'icône pour activer Google Lens
Pour ceux qui préfèrent travailler avec des images existantes, Google Photos offre un autre point d'entrée. Le processus est le suivant :
Ouvrir Google Photos
Appuyez sur l'icône Google Lens en bas de l'écran. Ensuite, vous pouvez utiliser la fonctionnalité Google Lens pour scanner les codes QR.
Certains appareils Android, en particulier ceux utilisant des versions plus récentes du système d'exploitation, intègrent Google Lens directement dans l'application native de la caméra. Les utilisateurs de ces appareils peuvent accéder à Google Lens en :
Lancement de l'application appareil photo
Recherche une option "Modes" ou "Plus"
Une fois Google Lens activé, le processus de numérisation d'un code QR est simple. Voici comment l'utiliser :
Dirigez la caméra de votre appareil vers le code QR.
Attendez que Google Lens lance automatiquement une analyse.
Lorsqu'un code QR est reconnu, une fenêtre contextuelle s'affichera avec les informations encodées.
Certains appareils Android proposent une tuile dans les Paramètres Rapides pour la numérisation de codes QR, offrant un accès rapide à cette fonctionnalité. Pour configurer et utiliser cette fonctionnalité :
Accédez au panneau des réglages rapides en glissant vers le bas depuis le haut de l'écran.
Développez le panneau complet avec un deuxième balayage vers le bas.
Localisez la fonction de modification, souvent représentée par une icône de crayon ou trois icônes de points.
En mode édition, recherchez une tuile intitulée "QR code" ou "QR Scanner".
Faites glisser cette tuile dans la zone des réglages rapides actifs.
Enregistrez les modifications pour confirmer la nouvelle mise en page.
Pour utiliser le scanner de code QR des paramètres rapides :
Ouvrez le panneau des paramètres rapides.
Appuyez sur l'icône du scanner de code QR.
L'appareil lancera une interface de numérisation de code QR qui peut utiliser l'application de l'appareil photo ou Google Lens.
Pointez la caméra vers le code QR pour lancer la numérisation.
Ces méthodes intégrées offrent aux utilisateurs Android des moyens efficaces de scanner des codes QR sans nécessiter l'installation de logiciels supplémentaires. Les utilisateurs peuvent rapidement accéder aux informations encodées dans les codes QR tout en maintenant la sécurité et l'intégrité de leurs appareils. En dehors de cela, vous pouvez télécharger l'application tierce pour la numérisation de codes QR sur les téléphones Android en utilisant le Google Play Store.
Bien que les méthodes intégrées que nous avons discutées offrent d'excellentes capacités de lecture de codes QR pour les utilisateurs finaux, les développeurs ont souvent besoin d'outils plus robustes pour créer et manipuler des codes QR au sein de leurs applications. C'est là que la bibliothèque IronQR .NET entre en jeu. Il offre une solution puissante pour la fonctionnalité de code QR dans le développement d'applications Android.
IronQRest une bibliothèque .NET complète conçue pour générer,lire les codes QRet manipuler des codes QR. Bien que principalement destiné aux développeurs .NET, il peut être utilisé dans le développement Android grâce à des frameworks comme Xamarin ou .NET MAUI. C'est un choix parfait pour les applications multiplateformes avec des fonctionnalités QR.
IronQR propose de nombreuses fonctionnalités concernant la fonctionnalité des codes QR :
Génération de code QR : Les développeurs peuvent créer des codes QR de manière programmatique, en contrôlant divers paramètres tels que la taille, le niveau de correction d'erreur et le contenu.
Capacités de numérisation avancées : La bibliothèque offre des algorithmes robustes pour lire les codes QR, même dans des conditions difficiles ou à partir d'images.
Options de personnalisation : IronQR permet la création de codes QR personnalisés, y compris l'ajout de logos ou de couleurs personnalisées, tout en préservant la scannabilité.
Support de divers types de données : La bibliothèque peut encoder différents types de données, y compris des URL, des informations de contact et du texte personnalisé, dans des codes QR.
Pour les développeurs Android travaillant dans un environnement .NET, IronQR peut être intégré dans les projets pour fournir une génération de codes QR côté serveur ou pour améliorer les capacités des applications Android. Cette intégration permet des opérations de QR code plus complexes qui peuvent ne pas être possibles avec les bibliothèques Android standard.
Les développeurs peuvent créer des applications Android avec des fonctionnalités sophistiquées de QR code, telles que la génération de QR codes par lots, des fonctionnalités de décodage avancées ou des designs de QR code personnalisés qui correspondent aux exigences de la marque. La bibliothèque IronQR .NET est un outil puissant pour les développeurs cherchant à étendre les capacités des codes QR de leurs applications Android au-delà des fonctionnalités intégrées standard.
Voici une démonstration de l'application de scanner de code QR .NET MAUI utilisant IronQR. Après avoir installé la bibliothèque IronQR dans le projet, mettez à jour le code MauiPage.xaml :
<?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="QR_Code_Business_Card.MainPage"
Title="QR Code Reader">
<Grid Padding="20" RowDefinitions="Auto,*" ColumnDefinitions="*,Auto,*">
<!-- Left side -->
<VerticalStackLayout Grid.Row="1" Grid.Column="0" Spacing="20">
<Button x:Name="ScanQRButton"
Text="Scan QR Code"
Clicked="OnScanQRButtonClicked"
HorizontalOptions="Fill"
BackgroundColor="#6200EE"
TextColor="White"
FontAttributes="Bold"
CornerRadius="10" />
<Frame BorderColor="#E0E0E0" Padding="0" CornerRadius="10" HasShadow="True">
<Grid>
<Image x:Name="SelectedImage"
HeightRequest="300"
WidthRequest="300"
Aspect="AspectFit" />
<ActivityIndicator x:Name="LoadingIndicator"
IsRunning="False"
IsVisible="False"
Color="#6200EE"
VerticalOptions="Center"
HorizontalOptions="Center" />
</Grid>
</Frame>
</VerticalStackLayout>
<!-- Divider -->
<BoxView Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"
WidthRequest="1"
Color="#E0E0E0"
Margin="10,0" />
<!-- Right side -->
<VerticalStackLayout Grid.Row="1" Grid.Column="2" Spacing="20">
<Frame BorderColor="#E0E0E0" Padding="10" CornerRadius="10" HasShadow="True">
<Editor x:Name="ResultEditor"
HeightRequest="200"
IsReadOnly="True"
Placeholder="QR code content will appear here"
FontSize="16" />
</Frame>
<Button x:Name="CopyTextButton"
Text="Copy Text"
Clicked="OnCopyTextButtonClicked"
HorizontalOptions="Fill"
BackgroundColor="#6200EE"
TextColor="White"
FontAttributes="Bold"
CornerRadius="10" />
</VerticalStackLayout>
</Grid>
</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="QR_Code_Business_Card.MainPage"
Title="QR Code Reader">
<Grid Padding="20" RowDefinitions="Auto,*" ColumnDefinitions="*,Auto,*">
<!-- Left side -->
<VerticalStackLayout Grid.Row="1" Grid.Column="0" Spacing="20">
<Button x:Name="ScanQRButton"
Text="Scan QR Code"
Clicked="OnScanQRButtonClicked"
HorizontalOptions="Fill"
BackgroundColor="#6200EE"
TextColor="White"
FontAttributes="Bold"
CornerRadius="10" />
<Frame BorderColor="#E0E0E0" Padding="0" CornerRadius="10" HasShadow="True">
<Grid>
<Image x:Name="SelectedImage"
HeightRequest="300"
WidthRequest="300"
Aspect="AspectFit" />
<ActivityIndicator x:Name="LoadingIndicator"
IsRunning="False"
IsVisible="False"
Color="#6200EE"
VerticalOptions="Center"
HorizontalOptions="Center" />
</Grid>
</Frame>
</VerticalStackLayout>
<!-- Divider -->
<BoxView Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"
WidthRequest="1"
Color="#E0E0E0"
Margin="10,0" />
<!-- Right side -->
<VerticalStackLayout Grid.Row="1" Grid.Column="2" Spacing="20">
<Frame BorderColor="#E0E0E0" Padding="10" CornerRadius="10" HasShadow="True">
<Editor x:Name="ResultEditor"
HeightRequest="200"
IsReadOnly="True"
Placeholder="QR code content will appear here"
FontSize="16" />
</Frame>
<Button x:Name="CopyTextButton"
Text="Copy Text"
Clicked="OnCopyTextButtonClicked"
HorizontalOptions="Fill"
BackgroundColor="#6200EE"
TextColor="White"
FontAttributes="Bold"
CornerRadius="10" />
</VerticalStackLayout>
</Grid>
</ContentPage>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<?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="QR_Code_Business_Card.MainPage" Title="QR Code Reader"> <Grid Padding="20" RowDefinitions="Auto,*" ColumnDefinitions="*,Auto,*"> <!-- Left side -- > <VerticalStackLayout Grid.Row="1" Grid.Column="0" Spacing="20"> <Button x:Name="ScanQRButton" Text="Scan QR Code" Clicked="OnScanQRButtonClicked" HorizontalOptions="Fill" BackgroundColor="#6200EE" TextColor="White" FontAttributes="Bold" CornerRadius="10" /> <Frame BorderColor="#E0E0E0" Padding="0" CornerRadius="10" HasShadow="True"> <Grid> <Image x:Name="SelectedImage" HeightRequest="300" WidthRequest="300" Aspect="AspectFit" /> <ActivityIndicator x:Name="LoadingIndicator" IsRunning="False" IsVisible="False" Color="#6200EE" VerticalOptions="Center" HorizontalOptions="Center" /> </Grid> </Frame> </VerticalStackLayout> <!-- Divider -- > <BoxView Grid.Row="0" Grid.RowSpan="2" Grid.Column="1" WidthRequest="1" Color="#E0E0E0" Margin="10,0" /> <!-- Right side -- > <VerticalStackLayout Grid.Row="1" Grid.Column="2" Spacing="20"> <Frame BorderColor="#E0E0E0" Padding="10" CornerRadius="10" HasShadow="True"> <Editor x:Name="ResultEditor" HeightRequest="200" IsReadOnly="True" Placeholder="QR code content will appear here" FontSize="16" /> </Frame> <Button x:Name="CopyTextButton" Text="Copy Text" Clicked="OnCopyTextButtonClicked" HorizontalOptions="Fill" BackgroundColor="#6200EE" TextColor="White" FontAttributes="Bold" CornerRadius="10" /> </VerticalStackLayout> </Grid> </ContentPage>
Après cela, mettez à jour le code Maui.Page.xaml.cs :
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
Après cela, exécutez l'application et vous verrez l'interface utilisateur suivante. Après avoir sélectionné le code QR, il scannera un code QR et affichera le texte du résultat dans la zone de texte que vous pouvez copier en utilisant le bouton de copie.
La numérisation des codes QR sur les appareils Android est facilitée grâce à des fonctionnalités intégrées telles que Google Lens et les tuiles des paramètres rapides. Ces méthodes natives offrent aux utilisateurs un accès rapide et sécurisé aux informations des codes QR sans nécessiter d'applications supplémentaires.
Pour les développeurs souhaitant intégrer des fonctionnalités avancées de code QR dans leurs applications, la bibliothèque IronQR .NET offre une solution puissante. Il permet de générer des codes QR personnalisés, dispose de capacités de numérisation avancées et offre de nombreuses options de personnalisation. IronQR offre uneessai gratuitpour permettre aux développeurs d'explorer ses fonctionnalités, avec des licences à partir de $749, ce qui en fait un investissement rentable pour l'intégration de codes QR de qualité professionnelle dans les applications Android.
9 produits de l'API .NET pour vos documents de bureau