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



فعال/غیرفعال نمودن Push Notification در اپلیکیشن اندرویدزمان کنونی: ۱۳۹۵/۰۹/۱۶، ۱۰:۲۴ ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: ramtin2080
آخرین ارسال: aliasghar
پاسخ 4
بازدید 1354

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
فعال/غیرفعال نمودن Push Notification در اپلیکیشن اندروید

فعال/غیرفعال نمودن Push Notification در اپلیکیشن اندروید

#1
با سلام
من از سرویس Push Notification سایت Parse استفاده می‌کنم.چگونه می‌توان درون برنامه یک switch ساخت تا به انتخاب کاربر، Push Notification خاموش یا روشن شود و این تنظیم ذخیره شود تا درصورت خارج شدن از برنامه تنظیمات حذف نشوند.
پاسخ

فعال/غیرفعال نمودن Push Notification در اپلیکیشن اندروید

#2
سلام.
شما با استفاده از SharedPreferences ، یک متغیر را ذخیره کنید که مقدار اولیه آن برابر 1 خواهد بود (برای حالت پیش فرض که همان نمایش دادن می باشد). سپس هر زمان که کاربر در برنامه اندروید شما، تنظیمات را تغییر داد، مقدار آن را به 0 تغییر می دهید (یعنی حالت عدم نمایش). متغیرهایی هم که با SharedPreferences ذخیره می شوند، تا زمان uninstall برنامه اندروید، حذف نخواهند شد.
سپس در بخشی از کدهای برنامه خود که برای Push Notification کد نوشته اید، شرط بگذارید که تنها در صورتی اجرا شوند که مقدار آن متغیر برابر 1 باشد (تنها در این صورت نمایش داده شوند).
برای ذخیره اطلاعات (تنظیمات) با استفاده از SharedPreferences ، دو کلید زیر را بخوانید :

http://www.kelidestan.com/keys/keys.php?key=288

http://www.kelidestan.com/keys/keys.php?key=248

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط ramtin2080

فعال/غیرفعال نمودن Push Notification در اپلیکیشن اندروید

#3
من ازکد زیر برای ساخت یک Switch استفاده کردم:



کد:
       private Switch mySwitch;
      @Override
       protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
              mySwitch = (Switch) findViewById(R.id.switch1);

              //set the switch to ON
              mySwitch.setChecked(true);
             //attach a listener to check for changes in state
             mySwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(CompoundButton buttonView,
                                                boolean isChecked) {

              if(isChecked){
   Toast.makeText(getApplicationContext(), "on", Toast.LENGTH_SHORT).show();
}
              else{
   Toast.makeText(getApplicationContext(), "off", Toast.LENGTH_SHORT).show();
}

}
});
}
اما در ذخیره وضعیت Switch مشکل دارم؛ چگونه می‌توان متغیر (0و1) را به کار برد؟
 

 
پاسخ

فعال/غیرفعال نمودن Push Notification در اپلیکیشن اندروید

#4
دوست عزیز اگه به کلید هایی که ادمین داده توجه کنی به راحتی میتونی این مشکل رو حل کنی
 چون ما از دو متغیر 0-1  برای این کار میخواهیم استفاده کنیم بهتر از boolean  استفاده کنیم
اول Boolean  مون رو قبل از متد on creat  تعریف میکنیم

کد:
    boolean chbt;

بعد یه SharedPreferences  برای بازسازی و لود با استفاده از بولن تعریف میکنیم با مقدار اولیه ی  ترو

کد:
        final SharedPreferences shp = getSharedPreferences("sett", MODE_PRIVATE);
        swt = shp.getBoolean("chk", true);

از این طریق به سویچ میگیم طبق مقدار داده شده عمل کنه

کد:
        aSwitch.setChecked(swt);

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

کد:
        aSwitch.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

// برای تشخیص ترو ، فالس و نمایش تتوست  ( میتونید هم از این قسمت استفاده نکنید )
                if (aSwitch.isChecked()) {
                    Toast.makeText(MainActivity.this,"فعال ",Toast.LENGTH_LONG ).show();
                } else{
                    Toast.makeText(MainActivity.this,"غیر فعال ",Toast.LENGTH_LONG ).show();
                }
// برای ذخیره سازی مقدار سویچ
                SharedPreferences.Editor shpE = shp.edit();
                shpE.putBoolean("chk", aSwitch.isChecked());
                shpE.commit();
            }
        });

این کد رو برای سویچ نوشتم براتون

کد:
public class MainActivity extends ActionBarActivity {
    boolean swt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Switch aSwitch = (Switch) findViewById(R.id.switch1);

        final SharedPreferences shp = getSharedPreferences("sett", MODE_PRIVATE);
        swt = shp.getBoolean("chk", true);
        aSwitch.setChecked(swt);

        aSwitch.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if (aSwitch.isChecked()) {
                    Toast.makeText(MainActivity.this,"فعال ",Toast.LENGTH_LONG ).show();
                } else{
                    Toast.makeText(MainActivity.this,"غیر فعال ",Toast.LENGTH_LONG ).show();
                }
                SharedPreferences.Editor shpE = shp.edit();
                shpE.putBoolean("chk", aSwitch.isChecked());
                shpE.commit();
            }
        });
    }
}
پاسخ
 سپاس شده توسط admin ، ramtin2080


پرش به انجمن:


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

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)