بررسی وضعیت اتصال به اینترنت در آموزش برنامه نویسی اندروید (در اندروید استودیو)

بررس اتصال به اینترنت در اندروید استودیو - اتصال به اینترنت در آموزش برنامه نویسی اندروید

بررسی وضعیت اتصال به اینترنت در آموزش برنامه نویسی اندروید یکی از کارهای مهم طراح اپلیکیشن است که باید بداند دستگاه به اینترنت وصل است یا خیر و اگر وصل است از چه نوعی (داده همراه با Wi-Fi) می باشد؟ ما در این مقاله قصد داریم با یک مثال کاربردی در زمینه بررسی وضعیت اتصال به اینترنت در اندروید استودیو شما را با این جزئیات آشنا کنیم. با ما همراه باشید.

وضعیت اتصال به اینترنت در آموزش برنامه نویسی اندروید چگونه است؟  

در آموزش برنامه نویسی اندروید با استفاده از کلاس ConnectivityManager می توانیم به راحتی بررسی کنیم که دستگاه به اینترنت وصل است یا خیر! و همچنین می توانیم نوع اتصال به اینترنت که در حال استفاده از آن هستیم را نیز مشخص کنیم (یعنی اتصال به اینترنت در اندروید از نوع داده همراه است یا Wi-Fi).

برای به دست آوردن وضعیت اتصال به اینترنت در اندروید استودیو ، برنامه ما باید مجوزهای INTERNET و ACCESS_NETWORK_STATE را بدست آورد. برای این کار ، باید موارد زیر را در فایل مانیفست اندرویدی (manifest file) مانند تصویر زیر اضافه کنیم.

<manifest>
    ....
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    ....
</manifest>

1- وضعیت اتصال به اینترنت را بررسی کنید

در اندروید ما می توانیم وضعیت اتصال به اینترنت را به آسانی با استفاده از روش ()getActiveNetworkInfo  شیء ConnectivityManager  تعیین کنیم. در نتیجه با استفاده از قطعه کد زیر و استفاده از کلاس ConnectivityManager می توانید بفهمید که اتصال برقرار است یا خیر!

ConnectivityManager cm = (ConnectivityManager)getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo nInfo = cm.getActiveNetworkInfo();
boolean connected = nInfo != null && nInfo.isAvailable() && nInfo.isConnected();

اگر به قطعه کد بالا توجه کنید می بینید که ما از متد ()getActiveNetworkInfo  شیء ConnectivityManager استفاده کردیم تا بدانیم که اتصال به اینترنت در دسترس است یا خیر!

2- نوع اتصال به اینترنت را تعیین کنید

در اندروید، می توانیم با استفاده از روش ()getType  شیء NetworkInfo به راحتی نوع ارتباط اینترنتی موجود در اینترنت یعنی WI-FI است یا داده های تلفن همراه را تعیین کنیم. قطعه کد زیر برای بدست آوردن نوع اتصال به اینترنت در برنامه اندرویدی نوشته شده است.

ConnectivityManager cm = (ConnectivityManager)getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo nInfo = cm.getActiveNetworkInfo();
boolean isWiFi = nInfo.getType() == ConnectivityManager.TYPE_WIFI;

اگر به قطعه کد بالا توجه کنید می بینید که از روش ()getType  شیء NetworkInfo برای دانستن نوع اتصال به اینترنت استفاده کردیم.

اکنون با مثالی کاربردی خواهید دید که چگونه می توان فایل ها را مستقیماً در حافظه داخلی دستگاه ذخیره کرد و با استفاده از اشیاء FileOutputStream و FileInputStream در برنامه اندرویدی فایل ها را از حافظه داخلی دستگاه خواند.

مثال کاربردی از اتصال به اینترنت در اندروید استودیو

در کد زیر بررسی می کنیم که آیا اتصال به اینترنت در دسترس است یا برنامه از شیء android ConnectivityManager استفاده نمی کند! برای اینکار با استفاده از اندروید استودیو (Android Studio) پروژه جدید اندرویدی ایجاد کرده و نام آن را مثلا InternalConnectionExample بگذارید.

در صورت عدم اطلاع از ایجاد یک پروژه یا یک برنامه در استودیوی اندروید، این مقاله را بخوانید :

مقاله پیشنهادی برای خواندن به شما :

پس از ایجاد یک برنامه ، فایل activ_main.xml را از مسیر پوشه \ res \ layout باز کرده و کدی را مانند شکل زیر بنویسید:

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:id="@+id/btnCheck"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="150dp"
        android:layout_marginLeft="100dp"
        android:text="Check Internet Connection" />
</LinearLayout>

اکنون فایل MainActivity.java را از مسیر \ java \ com.tutlane.internalstorageexample باز کنید و کدی را مانند شکل زیر بنویسید:

MainActivity.java

package com.tutlane.internetconnectionexample;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
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 btnStatus = (Button)findViewById(R.id.btnCheck);
        btnStatus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               // Check for Internet Connection
                if (isConnected()) {
                    Toast.makeText(getApplicationContext(), "Internet Connected", Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(getApplicationContext(), "No Internet Connection", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
    public boolean isConnected() {
        boolean connected = false;
        try {
            ConnectivityManager cm = (ConnectivityManager)getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo nInfo = cm.getActiveNetworkInfo();
            connected = nInfo != null && nInfo.isAvailable() && nInfo.isConnected();
            return connected;
        } catch (Exception e) {
            Log.e("Connectivity Exception", e.getMessage());
        }
        return connected;
    }
}

اگر به کد بالا توجه کرده باشید، ما با استفاده از شیء ConnectivityManager وضعیت اتصال به اینترنت را بدست آوریم.

اکنون باید مجوزهای INTERNET و ACCESS_NETWORK_STATE را برای برنامه اندرویدی خود برای آن فایل AndroidManifest.xml باز کنید و مجوزهایی را مانند شکل زیر اضافه کنید:

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.tutlane.internetconnectionexample">
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        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>

اگر به قطعه کد بالا توه کرده باشید می بینید که ما وضعیت اتصال به اینترنت را بدست آوردیم و مجوزهای مورد نیاز را در پرونده AndroidManifest.xml اضافه کردیم.

خروجی نمونه اتصال به اینترنت در اندروید استودیو این جلسه الکامکو 

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

بررس اتصال به اینترنت در اندروید استودیو - اتصال به اینترنت در آموزش برنامه نویسی اندروید - طراحی اپلیکیشن موبایل

نتیجه کارکرد این مثال: هنگامی که روی دکمه Check Internet Connection کلیک می کنید، وضعیت اتصال به اینترنت چه در دسترس باشد و چه در دسترس نباشد، واکشی می شود.

در نتیجه به این صورت می توانید وضعیت اتصال به اینترنت در برنامه های اندرویدی با استفاده از شیء ConnectivityManager بر اساس نیازهای خود بررسی کنید.

جدیدترین دوره ها
آموزش ساخت اپلیکیشن فروشگاهی اندروید دیجی کالا Digikala - سورس دیجی کالا php - الکامکو
دوره آموزش ساخت اپلیکیشن اندروید فیلیمو - خرید اشتراک فیلیمو - خرید اشتراک فیلم - برنامه فیلیمو برای اندروید - ساخت اپلیکیشن فیلم و سریال - ساخت برنامه فیلیمو | مرجع آموزش برنامه نویسی اندروید الکامکو
آموزش طراحی رابط کاربری (طراحی UI اندروید) و آموزش طراحی تجربه کاربری (طراحی UX اندروید) - آموزش برنامه نویسی اندروید الکامکو
مشاهده همه دوره های آموزش برنامه نویسی اندروید الکامکو
{ آموزشگاه آنلاین الکامکو }

مرجع آموزش برنامه نویسی اندروید
طراحی اپلیکیشن موبایل
طراحی سایت

با نوشتن این مقاله توانستیم به شما بررسی وضعیت اتصال به اینترنت در آموزش برنامه نویسی اندروید (اتصال به اینترنت در برنامه های اندرویدی) کمکی کنیم؟ در صورتی که سوال و  یا نظری در این رابطه دارید خوشحال می شویم زیر همین پست با ما درمیان بگذارید.

اشتراک گذاری این صفحه در شبکه های اجتماعی:

سوالات و نظرات خود را در این بخش مطرح کنید

avatar
فهرست