رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پست های پیشنهاد شده

با سلام و خسته نباشی

دوستان بنده یه پروژه دارم تقریبا شبیه یه ذکر شماره وقتی کاربر یه دکمه ای رو میزنه یه متغییر از صفر شوع میکنه به شمردن مث یه ذکرشمار ... میخوام کاربر پس از خروج و ورود دوباره متغیر همون عدد قبلی رو نشون بده ...حالا کسی میدونه چطوری با استفاده از 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]

با تشکر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

شما باید به حافظه تلفن رایت کنید و دوباره بعد از اجرای برنامه اون رو بخونید این کار رو با استفاده از دیتا بیس میتونید انجام بدید

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

با SharedPreferences نمیشه انجام داد ؟

چرا نمیشه مقدارشو وقتی کاربر دکمه بک برای خروج از برنامه رو میزنه ذخیره کنید و وقتی که برنامه رو باز کرد مقدار رو بگیرید و نمایش دهید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون از راهنماییتون بنده با استفاده ار راهنمایی شما تونستم این کد رو بنویسم میشه کمک کنید اشکالاتش رو برطرف کنم؟؟؟

شاید زیاد درست نباشه :-/

[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]

لینک ارسال
به اشتراک گذاری در سایت های دیگر

شما باید متد onKeyDown را override کنید و در if  آن مقدارتان را ذخیره کنید.


@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {   if (keyCode == KeyEvent.KEYCODE_BACK) {       return true;   }   return super.onKeyDown(keyCode, event);}
لینک ارسال
به اشتراک گذاری در سایت های دیگر

شما باید متد onKeyDown را override کنید و در if  آن مقدارتان را ذخیره کنید.

ممنون آقا امید

خب من اینجا به جای onKeyDown از onBackPressed استفاده کردم اگه بخوام if رو داخلش قرار بدم چطوری باید باشه ؟!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

البته بهتر است از متد onKeyDown استفاده کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون ولی درست نشد میشه چک کنید کدم رو؟؟

[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]

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نیازی به 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]

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نیازی به 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]

ممنون بلاخره درست شد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...