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 که با اینتنت زیر ثبت شده است بهره بگیریم:

زمانی که BroadcastReceiver ثبت شد، می‌توانیم شروع به اسکن کردن شبکه‌های وای‌فای با فراخوانی متد startScan در سرویس WifiManager بکنیم.

فایل ScanWifi.java

زمانی که اسکن کردن پایان یافت، متد onReceive پیاده‌سازی BroadcastReceiver ما فراخوانی می‌شود. باید متد getScanResults سرویس WifiManager را فراخوانی کنیم تا نتایج را به دست آوریم. همچنین فراموش نکنید که BroadcastReceiver را از حالت ثبت خارج کنید تا باتری دستگاه به هدر نرود.

آخرین گام تعریف حلقه‌ای برای تکرار روی لیست نتایج به وسیله متد getScanResults است:

فایل BroadcastReceiver.java

بدین ترتیب کد فایل اکتیوتی اصلی به صورت زیر درمی‌آید:

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

اکنون می‌توانیم اپلیکیشن اسکنر وای فای خود را تست کنیم. با اجرا کردن آن روی دستگاه با نتیجه زیر مواجه می‌شویم:

اسکنر WiFi برای اندروید

به این ترتیب به پایان این راهنما می‌رسیم. هر گونه دیدگاه یا پیشنهاد خود را می‌توانید در بخش نظرات این نوشته با ما و دیگر خوانندگان مجله فرادرس در میان بگذارید.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

«میثم لطفی» دانش‌آموخته ریاضیات و شیفته فناوری به خصوص در حوزه رایانه است. وی در حال حاضر علاوه بر پیگیری علاقه‌مندی‌هایش در رشته‌های برنامه‌نویسی، کپی‌رایتینگ و محتوای چندرسانه‌ای، در زمینه نگارش مقالاتی با محوریت نرم‌افزار نیز با مجله فرادرس همکاری دارد.

بر اساس رای 1 نفر

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *