آموزش خواندن و نوشتن NFC Tag در برنامه نویسی اندروید

سلام دوستان امیدوارم حالتان خوب باشد در این سری از آموزش برنامه نویسی اندروید به آموزش خواندن و نوشتن NFC Tag در برنامه نویسی اندروید می پردازیم قبلتر آموزشی کلی در این رابطه قرار داده بودیم که به صورت کلی Nfc Tag را مورد تشریح و استفاده قرار دادیم در این آموزش به خواندن و نوشتن Nfc Tag خواهیم پرداخت در ادمه با ما همراه باشید.
موارد مورد استفاده در Nfc Tag چیست ؟
به طور کلی برای نوشتن و دریافت مقدار دادی بسیار کم مثل url یا اعداد
برای اجرای برنامه ی خاص
برای باز کردن قفل (مورد استفاده در مترو)
یک کلید امنیتی برای یک اپلیکیشن
ابتدا Nfc گوشی خود را روشن کنید !
برای کار کردن با Nfc لازم است تا دسترسی آن را به AndroidManifest.xml اضافه کنید.

باید وارد فایل Build.gradle شده و آن را به شکل زیر تغییر دهید چون از متودهای Lambda جاوا 8 استفاده می کنیم باید حتما تغییر کند.
جاهایی که باید اضافه کنید با تگ here مشخص شده است.

بروی دکمه sync کلیک کنید.
وارد فایل String.xml شده و کدهای زیر را قرار دهید.

نام های بالا در ادامه برنامه استفاده خواهند شد.
در بخش layout دو دکمه و یک Edittext برای ورود داده قرار دهید همانند زیر

در ادامه ما یک فرگمنت داریم که اطلاعات خوانده شده در آن نمایش داده می شود بخش layout آن همانند زیر است نام آن برابر با fragment_read.xml است.

یک فرگمنت دیگر برای نوشتن به نام fragment_write.xml ایجاد کرده و کدهای زیر را در آن قرار دهید.

 
حالا باید Interface درست کنیم این Interface ها بعدا مورد استفاده قرار می گیرند.
 

مثل دوتا Event کار خواهند کرد.
کدهای مربوط به فایل NFCReadFragment که برای خواندن تگ Nfc مورد استفاده قرار میگیرد همانند زیر است.

یک متود به نام initViews داریم که View های ما رو find می کند. چون داریم از فرگمنت استفاده می کنیم در بخش onAttach (این بخش قبلا در بخش فرگمنت ها توضیح داده شده است) یک Instance از MainActivty در Listener میریزیم اگر یادتان باشد در Interface یک void به نام onDialogDisplayed که آن را صدا می زنیم (دو متود onDialogDisplayed و onDialogDismissed در ManiActivity تعریف شده اند و با صدا زدن آنها عملی انجام می شود ).
یک void دیگر به نام onNfcDetected وجود دارد که تشخیص میدهد Nfc موجود است یا نه (منظور تگ Nfc است) در داخل این void یک void دیگر به نام readFromNFC است که کار خواندن را انجام میدهد.
پس خواندن یک Tag Nfc همانند بالا شد.
یک فرگمنت به نام NFCWriteFragment.java وجود دارد که عمل نوشتن بروی تگ Nfc را انجام میدهد و همانند زیر است.

 
همانند قبل برخی بخش ها تکراری است فقط به بخش writeToNfc خواهیم پرداخت در اینجا این متود یک متن تست را به تگ nfc نسبت میدهد و در آن ذخیره می کند چون نمیشه خود فایل text رو یعنی String رو ذخیره کرد مقدار Ascii آن را دریافت و در Nfc تگ قرار خواهیم داد.
به همین راحتی
بخش اصلی برنامه یا MainActivity

دو تا Void به نام های showReadFragment و showWriteFragment به برای نمایش فرگمنت ها مورد استفاده قرار میگیرد. در بخش onResume شاید بشه گفت یه جورایی یک Listent تعریف شده تا در صورتی که کارتی که حاوی تگ بود به گوشی نزدیک شد یکسری عملیات انجام شود interfcae ها که تعریف شده بود نیز مشخص است onDialogDisplayed و onDialogDismissed که متوجه می شوید چه عملی در حال شبیه سازی کردن است. بخش onNewIntent به منظور گرفتن داده از فرگمنت است و بررسی می شود که آیا باید تگ نوشته شود یا Detect شود.
 
 
این آموزش هم به پایان رسید.
 
موفق و پیروز باشید.

مطالعه بیشتر