سایر مقالات این دسته
تاریخچه و خصوصیات اندرویداجزای تشکیل دهنده سیستم عامل اندرویدآشنایی با API های اندرویدایجاد،ساخت و اجرای اولین برنامه اندرویدیکار با دکمه ها در اندرویدکار با تکست باکس ها در اندرویدکار با تکست ویو در اندرویدکار با گرید ویو در اندرویدکار با وب ویو در اندرویدکار با اسکرول ویو در اندرویدکار با اسکرول ویو افقیکار با الرت دیالوگ (AlertDialog)در اندرویدکار با ایمیج باتن(Image Button) در اندرویدکار با توگل باتنکار با چک باکس (Checkbox) در اندرویدکار با الرت دیالوگ (AlertDialog)در اندروید قسمت دوکار با ریتینگ بار(Rating bar) در اندرویدرفتن از یک اکتویتی به اکتویتی دیگرکار با نوتیفیکیشن ها (Notifications )در اندرویدکار با صوت در برنامه نویسی اندرویدکار با ویبره(Vibrator) در اندرویدکار با دوربین در اندرویدکار با دوربین در اندرویدکار با ویدیو ویو (VideoView)در اندرویدکار با شبکه وای فای (Wifi)در اندرویدکار با لیست ویو (ListView) در اندرویدکار با سیک بار (SeekBar) در اندرویدکار با دکمه بازگشت در اندرویدکار با AutoCompleteTextView در اندرویدتغییر فونت در اندرویدکار با لایه TableLayout در اندرویدکار با لیست کشویی (Spinner) در اندرویدکار با CalendarView در اندرویدساخت شمارنده در اندرویدکار با title bar در اندرویدکار با منو (Menu)در اندرویدکار با لیست ویو (Listview) قسمت دومطراحی رابط کاربری در اندروید قسمت اولطراحی رابط کاربری در اندروید قسمت دوم(طراحی گرد)کار با استایل در اندرویدکار با لایه AbsoluteLayout در اندرویدطراحی رابط کاربری در اندروید کار با gradientکار با کلیپ بورد(ClipBoard)در اندروید کار با مولتی تاچ(Multitouch ) در اندروید+سورس کدکار با OnLongClick در اندرویدکار با منوی زمینه (ContextMenu ) در اندرویدکار با حرکات (Gesture) در اندرویدکار با (AudioCapture) در اندروید+سورس کدکار با موتور Speech در اندروید + سورسکار با PhoneCall در اندرویدساخت لیست ویو سفارشی در اندروید+سورسساخت Toastسفارشی در اندرویدانتقال برنامه به حافظه sdکار با TextWatcher در اندروید+سورستغییر رنگ محیط Eclipse طراحی رابط کاربری در اندروید کار با Canvasساخت اکشن بار سفارشی در اندروید+سورسساخت الرت دیالوگ سفارشی در اندرویدساخت برنامه نمایش مقدار شارژ باتری در اندرویدایجاد افکت رنگی بروی تصاویر در اندروید+سورسساخت آپشن منوی سفارشی در اندروید+سورسساخت دکمه سه بعدی با Selectorسخنان بزرگان برنامه نويسيوارد كردن پروژه در محيط ايكليپساضافه کردن switch,case به لیست ویوبارش برف بروی تصویر + سورسکار با فیلتر hue رنگی کردن تصویر انتخاب و پخش فایل صوتی از حافظه گوشی+سورساضافه کردن چک باکس به لیست ویوکار با ShelfView یا نمایش کتابخانه ای + سورسکار با TabHost،اضافه کردن تب به برنامه های اندرویدآموزش کامل ساخت اکشن بار سفارشی+سورسساخت برنامه های واکنش گرا(ریسپانسیو) در اندرویدقسمت دوم صفحات 7 اینچ به بالااضافه کردن انیمیشن به دکمه+سورسکار با View Switcher در اندروید + سورسکار با فیلتر Blur Mask + سورسدانلود پک کامل آیکون های طراحی اندرویدکار با sharedPreferences در اندروید+سورسآموزش کار با proguard،محافظت از برنامه اندرویدپخش فایل صوتی (MP3) از ادرس اینترنتی+سورسپخش ویدیو از آدرس اینترنتی(URL) در اندروید+سورسگوشی های و تبلت های مطرح تا چینی به ساده ترین روشپاسخ به رویداد های WebVeiw دسترسی به وب ویو با استفاده از جاوااسکریپتساخت ExpandableListView به ساده ترین شکل+سورسکار با WIFI اکسس+سورسساخت تقویم هجری برای اندروید+سورسapp rateدانلود و نمایش تصویر در ListView+سورسدانلود و نمایش فایل متنی+سورسکار با کلاس های پایه اکتیویتیآینه کردن تصویر+سورسافزودن آیتم منو سفارشی بهActionBar+سورسارسال اطلاعات از دیتابیس به GridView + سورسدسترسی به Api هایREST قسمت اولتغییر فونت لیست ویوفعال سازی و معرفی بخش های Android developer options بخش اول کار با JSON در اندرویدآموزش ساده نصب شبیه ساز اندروید Genymotion

ساختارهای شرطی در ++C
1396/03/19

کار با تب منو (Tab Menu) در زامارین
1395/12/18

حلقه های تکرار در ++C
1395/11/20

اکشن بار در زامارین
1395/11/13

معرفی وب سرویس ها در زامارین
1395/11/12

کار با WIFI اکسس+سورس


رضا نقی لو 1394/11/16

به نام خدا، در این جلسه می خواهیم با وای فای اکسس آشنا بشیم و بتونیم از قابلیت های مثل نمایش سرعت،فرکانس،مک آدرس و امکاناتی از این قبیل در سیستم وای فای اندروید استفاده کنیم.برای شروع کارابتدا یک پروژع جدید ایجاد میکنیم،در داخل لایه برنامه از سه عدد TextView جهت نمایش اطلاعات دریافتی از وای فای استفاده می کنیم.(کدهای کامل لایه برنامه activity_main.xml).

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:padding="16dp"
android:orientation="vertical">



<TextView
android:id="@+id/info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="italic"/>
<TextView
android:id="@+id/speed"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="30dp"/>
<TextView
android:id="@+id/MacAddress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="30dp"/>

<TextView
android:id="@+id/NetworkID"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="30dp"/>

</LinearLayout>

در ادامه کار کلاس MainActivity.java رو اجرا و کدهای زیر رو بهش اضافه میکنم.از دستور wifiManager برای فعال سازی دسترسی به قابلیت های ختلف wifi استفاده می کنیم.دستور getLinkSpeed سرعت دریافتی از وای فای را نمایش میدهد،دستور getMacAddress اطلاعات مربوط به مک آدرس را در تکست ویو چاپ و نمایش میدهد.برای اینکه بیشتر با مک آدرس آشنا شویم مطلب زیر را مطالعه کنید. MAC Address مخفف عبارت Media Access Control Address به معنای "زیرلایه کنترل دسترسی به رسانه" بوده و یک آدرس فیزیکی ۶ یا ۸ بایتی است که توسط سازنده‌های کارت‌های واسط شبکه (قطعات سخت افزاری که امکان اتصال کامپیوترها به یکدیگر یا به یک شبکه را می‌دهند.) بر روی حافظه آن (اغلب بر روی ROM - حافظه فقط خواندنی) ذخیره می‌کنند. آدرس مک معمولاً آدرس فیزیکی (Physical Address) نیز خوانده می‌شود. تمامی دستگاه‌هایی که به هر طریقی به یک شبکه متصل می‌شوند (از جمله تلفن‌های هوشمند، مودم‌های خانگی، لپ تاپ‌ها و...) دارای یک مک آدرس جداگانه هستند. به این ترتیب در یک شبکه داده‌ها به مقصد و واسط شبکه مشخص ارسال می‌شوند. تفاوت شاخصی که یک آدرس MAC با یک آدرس IP دارد در این است که آدرس IP در پروتکل TCP/IP در یک لایه نرم افزاری تعیین می‌شود درحالی که آدرس MAC در لایه سخت افزاری بوده و به عبارت ساده تر یک آدرس فیزیکی از پیش تعیین شده بر روی کارت واسط شبکه است. به عبارت ساده تر آدرس مک مثل یک آدرس خانه ثابت است (البته آدرس مک بعضاً قابلیت تغییر را دارد). این خانه درواقع همان رابط شبکه ما است. حال فرض کنید که در یک شهر با محدوده مشخص (شبکه) قرار داریم و یک نفر (از داخل شبکه) می‌خواهم پیغامی (پاکت‌های داده) را برای ما ارسال کند. فرد برای انجام این کار باید آدرس خانه مورد نظر را در دست داشته باشد. به این ترتیب پاکت‌های داده نیز برای انتقال در درون یک شبکه نیاز به آدرس‌های مک کارت‌های شبکه دارند.و در آخر هم دستور getNetworkId اطاعات مربوطه به شناسه شبکه را نمایش میدهد.(کدهای کامل کلاس MainActivity.java).

 /*
* Appinpps.com
* آموزش برنامه نویسی
* رایگان و ساده
*/
import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//معرفی تکست ویو
TextView textInfo = (TextView)findViewById(R.id.info);
TextView textSpeed = (TextView)findViewById(R.id.speed);
TextView textMac = (TextView)findViewById(R.id.MacAddress);
TextView textID = (TextView)findViewById(R.id.NetworkID);


//ایجاد وای فای منیجر جهت مدیریت عملکرد وای فای
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if(wifiManager!=null){
//نمایش اطلاعات وای فای بر روی تکست ویو
textInfo.setText(wifiManager.toString());
//بررسی متصل بودن وای فای
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
//دریافت سرعت وای فای
textSpeed.setText("Link Speed: " + wifiInfo.getLinkSpeed() +  wifiInfo.LINK_SPEED_UNITS);
//دریافت و نمایش مک آدرس وای فای
textMac.setText("MacAddress: " + wifiInfo.getMacAddress() +  wifiInfo.getMacAddress());
//دریافت و نمایش آیدی شبکه 
textID.setText("NetWorkID: " + wifiInfo.getNetworkId() +  wifiInfo.getNetworkId());
}
}



@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

و در آخر هم توجه  داشته باشید تا دسترسی مربوط به شبکه وای فای را در قسمت منیفست اضافه کنید.(کدهای فایل ManiFest.xml).

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.appinapps.wifimanager"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<!-- دسترسی مربوط به وای فای -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.appinapps.wifimanager.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>

فایل آماده پروژه را می توانید از این لینک دانلود کنید.

 

فایلهای ضمیمه
توجه! هیچ فایل ضمیمه ای برای این مطلب یافت نشد
درباره نویسنده
admin2
رضا نقی لو
androiddev60@gmail.com
نظرات شما
نظر جدید