maliasghar

ذکر شمار

15 ارسال در این موضوع قرار دارد

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

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

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


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

با 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]

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


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

مشکل کد اینجاست که شما  ادیتورتان را بعد از ذخیره کردن مقدار commit نمی کنید.

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


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

اگه میشه بیشتر توضیح بدید من نمیدونم چطوری باید commit شه :-(

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


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

Sp.edit ().putInt ("","").commit();

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


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

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

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

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری