مشخصات مقاله
تولید خودکار کد QR بوسیله Xamarin.Forms
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.
تولید خودکار کد QR بوسیله Xamarin.Forms
در این مقاله به شما یاد خواهم داد که چطور با استفاده از Xamarin.Forms، در سه پلتفرم Android، iOS و Windows phone یک بارکد خوان ایجاد کنیم.
در مقاله قبلی به شما یاد دادم که چطور می توان یک بارکد خوان در Xamarin.Forms ایجاد کرد. در این مقاله قصد دارم به توضیح برخی موارد درباره مولد کد بارکد یا QR بپردازم.
برای ساخت یک مولد کد QR از NuGet package Arc.BarCodes استفاده خواهم کرد که یک سازنده میان پلتفرمی در ZXing.Net.Mobile است تا مجوز دسترسی Cross-Platform را از کتابخانه های هسته ای مشترک/PCL بدهد. من از آن برای ساخت بارکد خوان استفاده کرده ام.
حالا وقت آن رسیده است که NuGet package را در هر کلاس راه اندازی مختص پلتفرم (platform-specific) مقدار دهی اولیه کنیم. برای مثال با فراخوانی متد global::Acr.BarCodes.BarCodes.Init()، قبل از فراخوانی LoadApplication()، در کلاس AppDelegate.cs برای iOS، MainActivity.cs برای اندروید و MainPage.xaml.cs برای Windows Phone.
حالا می توانیم یک دکمه برای فعالسازی رویداد و Image View برای بارگذاری کد QR ایجاد کنیم. از همه مهمتر اینکه باید یک ورودی اضافه کنید که حامل مقداری خواهد بود که به وسیله کد QR منتقل می شود.
var btnCreateQR = new Button { Text = "Genrate" };
var imgCode = new Image();
var txtBarcode = new EntryCell { Label = "Value " };
دستورات زیر را برای رویداد کلیک دکمه ای که قرار است کد QR را تولید کند وارد کنید. بر اساس مقدار/پیغامی که در سلول ورودی وارد می شود، تصویر مناسب در Image view بارگذاری خواهد شد.
btnCreateQR.Clicked += (sender, e) =>
{
try
{
var QRstream = BarCodes.Instance.Create(new BarCodeCreateConfiguration
{
Format = BarCodeFormat.QR_CODE,
BarCode = txtBarcode.Text.Trim(),
Width = 200,
Height = 200
}
);
txtBarcode.LabelColor = Color.White;
imgCode.Source = ImageSource.FromStream(() => QRstream );
}
catch (Exception ex)
{
txtBarcode.LabelColor = Color.Red;
System.Diagnostics.Debug.WriteLine(ex.ToString());
DisplayAlert("Alert", "Enter value that want to be carried in the QR Code", "OK");
}
};
برای کسب اطلاعات بیشتر به پروژه این مقاله مراجعه کنید. همچنین می توانید با بکارگیری همین منطق یک بارکد، data Matrix، Maxi code و غیره تولید کنید.