آموزش اندروید استودیوآموزش های برنامه نویسی اندروید
آموزش برنامه نویسی اندروید با اندروید استودیو (بخش سی و سوم: کار با شبکه WiFi در اندروید)
بعضی اوقات پیش می آید که در اپلیکیشن هایی که می نویسیم، شبکه WiFi دستگاه اندرویدی برای اتصال روشن شود.
مثلا برای انتقال فایل و یا به طور کلی ارتباط با دستگاه دیگر از طریق WiFi ، کار با شبکه WiFi ضروری است. همچنین گاهی اوقات پیش می آید که در برنامه های اندرویدی، بخواهیم برنامه به هر دلیلی به اینترنت وصل شود.
در این بخش یاد میگیرید که چگونه با شبکه وای فای کار کرده و آن را در صورت لزوم هر وقت که بخواهید روشن و یا خاموش نمایید.
من یک پروژه جدید به نام Wifi-Gsm ایجاد می کنم.
از مسیر Res -> Layoyt به سراغ فایل activity_main.xml می رویم. سپس از تب Design وارد قسمت Palette ها می شویم و دو دکمه Button را به لایه اپلیکیشن اضافه می کنیم.
در واقع می خواهیم با این دکمه ها، شبکه وای فای را قطع و یا وصل بکنیم. پس اسم یکی از آن ها رو “روشن” و اسم دیگری را “خاموش” میگذاریم.
کد Xml دکمه ها
<Button android:text="روشن" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="156dp" android:id="@+id/RoshanButton" /> <Button android:text="خاموش" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/RoshanButton" android:layout_alignLeft="@+id/RoshanButton" android:layout_alignStart="@+id/RoshanButton" android:layout_marginTop="55dp" android:id="@+id/KhamoshButton" />
حال به سراغ کد جاوای برنامه MainActivity.java می رویم. در این قسمت پس از معرفی دکمه ها به این بخش، باید کدهایی را بنویسیم که اپلیکیشن با استفاده از دو دکمه، بتواند شبکه WiFi را قطع و یا وصل کند.
در مرحله اول، باید دکمه ها را به برنامه معرفی نماییم.
Button wifibtnRoshan = (Button) findViewById(R.id.RoshanButton); Button wifibtnKhamosh = (Button) findViewById(R.id.KhamoshButton);
در مرحله بعدی باید یک رویداد برای دکمه ی روشن بنویسیم. تا وقتی بر روی آن زده شود، شبکه Wifi، روشن شود.
wifibtnRoshan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); wifi.setWifiEnabled(true); Toast.makeText(MainActivity.this, "شبکه وای فای روشن شد", Toast.LENGTH_LONG).show(); } });
در مرحله سوم باید یک رویداد برای دکمه ی خاموش بنویسیم. تا وقتی بر روی آن زده شود، شبکه Wifi، خاموش شود.
wifibtnKhamosh.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { WifiManager wifi1 = (WifiManager) getSystemService(Context.WIFI_SERVICE); wifi1.setWifiEnabled(false); Toast.makeText(MainActivity.this, "شبکه وای فای خاموش شد", Toast.LENGTH_LONG).show(); } });
کد کامل MainActivity
package com.gsm_developers.wifi_gsm; import android.content.Context; import android.net.wifi.WifiManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button wifibtnRoshan = (Button) findViewById(R.id.RoshanButton); Button wifibtnKhamosh = (Button) findViewById(R.id.KhamoshButton); wifibtnRoshan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); wifi.setWifiEnabled(true); Toast.makeText(MainActivity.this, "شبکه وای فای روشن شد", Toast.LENGTH_LONG).show(); } }); wifibtnKhamosh.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { WifiManager wifi1 = (WifiManager) getSystemService(Context.WIFI_SERVICE); wifi1.setWifiEnabled(false); Toast.makeText(MainActivity.this, "شبکه وای فای خاموش شد", Toast.LENGTH_LONG).show(); } }); } }
سپس کدهای زیر را قبل از تگ <application بنویسید.
کد های زیر دسترسی برنامه به وضعیت WiFi، به اینترنت و دسترسی به تغییر وضعیت WiFi را می دهند.
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
کد کامل AndroidManifests
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.gsm_developers.wifi_gsm"> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
عالی بود واقعا مرسی از آموزش کوتاه و مفیدتون