آموزش wifi در برنامه نویسی اندروید

3 سال پیش

آموزش wifi در برنامه نویسی اندروید

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، در مورد آموزش wifi در برنامه نویسی اندروید صحبت خواهیم کرد.

 

اندروید به برنامه ها اجازه می دهد تا وضعیت دسترسی به اتصالات بی سیم را در سطح بسیار پایین را دریافت کنند. برنامه می تواند تقریباً به تمام اطلاعات اتصال wifi دسترسی داشته باشد.

اطلاعاتی که برنامه می تواند به آن دسترسی پیدا کند شامل پیوند شبکه متصل، negotiation state، آدرس IP، سایر اطلاعات شبکه است.

برنامه ها همچنین می توانند اتصالات Wi-Fi را اسکن، اضافه، ذخیره، خاتمه داده و شروع کنند.

اندروید WifiManager API را برای مدیریت همه جنبه های اتصال WIFI فراهم می کند.

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

WifiManager mainWifiObj;
mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);

برای اسکن لیست شبکه های بی سیم، باید BroadcastReceiver خود را نیز ثبت کنید.

می توان آن را با استفاده از متد RegisterReceiver با آرگومان شی کلاس گیرنده ثبت کرد. نحو آن در زیر آورده شده است:

class WifiScanReceiver extends BroadcastReceiver {
   public void onReceive(Context c, Intent intent) {
   }
}

WifiScanReceiver wifiReciever = new WifiScanReceiver();
registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

با فراخوانی متد startScan از کلاس WifiManager می توان اسکن wifi را شروع کرد.

این روش لیستی از اشیا Scan ScanResult را برمی گرداند.

با فراخوانی متد get لیست می توانید به هر شی دسترسی داشته باشید. نحو آن در زیر آورده شده است:

List<ScanResult> wifiScanList = mainWifiObj.getScanResults();
String data = wifiScanList.get(0).toString();

جدا از اسکن، با استفاده از متد های تعریف شده در کلاس WifiManager می توانید کنترل بیشتری بر روی WIFI خود داشته باشید. آنها به شرح زیر ذکر شده اند:

  • (addNetwork(WifiConfiguration config

این متد توضیحات شبکه جدیدی را به مجموعه شبکه های پیکربندی شده اضافه می کند.

  • (createWifiLock(String tag

این متد یک WifiLock جدید ایجاد می کند.

  • ()disconnect

این متد از نقطه دسترسی فعلی قطع می شود.

  • (enableNetwork(int netId, boolean disableOthers

این متد اجازه می دهد تا یک شبکه پیکربندی شده قبلی با آن مرتبط شود.

  • ()getWifiState 

این متد حالت Wi-Fi را دریافت می کند

  • ()isWifiEnabled 

این متد WiFi فعال یا غیرفعال است.

  • (setWifiEnabled(boolean enabled

این متد Wi-Fi را فعال یا غیرفعال می کند.

  • (updateNetwork(WifiConfiguration config

این متد توضیحات شبکه یک شبکه پیکربندی شده موجود را به روز می کند.

 

مثال

در اینجا مثالی برای استفاده از wifi در برنامه نویسی اندروید آورده شده است. این  برنامه wifi شما را باز می کند و wifi شما را می بندد

برای آزمایش این مثال، باید این مورد را روی دستگاهی واقعی که WiFi روی آن روشن است، اجرا کنید.

 

شرح مراحل 

۱- شما برای ایجاد یک برنامه اندروید تحت یک پکیج com.example.sairamkrishna.myapplication از Android studio استفاده خواهید کرد.
۲- برای افزودن کد WebView ، فایل src / MainActivity.java را تغییر دهید.
۳- res / layout / activity_main را تغییر دهید تا مولفه های XML مربوطه اضافه شود
۴- AndroidManifest.xml را تغییر دهید تا مجوزهای لازم را اضافه کنید
۵- برنامه را اجرا کرده و دستگاه اندرویدی در حال اجرا را انتخاب کنید و برنامه را روی آن نصب کنید و نتایج را بررسی کنید.

در زیر محتوای پرونده فعالیت اصلی تغییر یافته src / MainActivity.java است.

package com.example.sairamkrishna.myapplication;

import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
   Button enableButton,disableButton;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      enableButton=(Button)findViewById(R.id.button1);
      disableButton=(Button)findViewById(R.id.button2);

      enableButton.setOnClickListener(new OnClickListener(){
         public void onClick(View v){
            WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
            wifi.setWifiEnabled(true);
         }
      });
        
      disableButton.setOnClickListener(new OnClickListener(){
         public void onClick(View v){
            WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
            wifi.setWifiEnabled(false);
         }
      });
   }
}

در زیر محتوای اصلاح شده xml res / layout / activity_main.xml آمده است

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
    
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true" />
        
   <Button
      android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginLeft="76dp"
      android:text="Enable Wifi"
      android:layout_centerVertical="true"
      android:layout_alignEnd="@+id/imageView" />

   <Button
      android:id="@+id/button2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Disable Wifi"
      android:layout_marginBottom="93dp"
      android:layout_alignParentBottom="true"
      android:layout_alignStart="@+id/imageView" />

</RelativeLayout>

در زیر محتوای فایل AndroidManifest.xml آمده است.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
   <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
   
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>

بیایید برنامه را اجرا کنیم. من تصور می کنم شما AVD خود را هنگام راه اندازی محیط ایجاد کرده اید. برای اجرای برنامه از Android studio، یکی از پرونده های فعالیت پروژه خود را باز کنید و از نوار ابزار روی Android StudioRun Icon کلیک کنید. Android Studio برنامه را روی AVD شما نصب کرده و شروع به کار می کند و اگر با تنظیمات و برنامه هایتان همه چیز خوب باشد، زیر پنجره شبیه ساز نمایش داده می شود.

دستگاه همراه خود را به عنوان گزینه انتخاب کنید و این تصویر زیر را نشان می دهد

اکنون بر روی دکمه disable wifi کلیک کنید. سپس نمونه خروجی باید به این شکل باشد

منبع.

لیست جلسات قبل آموزش برنامه نویسی اندروید

    1. نگاهی کلی به برنامه نویسی اندروید
    2. تنظیمات محیط  در برنامه نویسی اندروید
    3. معماری برنامه نویسی اندروید
    4. اجزای برنامه در برنامه نویسی اندروید
    5. Hello World در برنامه نویسی اندروید
    6. سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
    7. فعالیت در برنامه نویسی اندروید
    8. سرویس در برنامه نویسی اندروید
    9. گیرنده های پخش در برنامه نویسی اندروید
    10. ارائه دهنده محتوا در برنامه نویسی اندروید
    11. قطعات در برنامه نویسی اندروید
    12. Intent و فیلتر در برنامه نویسی اندروید
    13. طرح بندی رابط کاربری در برنامه نویسی اندروید
    14. کنترل های رابط کاربری در برنامه نویسی اندروید
    15. مدیریت رویدادها در برنامه نویسی اندروید
    16. استایل و تم ها در برنامه نویسی اندروید
    17. اجزای سفارشی در برنامه نویسی اندروید
    18. کشیدن و رها کردن در برنامه نویسی اندروید
    19. نوتیفیکیشن ها در برنامه نویسی اندروید
    20. سرویس های مبتنی بر مکان در برنامه نویسی اندروید
    21. ارسال ایمیل در برنامه نویسی اندروید
    22. ارسال پیامک در برنامه نویسی اندروید
    23. تماس های تلفنی در برنامه نویسی اندروید
    24. انتشار برنامه اندروید
    25. آموزش Alert Dialog در برنامه نویسی اندروید
    26. انیمیشن در برنامه نویسی اندروید
    27. ضبط صدا در برنامه نویسی اندروید
    28. مدیریت صدا در برنامه نویسی اندروید
    29. آموزش Auto Complete در برنامه نویسی اندروید
    30. بهترین شیوه ها در برنامه نویسی اندروید
    31. بلوتوث در برنامه نویسی اندروید
    32. استفاده از دوربین در برنامه نویسی اندروید
    33. کلیپ بورد در برنامه نویسی اندروید
    34. فونت سفارشی در برنامه نویسی اندروید
    35. پشتیبان گیری از داده ها در برنامه نویسی اندروید
    36.  ابزارهای توسعه دهنده در برنامه نویسی اندروید
    37. آموزش شبیه ساز در برنامه نویسی اندروید
    38. اتصال به فیس بوک در برنامه نویسی اندروید
    39. حرکات لمسی در برنامه نویسی اندروید
    40. آموزش گوگل مپ در برنامه نویسی اندروید
    41. افکت های تصویر در برنامه نویسی اندروید
    42. Image Switcher در برنامه نویسی اندروید
    43. حافظه داخلی در برنامه نویسی اندروید
    44. آموزش کار با JetPlayer در برنامه نویسی اندروید
    45. JSON Parser در برنامه نویسی اندروید
    46. ارتباط با LinkedIn در برنامه نویسی اندروید
    47. نوار پیشرفت Spinner در برنامه نویسی اندروید
    48. بومی سازی در برنامه نویسی اندروید
    49. صفحه Login در برنامه نویسی اندروید
    50. MediaPlayer در برنامه نویسی اندروید
    51. Multitouch در برنامه نویسی اندروید
    52. Navigation در برنامه نویسی اندروید
    53. اتصال به اینترنت در برنامه نویسی اندروید
    54. NFC در برنامه نویسی اندروید
    55. PHP و MYSQL در برنامه نویسی اندروید
    56. Progress Circle دربرنامه نویسی اندروید
    57. Progress Bar در برنامه نویسی اندروید
    58. Push Notification در برنامه نویسی اندروید
    59. RenderScript در برنامه نویسی اندروید
    60. RSS Reader در برنامه نویسی اندروید
    61. Screen cast در برنامه نویسی اندروید
    62. SDK Manager در برنامه نویسی اندروید
    63. سنسورها در برنامه نویسی اندروید
    64. Session در برنامه نویسی اندروید
    65. Shared Preferences در برنامه نویسی اندروید
    66. پروتکل SIP در برنامه نویسی اندروید
    67. Spelling Checker در برنامه نویسی اندروید
    68. پایگاه داده SQLite در برنامه نویسی اندروید
    69. Support Library در برنامه نویسی اندروید
    70. تست برنامه های اندروید
    71. قابلیت متن به گفتار در برنامه نویسی اندروید
    72. TextureView در برنامه نویسی اندروید
    73. اتصال به توییتر در برنامه نویسی اندروید
    74. طراحی رابط کاربری در برنامه نویسی اندروید
    75. الگوهای رابط کاربری در برنامه نویسی اندروید
    76. تست رابط کاربری در برنامه نویسی اندروید
    77. آموزش WebView در برنامه نویسی اندروید
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه