بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
SharedPreferences
سلام من میخوام واسه نرم افزارم یک منو تنظیمات بنویسم.
یک اکتیویتی واسش ساختم و یک سیک بار واسه تغییر اندازه فونت.
میخوام هر بار که فونت تغییر میکنه مقدار فونت با زدن یه دگمه در
SharedPreferences ذخیره شه
باید چیکار کنم؟
اگه کد بذارین ممنون میشم
import android.R.integer;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
import android.widget.Toast;
public class Setting extends Activity {
ImageView back;
ImageView save;
int fontsize=5;
// private SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.setting);
final SeekBar font_size=(SeekBar)findViewById(R.id.seekBar1);
final TextView sample=(TextView)findViewById(R.id.sample);
back=(ImageView)findViewById(R.id.back_setting);
save=(ImageView)findViewById(R.id.save_setting);
save.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(getApplicationContext(), "ذخیره شد", Toast.LENGTH_LONG).show();
}
});
font_size.setProgress(fontsize);
font_size.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
int fontsize=5;
@Override
public void onStopTrackingTouch(SeekBar arg0) {
if (fontsize<5)
{
fontsize=5;
font_size.setProgress(fontsize);
}
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(final SeekBar seekBar, int progress, boolean arg2) {
fontsize=progress;
sample.setTextSize(fontsize);
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent moqadame= new Intent(Setting.this,Moqadame.class);
moqadame.putExtra("name", fontsize);
startActivity(moqadame);
}
});
}
});
}
}
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
MobinTeb
10 سال پیش
+1
0
اول یه SharedPreferences میسازی
SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES,Context.MODE_PRIVATE);
بعد هر گاه خواستی اطلاعاتی بزاری توش یه ادیتور تعریف می کنی و مطابق زیر اطلاعات رو توش ذخیره می کنی
Editor editor = sharedpreferences.edit();
editor.putInt("KEY", 20 );
editor.commit();
در اینجا 20 مثلا همون عددی است که شما از سینک بار گرفتین
در ضمن به جای putInt میتونید از همه متغیر های دیگه هم استفاده کنید
تا اینجا شما دیتاهاتون رو ذخیره کردین
حال جهت دریافت اطلاعات از کد زیر استفاده کنید
sharedpreferences.getInt("KEY", 24);
که 24 اینجا مثلا مقدار پیشفرض است.
پاسخ به سوال
116562
10 سال پیش
0
0
ممنون از راهنماییتون
کارایی که گفتین انجام دادم
بجای اون بیست مقدار fontsize قرار دادم
ولی اصن وارد اکتیویتی Setting نمیشه
ارور runtime میده.
میشه یکم دقیق تر توضیح بدین
کدم اون بالا هس بگین چ مقادیری وارد کنم
ممنون
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .