برنامه نویسی اپلیکیشن اسکنر وای فای برای اندروید – از صفر تا صد


SDK اندروید قابلیتهای هیجانانگیزی برای توسعهدهندگان عرضه کرده است. API وایفای ارائه شده در این SDK واقعاً جذاب است. در این راهنما قصد داریم با بهرهگیری از اندروید استودیو یک اپلیکیشن اسکنر WiFi برای اندروید بنویسیم. بدین ترتیب با شیوه اسکن کردن شبکههای WiFi موجود روی گوشی یا تبلت اندرویدیتان آشنا میشوید.
توجه کنید که ما در این راهنما مجوزها را مدیریت نمیکنیم، زیرا تمرکزمان روی API وایفای است. اما برای این که اپلیکیشن اندروید بتواند روی فروشگاه گوگل پلی منتشر شود، باید Android SDK 27 را تارگت کنید و مجوزهای اندروید را نیز مدیریت نمایید.
افزودن مجوزها
نخستین گام افزودن مجوزهای صحیح در مانیفیست اپلیکیشن اندروید است. ما باید مجوز ACCESS_WIFI_STATE را اضافه کنیم. این مجوز امکان دسترسی به اطلاعاتی در مورد شبکههای وایفای را فراهم میکند.
فایل AndroidManifest.xml
ایجاد رابط کاربری
گام بعدی ساختن رابط کاربری اپلیکیشن اسکنر WiFi است. این یک رابط کاربری ساده با یک ListView و یک Button است. در لیست مربوطه شبکههای وایفای تشخیص داده شده از سوی گوشی هوشمند یا تبلت را نمایش میدهیم. دکمه نیز به کاربر امکان شروع فرایند اسکن کردن وایفای را میدهد.
فایل activity_main.xml
نوشتن کد جاوا
اینک زمان آن رسیده است که کد جاوا را درون اکتیویتی اصلی بنویسیم. در SDK اندروید، API وایفای از طریق یک سرویس سیستمی به نام WifiManager در دسترس ما قرار دارد. زمانی که وهلهای از سرویس WifiManager به دست بیاوریم، باید بررسی کنیم که آیا وایفای دستگاه فعال شده است یا نه. اگر چنین نباشد آن را با فراخوانی متد setWifiEnabled و پارامتر true فعال میکنیم:
فایل enable_wifi.java
سپس میتوانیم شروع به اسکن کردن شبکههای وایفای پیرامونی بکنیم. به این منظور باید از BroadcastReceiver که با اینتنت زیر ثبت شده است بهره بگیریم:
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION
زمانی که BroadcastReceiver ثبت شد، میتوانیم شروع به اسکن کردن شبکههای وایفای با فراخوانی متد startScan در سرویس WifiManager بکنیم.
فایل ScanWifi.java
زمانی که اسکن کردن پایان یافت، متد onReceive پیادهسازی BroadcastReceiver ما فراخوانی میشود. باید متد getScanResults سرویس WifiManager را فراخوانی کنیم تا نتایج را به دست آوریم. همچنین فراموش نکنید که BroadcastReceiver را از حالت ثبت خارج کنید تا باتری دستگاه به هدر نرود.
آخرین گام تعریف حلقهای برای تکرار روی لیست نتایج به وسیله متد getScanResults است:
فایل BroadcastReceiver.java
بدین ترتیب کد فایل اکتیوتی اصلی به صورت زیر درمیآید:
استفاده عملی از اپلیکیشن اسکنر وای فای
اکنون میتوانیم اپلیکیشن اسکنر وای فای خود را تست کنیم.
با اجرا کردن آن روی دستگاه با نتیجه زیر مواجه میشویم:
به این ترتیب به پایان این راهنما میرسیم. هر گونه دیدگاه یا پیشنهاد خود را میتوانید در بخش نظرات این نوشته با ما و دیگر خوانندگان مجله فرادرس در میان بگذارید.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای پروژهمحور برنامهنویسی اندروید
- مجموعه آموزشهای برنامهنویسی
- گنجینه برنامه نویسی اندروید (Android)
- ساخت اپلیکیشن لانچر اندروید — به زبان ساده
- اپلیکیشن آنی اندروید (Android Instant App) چیست؟ — از صفر تا صد
==