آموزش برنامه نویسی اندروید (Android)
دسته بندی ( ۴۸۲ آموزش )
نمایش دسته بندی ها (۴۸۲ آموزش)
مباحث اولیه، در برنامه نویسی اندروید
مباحث اولیه، در برنامه نویسی اندروید 28
کار با Activity ها ، در برنامه نویسی اندروید
کار با Activity ها ، در برنامه نویسی اندروید 21
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید 11
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید 11
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید 10
کار با برنامه Android Studio ، در برنامه نویسی اندروید
کار با برنامه Android Studio ، در برنامه نویسی اندروید 9
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید 3
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید 9
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید 23
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید 38
ساخت دکمه (Button) ، در برنامه نویسی اندروید
ساخت دکمه (Button) ، در برنامه نویسی اندروید 7
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید 12
ساخت EditText، در برنامه نویسی اندروید
ساخت EditText، در برنامه نویسی اندروید 6
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید 13
طراحی متریال (Material Design)، در برنامه نویسی اندروید
طراحی متریال (Material Design)، در برنامه نویسی اندروید 3
پخش موسیقی، در برنامه نویسی اندروید
پخش موسیقی، در برنامه نویسی اندروید 5
نمایش انیمیشن، در برنامه نویسی اندروید
نمایش انیمیشن، در برنامه نویسی اندروید 3
تغییر ویژگی های کلی برنامه اندروید
تغییر ویژگی های کلی برنامه اندروید 3
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید 2
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید 10
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید 21
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید 8
حلقه ها (for و while و ...)، در برنامه نویسی اندروید
حلقه ها (for و while و ...)، در برنامه نویسی اندروید 2
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید 11
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید 10
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید 4
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید 5
بازی سازی، در برنامه نویسی اندروید
بازی سازی، در برنامه نویسی اندروید 1
به اشتراک گذاری (share)، در برنامه نویسی اندروید
به اشتراک گذاری (share)، در برنامه نویسی اندروید 5
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید 15
کار با پوشه های raw و assets ، در برنامه نویسی اندروید
کار با پوشه های raw و assets ، در برنامه نویسی اندروید 2
عملیات های ریاضی، در برنامه نویسی اندروید
عملیات های ریاضی، در برنامه نویسی اندروید 13
کار با دوربین (Camera)، در برنامه نویسی اندروید
کار با دوربین (Camera)، در برنامه نویسی اندروید 3
کار با action bar ، در برنامه نویسی اندروید
کار با action bar ، در برنامه نویسی اندروید 4
کار با کلاس ها (class) ، در برنامه نویسی اندروید
کار با کلاس ها (class) ، در برنامه نویسی اندروید 4
کار با package ها ، در برنامه نویسی اندروید
کار با package ها ، در برنامه نویسی اندروید 2
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز) 2
امنیت، در برنامه نویسی اندروید
امنیت، در برنامه نویسی اندروید 1
Thread ها، در برنامه نویسی اندروید
Thread ها، در برنامه نویسی اندروید 3
سرویس ها (Service)، در برنامه نویسی اندروید
سرویس ها (Service)، در برنامه نویسی اندروید 9
BroadcastReceiver ، در برنامه نویسی اندروید
BroadcastReceiver ، در برنامه نویسی اندروید 0
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید 11
AsyncTask ، در برنامه نویسی اندروید
AsyncTask ، در برنامه نویسی اندروید 2
آرایه ها (Arrays)، در برنامه نویسی اندروید
آرایه ها (Arrays)، در برنامه نویسی اندروید 3
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید 6
رنگ ها (Colors)، در برنامه نویسی اندروید
رنگ ها (Colors)، در برنامه نویسی اندروید 3
Fragment ها و Tab بندی، در برنامه نویسی اندروید
Fragment ها و Tab بندی، در برنامه نویسی اندروید 8
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید 1
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید 3
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید 1
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید 2
پرداخت درون برنامه ای، در برنامه نویسی اندروید
پرداخت درون برنامه ای، در برنامه نویسی اندروید 1
 پروژه های اندروید Open Source کاربران کلیدستان
پروژه های اندروید Open Source کاربران کلیدستان 2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید 5
مباحث عمومی، در برنامه نویسی اندروید
مباحث عمومی، در برنامه نویسی اندروید 35

چک کردن اتصال به اینترنت، به همراه نمایش یک پیام و دو گزینه ((تلاش مجدد)) و ((بی خیال)) هنگام عدم اتصال به اینترنت، با استفاده از AlertDialog ، در برنامه نویسی اندروید

در مبحث های دیگر، چگونگی چک کردن اتصال به اینترنت ( کلید شماره 287 ) و چگونگی نمایش یک پیام، به همراه دو گزینه، به کاربر، با استفاده از AlertDialog ( کلید شماره 2407 ) را شرح دادیم. اکنون قصد داریم که در یک پروژه اندروید، این دو را با هم ترکیب کنیم و برنامه اندروید، ابتدا چک کند که آیا گوشی اندروید کاربر به اینترنت متصل می باشد یا خیر، اگر متصل است، یک سری کد اجرا شود و اگر به اینترنت متصل نباشد، با استفاده از AlertDialog ، یک پیام با عنوان خطا در اتصال به اینترنت، به کاربر نمایش داده شود و همچنین دو گزینه در پنجره مربوط به پیام وجود دارد که کاربر می تواند انتخاب کند که دوباره، اتصال به اینترنت (و بعد از آن، اجرای کدهای مورد نظرمان) صورت گیرد یا خیر.

برنامه اندروید، شامل یک دکمه (Button) است که با اشاره کاربر بر روی آن، اتصال گوشی به اینترنت، چک می شود :

چک کردن اتصال به اینترنت، به همراه نمایش یک پیام و دو گزینه ((تلاش مجدد)) و ((بی خیال)) هنگام عدم اتصال به اینترنت، با استفاده از AlertDialog ، در برنامه نویسی اندروید

برای چک کردن برنامه، اتصال گوشی به اینترنت را قطع می کنیم و بعد بر روی دکمه اشاره می کنیم. پنجره زیر نمایش داده می شود :

چک کردن اتصال به اینترنت، به همراه نمایش یک پیام و دو گزینه ((تلاش مجدد)) و ((بی خیال)) هنگام عدم اتصال به اینترنت، با استفاده از AlertDialog ، در برنامه نویسی اندروید

و اگر گوشی به اینترنت متصل باشد، پیام کوتاه زیر نمایش داده می شود :

چک کردن اتصال به اینترنت، به همراه نمایش یک پیام و دو گزینه ((تلاش مجدد)) و ((بی خیال)) هنگام عدم اتصال به اینترنت، با استفاده از AlertDialog ، در برنامه نویسی اندروید

در ادامه، بخش های مهم پروژه اندروید را شرح می دهیم و در انتها نیز، لینک هایی برای دانلود پروژه اندروید، موجود است.

در برنامه eclipse ، ابتدا یک پروژه اندروید با نام CheckInternet می سازیم (نام package را برابر com.kelidestan.checkinternet انتخاب می کنیم. نام Activity اصلی را برابر MainActivity انتخاب می کنیم و فایل xml متناظر آن را هم برابر activity_main قرار می دهیم).

قبل از هر چیز، باید اجازه های دسترسی زیر را به فایل AndroidManifest.xml اضافه کنیم :


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

بنابراین کدهای فایل AndroidManifest.xml به صورت زیر خواهد بود :


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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
   
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

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

رشته های (string) مورد نظرمان را در فایل strings.xml تعریف می کنیم :

چک کردن اتصال به اینترنت، به همراه نمایش یک پیام و دو گزینه ((تلاش مجدد)) و ((بی خیال)) هنگام عدم اتصال به اینترنت، با استفاده از AlertDialog ، در برنامه نویسی اندروید

کدهای فایل strings.xml را به صورت زیر می نویسیم :


<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">CheckInternet</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="title">خطا در اتصال به اینترنت</string>
    <string name="message">متاسفانه در اتصال به اینترنت، خطایی رخ داده است !</string>
    <string name="yes">تلاش دوباره</string>
    <string name="no">بی خیال</string>
    <string name="button">چک کردن اتصال به اینترنت</string>

</resources>

فایل activity_main.xml ، فایل xml متناظر با MainActivity.java می باشد :

چک کردن اتصال به اینترنت، به همراه نمایش یک پیام و دو گزینه ((تلاش مجدد)) و ((بی خیال)) هنگام عدم اتصال به اینترنت، با استفاده از AlertDialog ، در برنامه نویسی اندروید

کدهای فایل activity_main.xml را به صورت زیر می نویسیم :


<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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/button" />

</LinearLayout>

همان طور که مشاهده می کنید، در آن، تنها یک دکمه (Button) تعریف کرده ایم. ظاهر گرافیکی فایل activity_main.xml به صورت زیر می باشد :

چک کردن اتصال به اینترنت، به همراه نمایش یک پیام و دو گزینه ((تلاش مجدد)) و ((بی خیال)) هنگام عدم اتصال به اینترنت، با استفاده از AlertDialog ، در برنامه نویسی اندروید

فایل MainActivity.java ، فایل مروبط به Activity (تنها Activity) برنامه اندروید می باشد :

چک کردن اتصال به اینترنت، به همراه نمایش یک پیام و دو گزینه ((تلاش مجدد)) و ((بی خیال)) هنگام عدم اتصال به اینترنت، با استفاده از AlertDialog ، در برنامه نویسی اندروید

کدهای فایل MainActivity.java را به صورت زیر می نویسیم :


package com.kelidestan.checkinternet;

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
               
                Button b = (Button) findViewById(R.id.button1);
                b.setOnClickListener(new OnClickListener() {
                                         
                     @Override
                     public void onClick(View v) {
                         new NetCheck().execute();
                     }
                });
               
        }

        public void ShowAlertDialog() {
        AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this);
        alertDialog.setTitle(R.string.title);
        alertDialog.setMessage(R.string.message);
        alertDialog.setIcon(R.drawable.ic_launcher);
        // Setting Positive "Yes" Button
        alertDialog.setPositiveButton(R.string.yes,
                        new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.cancel();
                        new NetCheck().execute();
                    }
                });
        // Setting Negative "NO" Button
        alertDialog.setNegativeButton(R.string.no,
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // Write your code here to invoke NO event
                        dialog.cancel();
                    }
                });
        // Showing Alert Message
        alertDialog.show();
    }
       
       
        /**
    * Async Task to check whether internet connection is working.
    **/


       private class NetCheck extends AsyncTask<String,String,Boolean>
       {
           private ProgressDialog nDialog;

           @Override
           protected void onPreExecute(){
               super.onPreExecute();
               nDialog = new ProgressDialog(MainActivity.this);
               nDialog.setTitle("Checking Network");
               nDialog.setMessage("Loading..");
               nDialog.setIndeterminate(false);
               nDialog.setCancelable(true);

               nDialog.show();
           }
           /**
            * Gets current device state and checks for working internet connection by trying Google.
           **/

           @Override
           protected Boolean doInBackground(String... args){

               ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
               NetworkInfo netInfo = cm.getActiveNetworkInfo();
               if (netInfo != null && netInfo.isConnected()) {
                   try {
                       URL url = new URL("http://www.google.com");
                       HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
                       urlc.setConnectTimeout(3000);
                       urlc.connect();
                       if (urlc.getResponseCode() == 200) {
                           return true;
                       }
                   } catch (MalformedURLException e1) {
                       // TODO Auto-generated catch block
                       e1.printStackTrace();
                   } catch (IOException e) {
                       // TODO Auto-generated catch block
                       e.printStackTrace();
                   }
               }
               return false;

           }
           @Override
           protected void onPostExecute(Boolean th){

               if(th == true){
                   nDialog.dismiss();
                   Toast.makeText(getApplicationContext(), "Your device is connected to internet !", Toast.LENGTH_SHORT).show();
                   // new GetData().execute();
               }
               else{
                   nDialog.dismiss();
                   ShowAlertDialog();
               }
           }
       }


}

چون قبلا این کدها را در دو مبحث دیگر، شرح داده ایم، از تکرار آن توضیحات خودداری می کنم و تنها اشاره ای به خط زیر از کدها می کنم :


// new GetData().execute();

این خط از کدها را به صورت توضیح نوشته ایم، زیرا به جای آن، یک پیام کوتاه با استفاده از روش Toast به کاربر نمایش می دهیم که صحیح بودن اتصال گوشی به اینترنت را اعلام می کند، اما شاید شما بخواهید که حجم زیادی کد پس از چک کردن اینترنت و صحیح بودن اتصال اینترنت، اجرا کنید. برای این منظور، این خط از کدها را از حالت توضیح (comment) در بیاورید و سپس یک کلاس با نام GetData تعریف کرده و کدهای مورد نظرتان را در آن بنویسید. اگر برای این مورد (یعنی تعریف کدهایی در کلاس GetData)، یک مثال عملی می خواهید، کلید (مبحث) زیر را بخوانید :


کلید شماره 312

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




نویسنده علیرضا گلمکانی
شماره کلید 2408
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 6 6 0
احسان
۱۳۹۶/۰۲/۲۳
۱۲:۴۹

سلام
من اپلیکیشن را بر روی گوشی نصب کردم. وقتی با اینترنت سیم کارت به اینترنت وصل می شم، همش میگه که اینترنت قطع هست. در صورتی که کروم و تلگرام به اینترنت دسترسی دارن.
مشکل کجاست؟

nima
۱۳۹۶/۰۴/۲۶
۱۵:۲۴

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

admin
۱۳۹۶/۰۴/۲۷
۰۹:۳۲

سلام.
در فایل MainActivity.java ، کدهای زیر را نوشته ایم :

کد پی‌اچ‌پی:
Button b = (ButtonfindViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
 
                         
     
@Override
     
public void onClick(View v) {
 
        new NetCheck().execute();
 
    }
}); 

کد بالا تعیین کرده است که هنگام اشاره کاربر بر روی دکمه (Button) با id برابر button1 ، از کلاس NetCheck ، یک شیء (Object) ساخته شده و اجرا گردد. یعنی در واقع، اجرای کلاس NetCheck باعث چک کردن اینترنت می شود. 
بنابراین اگر قصد دارید که دکمه (Button) را به عنوان واسطه حذف کنیم و به محض اجرای Acticity ، اینترنت چک شود، باید به جای کدهای بالا، تنها کد زیر را بنویسید :

کد پی‌اچ‌پی:
new NetCheck().execute(); 

همچنین برای اینکه دکمه (Button) در ظاهر گرافیکی Activity نمایش داده نشود، کدهای تعریف آن در فایل xml متناظر با Activity را حذف کنید.

Flower

Omid
۱۳۹۶/۰۶/۰۵
۲۳:۴۳

سلام
بسیار بسیار ممنون خیلی عالی و با جزئیات بود. Heart

علیرضا
۱۳۹۸/۰۴/۳۱
۱۶:۳۴

سلام.اینترنت گوشی من وصله.از همه امکانات هم استفاده میکنم مثل کروم یا مپرس یا .... ولی از یو تیوب نمیتونم استفاده کنم. میزنه اینترنت شما آنلاین هستید.چکار کنم.

mahan
۱۳۹۸/۰۵/۲۷
۰۲:۰۱

سلام بسیار عالی بود اما چطور میشه  با کلیک ردی button  اگه اینترنت گوشی فعال بود غیر فعال و اگه غیر فعال بود فعال کنه دو سه روزه درگیرشدن ممنون میشم راهنمایی کنید

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)

جستجو در کلیدستان، توسط گوگل

جستجو در عنوان کلیدها

دسترسی سریع

کلید
×

شماره کلید


دسته بندی
×

شماره دسته کلید


جستجو
×

جستجو


کلمات کلیدی

راهنمای کلمات کلیدی (کلاس ها، توابع، عناصر و ...) در برنامه نویسی اندروید، بر اساس حرف اول کلمه کلیدی :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

developer.android.com