انجمن سایت کلیدستان


رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در ایجاد دو چک کننده اتصال به اینترنت (در برنامه نویسی اندروید)

مشکل در ایجاد دو چک کننده اتصال به اینترنت (در برنامه نویسی اندروید)

#1
سلام،
من دوتا دکمه دارم که برای هر دو میخوام وقتی کلیک میشن اول اتصال رو چک کنند. من کد رو به صورت زیر نوشتم ولی یک مشکلی هست ، تا دکمه ای که کد آن بالا تر نوشته شده کلیک نشه ، دکمه ای که کدش پایین تر نوشته شده اجرا نمیشه... آیا کروشه ای مشکل داره؟؟؟؟ لطفاً راهنمایی کنید

کد پی‌اچ‌پی:
public class MainActivity extends Activity {


    @
Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
        
       
        
ImageButton b3 = (ImageButtonfindViewById(R.id.imageButton3);
        
b3.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 dialogint which) {
                
dialog.cancel();
                new 
NetCheck().execute();
            }
        });
// Setting Negative "NO" Button
alertDialog.setNegativeButton(R.string.no,
        new 
DialogInterface.OnClickListener() {
            public 
void onClick(DialogInterface dialogint 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 = (ConnectivityManagergetSystemService(Context.CONNECTIVITY_SERVICE);
       
NetworkInfo netInfo cm.getActiveNetworkInfo();
       if (
netInfo != null && netInfo.isConnected()) {
           try {
               
URL url = new URL("http://www.google.com");
               
HttpURLConnection urlc = (HttpURLConnectionurl.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();
       }
   
        
        
        
        
        
ImageButton b1 = (ImageButtonfindViewById(R.id.imageButton1);
        
b1.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 dialogint which) {
                
dialog.cancel();
                new 
NetCheck().execute();
            }
        });
// Setting Negative "NO" Button
alertDialog.setNegativeButton(R.string.no,
        new 
DialogInterface.OnClickListener() {
            public 
void onClick(DialogInterface dialogint 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 NetCheck1 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 = (ConnectivityManagergetSystemService(Context.CONNECTIVITY_SERVICE);
       
NetworkInfo netInfo cm.getActiveNetworkInfo();
       if (
netInfo != null && netInfo.isConnected()) {
           try {
               
URL url = new URL("http://www.google.com");
               
HttpURLConnection urlc = (HttpURLConnectionurl.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();
       }
   }     
          
       
         
          
       
       

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

پاسخ


پیام‌های این موضوع
مشکل در ایجاد دو چک کننده اتصال به اینترنت (در برنامه نویسی اندروید) - توسط kousha.nikkar - ۱۳۹۳/۱۱/۰۴, ۱۲:۵۶ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان