• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Alert ها در جاوا+راه حل
#1
سلام به علاقه مندان اندروید

ما بعد از مسطح سازی مقدمات گرفتن مشخصات کانکت در شبکه موبایل(وای فای و دیتا)کدی در صفحه جاوای اصلی خودمون وارد میکنیم
کد پی‌اچ‌پی:
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;

public class 
cmain extends Activity {

    
// flag
    //برای وضعیت ارتباط اینترنت
    
Boolean isInternetPresent false;

    
//کلاس تشخیص اتصال
    
ConnectionDetector cd;

    @
Override
    
public void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_c);
        
Button btnStatus = (ButtonfindViewById(R.id.btn_check);

        
//ایجاد نمونه ای از کلاس تشخیص اتصال
        
cd = new ConnectionDetector(getApplicationContext());

        
//رویداد کلیک کلید بررسی وضعیت اتصال
        
btnStatus.setOnClickListener(new View.OnClickListener() {
            public 
void onClick(View v) {
                
//دریافت وضعیت اتصال
                
isInternetPresent cd.isConnectingToInternet();

                
//بررسی وضعیت اتصال
                
if (isInternetPresent) {
                    
//اتصال اینترنت برقرار است
                    
showAlertDialog(cmain.this"Internet Connection",
                            
"ارتباط اینترنت شما برقرار است"true);
                } else {
                    
//اتصال اینترنت برقرار نیست
                    //درخواست از کاربر برای برقرار کردن ارتباط
                    
showAlertDialog(cmain.this"No Internet Connection",
                            
"ارتباط اینترنت برقرار نیست"false);
                }
            }

        });
    }


    
//تابعی برای نمایش یک پیام هشدار ساده
    
@SuppressWarnings("deprecation")
    public 
void showAlertDialog(Context contextString titleString messageBoolean status) {

        
AlertDialog alertDialog = new AlertDialog.Builder(context).create();

        
//عنوان پنجره هشدار
        
alertDialog.setTitle(title);

        
//پیام پنجره هشدار
        
alertDialog.setMessage(message);

        
//آیکن پنجره هشدار
        
alertDialog.setIcon((status) ? R.drawable.success R.drawable.fail);

        
//دکمه OK
        
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
            public 
void onClick(DialogInterface dialogint which) {
            }
        });

        
// نمایش هشدار
        
alertDialog.show();
    }


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

کسی میدونه باید چیکار کنیم؟
  پاسخ
تشکر شده توسط :
#2
بجای خط
کد:
showAlertDialog(cmain.this, "Internet Connection",
                            "ارتباط اینترنت شما برقرار است", true);
بنویس:
کد:
startActivityForResult(new Intent(cmain, YOUR_NEXT_ACTIVITY.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP), -1);
YOUR_NEXT_ACTIVITY = اسم اکتیویتی بعدی.

نکته: نام کلاس و اکتیوتی رو اصولی بنویس. MyActivityName, MyClassName, Cmain, MainActivity...
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط :
#3
cmain اصولیه دگه
  پاسخ
تشکر شده توسط :
#4
خیر، باید بشه Cmain
درضمن چون اکتیویتی هستش، باید بشه CmainActivity
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط :
#5
ErrorSad44, 55) error: cannot find symbol variable cmain
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

این دوتا ارور از چیه؟؟؟؟
  پاسخ
تشکر شده توسط :
#6
دوتا نیست، یکیه...
یعنی نام "cmain" وجود نداره و تعریف نشدست
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط :
#7
خب اینو چطوری تعریف کنم؟
  پاسخ
تشکر شده توسط :
#8
مال چی هست؟ از کدوم صفحه خطارو گرفتی؟
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط :
#9
[عکس: Untitled.png]

توو همون صفحه ای که اون آلرت ها هستن.جایی ک خودت گفتی گذاشتم-اما وقتی اپ رو توو امولاتور ران میکنم این ارور نمیذاره ران شه
  پاسخ
تشکر شده توسط :
#10
اون، چون اون cmain داخل زیرکلاس
کد:
btnStatus.setOnClickListener(new View.OnClickListener() {
قرار داره.
پس باید بنویسی: cmain.this بجاش
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط :


پرش به انجمن:


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