با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش برنامه نویسی اندروید را دنبال می کنند. NFC مخفف Near Field Communication و به معنی مکانیسم ارتباطات بی سیم بین دو دستگاه سازگار است. NFC یک فناوری بی سیم کوچک است که دارای برد دو یا ۴ سانتی متر برای به اشتراک گذاشتن داده ها بین دو دستگاه است. تکنولوژی NFC اخیرا در دستگاه های موبایل اندروید که به تازگی روانه بازار می شوند تعبیه می شود، و برای دستگاه های قدیمی تر نیز می توان با نصب چیپست سخت افزاری آن روی آن دستگاه این قابلیت را به آن دستگاه اضافه کرد. NFC در اندروید در اپلیکیشن هایی که مانند یک کیف پول الکترونیک عمل می کنند کاربرد فراوانی دارد،در این مبحث به بررسی NFC در برنامه نویسی اندروید می پردازیم.
در این آموزش چگونگی عملکرد NFC در اندروید ، ساختار پیاده سازی آن و متدهای مربوطه را ارائه داده ایم.
همانند بلوتوث و فای و سایر سیگنال های بی سیم دیگر، NFC بر اساس اصل ارسال اطلاعات از طریق امواج رادیویی کار می کند.
NFC از طریق القای الکترومغناطیسی بین دو دستگاه داده ها را ارسال می کند،NFC بر پایه های تگ کار می کند.
NFC به شما اجازه می دهد برخی از داده ها را بین تگ NFC و یک دستگاه اندرویدی و یا بین دو دستگاه اندرویدی به اشتراک بگذارید.
فرکانس انتقال داده ها در NFC برابر با ۱۳٫۵۶ مگا هرتز می باشد.
در NFC داده ها را می توان با سرعت ۱۰۶، ۲۱۲ یا ۴۲۴ کیلوبایت در ثانیه ارسال کرد.
پس NFC به اندازه ی کافی برای انتقال اطلاعاتی نظیر فیلم ،آهنگ و… سریع می باشد.
دستگاه های مبتنی بر Android با NFC از سه حالت اصلی عملیات پشتیبانی می کنند:
برای دسترسی به سخت افزار NFC در اندروید، مجوز زیر را در فایل Android.Manifest خود اضافه کنید:
1 | <uses-sdk android:minSdkVersion="10"/> |
اولین نکته این است که تمام دستگاه های اندروید فناوری NFC را ارائه نمی دهند.
بنابراین باید از اینکه برنامه شما در Google Play فقط برای دستگاههایی که دارای NFC Hardware هستند نمایش داده می شود مطمئن شوید.
برای این منظور کد زیر را در فایل Android.Manifest وارد کنید:
1 | <uses-feature android:name="android.hardware.nfc" android:required="true"/> |
اندروید پکیج android.nfc را برای ارتباط با سایر دستگاه ها ارائه می دهد،که شامل کلاس های زیر است:
ردیف | کلاس ها و توضیحات آن |
---|---|
۱ | NdefMessage این یک پیام NDEF قابل تغییر است. |
۲ | NdefRecord این نشان دهنده یک پرونده NDEF قابل تغییر است.
|
۳ | NfcAdapter این نشان دهنده آداپتور NFC محلی است. |
۴ | NfcEvent اطلاعات مربوط به هر رویداد NFC را پوشش می دهد. |
۵ | NfcManager این یک مدیر سطح بالا است که برای به دست آوردن یک نمونه از NfcAdapter استفاده می شود. |
۶ | Tag این نشان دهنده یک تگ NFC است که کشف شده است. |
سیستم تگ های NFC در اندروید به کمک برخی فیلترهای intent کار می کند که این فیلترها شامل موارد زیر است:
ردیف | فیلترها و ویژگی های آن |
---|---|
۱ | ACTION_NDEF_DISCOVERED این intent برای شروع یک فعالیت زمانی استفاده می شود که تگ حاوی بارنامه NDEF باشد. |
۲ | ACTION_TECH_DISCOVERED این intent برای شروع فعالیتی استفاده می شود که اگر تگ حاوی داده های NDEF نیست، اما از تکنولوژی شناخته شده است. |
۳ | ACTION_TAG_DISCOVERED این intent زمانی شروع می شود که هیچ فعالیتی در مورد ACTION_NDEF_DISCOVERED یا ACTION_TECH_DISCOVERED نباشد. |
کد کردن یک برنامه کاربردی که از تکنولوژی NFC استفاده می کند پیچیده است بنابراین تا زمانی که لازم نباشد در برنامه ی خود استفاده نکنید.
با معرفی سیستم های پرداخت الکترونیکی، اپلیکیشن هایی که از NFC استفاده می کنند درحال حاضر روز به روز در حال توسعه و پیشرفت هستند.
خدماتی با عنوان Google Wallet در آمریکا معرفی شده که هدف آن این است در آینده تلفن های همراه هوشمند جایگزین مناسبی برای کارت های اعتباری شوند.
NFC در اندروید روز به روز در حال توسعه و پیشرفت است و در حال تلاش برای جایگزینی انواع کارت های اعتباری با گوشی های اندرویدی است.
از این رو استفاده از NFC در برنامه نویسی اندروید نیز رواج پیدا کرده و آشنایی با آن در آینده بیشتر مورد نیاز خواهد بود.
در بخش بعد به چگونگی استفاده از کدهای PHP/MYSQL در اندروید می پردازیم.