NFC مخفف Near Field Communication می باشد، همانطور که از اسم پیداست این برنامه یک مکانیزم ارتباط وایرلس بین دو دستگاه سازگار ارائه می دهد. NFC یک تکنولوژی وایرلس با دامنه ی کوتاه می باشد که دارای دامنه ی 4 سانتی متر یا کمتر برای اشتراک داده بین دو دستگاه می باشد.

NFC چگونه کار می کند؟

مانند بلوتوث، wi fi و همه ی روش های دیگر با سیگنال های بدون سیم، NFC نیز براساس ارسال اطلاعات با امواج رادیویی می باشد. در NFC داده بین دو دستگاه از طریق الکترومغناطیس ارسال می شود.

NFC براساس tag ها کار می کند، این برنامه به شما اجازه می دهد تا تعدادی داده را بین یک NFC tag و یک دستگاه نیرومند اندروید و یا بین دو دستگاه نیرومند اندروید به اشتراک بگذارید. Tag ها مجموعه های متنوعی از مشارکت را دارند. داده ی ذخیره شده در tag می تواند به شکل های مختلفی نوشته شود، اما API های اندروید براساس یک NFC استاندارد به نام NFC Data Exchange Format(NDEF) می باشند.

فرکانس انتقال داده در طول NFC رقم 13.56 مگاهرتز می باشد و داده می تواند در 106، 212 یا 424 کیلوبایت بر ثانیه ارسال شود که برای انتقال گستره ای از داده از قبیل مبادله ی تصاویر، آواز و فیلم تا جزئیات تماس کافی می باشد.

دستگاه های قدرتمند اندروید با NFC سه روش عملکرد زیر را پشتیبانی می کنند.

  • سبک Reader/Writer : این روش به دستگاه NFC اجازه می دهد تا tag های غیرفعال NFC را بخواند یا بنویسد.
  • سبک P2P : این روش به دستگاه NFC اجازه می دهد تا داده هایی را با دیگر همتاهای NFC مبادله کند.
  • سبک Card emulation : این روش به دستگاه NFC اجازه می دهد تا خود به عنوان کارد NFC عمل کند، بنابراین توسط یک NFC reader خارجی قابل دسترس می باشد.

عملکرد NFC در اندروید

برای داشتن اجازه ی دسترسی به NFC Hardware ، اجازه ی زیر را در فایل Android.Manifest خود وارد کنید.

 

<uses-sdk android:minSdkVersion="10"/>

 

اولین مسئله ی قابل توجه این است که همه دستگاه های قدرتمند اندروید دارای NFC نمی باشند. بنابراین برای اینکه اطمینان حاصل کنید که برنامه ی شما در google play تنها برای دستگاه هایی است که دارای NFC Hardware می باشند، خط زیر را به فایل Android.Manifest خود وارد کنید.

 

<uses-feature android:name="android.hardware.nfc" android:required="true"/>

 

اندروید برای اتصال با یک دستگاه دیگر یک پکیج android.nfc ارائه می دهد. این پکیج دارای گروه های زیر می باشد.

شماره کلاسها و توضیحات آن
1 NdefMessage

این یک پیام NDEF قابل تغییر است

2 NdefRecord

این گروه یک ضبط تغییر ناپذیر NDEF نمایش می دهد.

3 NfcAdapter

این گروه آداپتور محلی NFC را نشان می دهد.

4 NfcEvent

این گروه اطلاعات مربوط به هر رویداد NFC را در برمی گیرد.

5 NfcManager

این گروه یک گرداننده ی سطح بالاست که برای فراهم کردن یک نمونه از یک NfcAdapter به کار می رود.

6 Tag

این روش یک NFC tag کشف شده را نشان می دهد.

سیستم NFC tag در اندروید با کمک برخی فیلترهای intent کار می کنند که در زیر ارائه شده اند.

شماره فیلتر ها و ویژگیهای آن
1 ACTION_NDEF_DISCOVERED

این intent برای شروع یک فعالیت استفاده می شود زمانی که یک tag دارای یک NDEF payload باشد.

2 ACTION_TECH_DISCOVERED

این intent برای شروع یک فعالیت استفاده می شود زمانی که یک tag دارای یک داده ی NDEF نباشد، مگر از تکنولوژی شناخته شده.

3 ACTION_TAG_DISCOVERED

این intent هنگامی شروع می شود که هیچ فعالیتی hintent های ACTION_NDEF_DISCOVERED یا ACTION_TECH_DISCOVERED را در کنترل ندارند.

کدگذاری یک برنامه که از تکنولوژی NFC استفاده می کند بسیار پیچیده می باشد، بنابراین از آن در برنامه های خود استفاده نکنید مگر در مواقع ضروری. اجازه دهید نگاهی داشته باشیم به آینده ی این فن آوری.

برنامه های آینده

با توسعه ی هر روزه ی این فن آوری و به خاطر معرفی سیستم های پرداخت بدون تماس، این فن آوری تبدیل به یک توسعه ی عظیم می شود.

سرویسی به نام Google Wallet در امریکا تقریبا معرفی شده است که هدفش این می باشد تا از گوشی های هوشمندمان یک انتخاب قابل تبدیل به کارت های اعتباری سازد.