maliasghar 1 ارسال شده در ۱۹ خرداد ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۱۹ خرداد ۱۳۹۳ با سلام و خسته نباشی دوستان بنده یه پروژه دارم تقریبا شبیه یه ذکر شماره وقتی کاربر یه دکمه ای رو میزنه یه متغییر از صفر شوع میکنه به شمردن مث یه ذکرشمار ... میخوام کاربر پس از خروج و ورود دوباره متغیر همون عدد قبلی رو نشون بده ...حالا کسی میدونه چطوری با استفاده از SharedPreferences چطوری میتونم یه همچین چیزی داشته باشم ؟! اینم از کدش : [shcode=java] int counter; EditText tView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.numberoflisted); final TextView tView = (TextView) findViewById(R.id.txt_textTwo); counter = 0; Button btn = (Button) findViewById(R.id.btn_buttonOne); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { counter++; tView.setText("" + counter); } }); } [/shcode] با تشکر نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
maliasghar 1 ارسال شده در ۲۰ خرداد ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ کسی نیست ؟؟؟؟؟؟؟؟؟؟؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
mohammadi66 23 ارسال شده در ۲۰ خرداد ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ سلام شما باید به حافظه تلفن رایت کنید و دوباره بعد از اجرای برنامه اون رو بخونید این کار رو با استفاده از دیتا بیس میتونید انجام بدید توی اینترنت سرچ کنید احتمالا بدست بیارید نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
maliasghar 1 ارسال شده در ۲۰ خرداد ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ با SharedPreferences نمیشه انجام داد ؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Majid Ebrahimi 19 ارسال شده در ۲۰ خرداد ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ با SharedPreferences نمیشه انجام داد ؟ چرا نمیشه مقدارشو وقتی کاربر دکمه بک برای خروج از برنامه رو میزنه ذخیره کنید و وقتی که برنامه رو باز کرد مقدار رو بگیرید و نمایش دهید. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
maliasghar 1 ارسال شده در ۲۰ خرداد ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ ممنون از راهنماییتون بنده با استفاده ار راهنمایی شما تونستم این کد رو بنویسم میشه کمک کنید اشکالاتش رو برطرف کنم؟؟؟ شاید زیاد درست نباشه [shcode=java] int counter; private String setText; int counter1; public void onBackPressed() { //Display alert message when back button has been pressed backButtonHandler(); return; } public void backButtonHandler() { setText += 1; SharedPreferences setting=getSharedPreferences("counter", MODE_PRIVATE); SharedPreferences.Editor editor=setting.edit(); editor.putString("counter1", setText.toString()); editor.commit(); finish(); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.numberoflisted); final TextView tView = (TextView) findViewById(R.id.txt_textTwo); try { SharedPreferences setting=getSharedPreferences("counter", 0); setText=setting.getString("counter1", ""); String t=setText; if (t.equals("")) { } else { tView.setText((int) Float.parseFloat(t)); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } Button btn = (Button) findViewById(R.id.btn_buttonOne); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { counter++; counter1++; tView.setText("" + counter); } }); } [/shcode] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Majid Ebrahimi 19 ارسال شده در ۲۰ خرداد ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ شما باید متد onKeyDown را override کنید و در if آن مقدارتان را ذخیره کنید. @Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { return true; } return super.onKeyDown(keyCode, event);} نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
maliasghar 1 ارسال شده در ۲۰ خرداد ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ شما باید متد onKeyDown را override کنید و در if آن مقدارتان را ذخیره کنید. ممنون آقا امید خب من اینجا به جای onKeyDown از onBackPressed استفاده کردم اگه بخوام if رو داخلش قرار بدم چطوری باید باشه ؟! نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Majid Ebrahimi 19 ارسال شده در ۲۰ خرداد ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ اگر این متد کار می کند و در موقع خروج فراخوانی می شود دیگر نیازی به if نیست.متد onKeyDown با فشردن هر کلیدی فراخوانی می شود پس if در داخل آن قرار می گیرد تا کلید بک شناسایی شود.اما در روشی که شما به کار بردید .متد فقط کلید بک را شناسایی می کند و نیازی به if نیست. البته بهتر است از متد onKeyDown استفاده کنید. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
maliasghar 1 ارسال شده در ۲۰ خرداد ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ ممنون ولی درست نشد میشه چک کنید کدم رو؟؟ [shcode=java] public class Numberoflisted extends Activity { int counter; private String setText; TextView tView; SharedPreferences sps ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.numberoflisted); tView = (TextView) findViewById(R.id.txt_textTwo); SharedPreferences shp1 = getSharedPreferences("ali", MODE_PRIVATE); final int[] counter = {shp1.getInt("counter", 0)}; sps = getSharedPreferences("ali", MODE_PRIVATE); counter[0] = sps . getInt("counter",0); Button btn = (Button) findViewById(R.id.btn_buttonOne); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { counter[0]++; tView.setText("" + counter[0]); } }); } @Override public void onBackPressed() { //Display alert message when back button has been pressed backButtonHandler(); return; } public void backButtonHandler() { tView = (TextView) findViewById(R.id.txt_textTwo); SharedPreferences.Editor shpEs = sps.edit(); shpEs.putInt("counter", counter); finish(); } } [/shcode] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Majid Ebrahimi 19 ارسال شده در ۲۰ خرداد ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ مشکل کد اینجاست که شما ادیتورتان را بعد از ذخیره کردن مقدار commit نمی کنید. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
maliasghar 1 ارسال شده در ۲۰ خرداد ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ اگه میشه بیشتر توضیح بدید من نمیدونم چطوری باید commit شه :-( نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Majid Ebrahimi 19 ارسال شده در ۲۰ خرداد ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ Sp.edit ().putInt ("","").commit(); نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
StoPpeR 0 ارسال شده در ۲۰ خرداد ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ نیازی به onKeyPressed نیست می تونید به این صورت عمل کنید: [ltr] [shcode=java] int counter; EditText tView; SharedPreferences shared; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_counter); shared = getSharedPreferences("pref", 0); counter = shared.getInt("count", 0); final TextView tView = (TextView) findViewById(R.id.countt); tView.setText("" + counter); Button btn = (Button) findViewById(R.id.buttoncoun); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { counter++; tView.setText("" + counter); shared.edit().putInt("count", counter).commit(); } }); [/shcode][/ltr] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
maliasghar 1 ارسال شده در ۲۰ خرداد ۱۳۹۳ مالک گزارش اشتراک گذاری ارسال شده در ۲۰ خرداد ۱۳۹۳ نیازی به onKeyPressed نیست می تونید به این صورت عمل کنید: [ltr] [shcode=java] int counter; EditText tView; SharedPreferences shared; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_counter); shared = getSharedPreferences("pref", 0); counter = shared.getInt("count", 0); final TextView tView = (TextView) findViewById(R.id.countt); tView.setText("" + counter); Button btn = (Button) findViewById(R.id.buttoncoun); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { counter++; tView.setText("" + counter); shared.edit().putInt("count", counter).commit(); } }); [/shcode][/ltr] ممنون بلاخره درست شد نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .