如何在android中的共享首选项中保存和获取整数值?

Abh*_*hek 4 android

我想在共享首选项中保存并获取Snow Density的静态整数值,并在用户在Single选项中选择另一个值时更改.
我的代码:

public static int mSnowDensity;
AlertDialog.Builder mABuilder = new AlertDialog.Builder(AAA.this);
final CharSequence mCharSequence[] = { "Low", "Medium", "High" };
mABuilder.setTitle("Set Density of Snow");
mABuilder.setSingleChoiceItems(mCharSequence,
        WallpaperServices.mDensitySnow,
        new android.content.DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
                if (which == 2) {

                    mSnowDensity = 90;
             /*I Want to save mSnowDensity Value In Shared Preferences */
                } else if (which == 1) {

                     mSnowDensity = 60;
                } else {

                     mSnowDensity = 30;
                }

                dialog.dismiss();
            }
        });
Run Code Online (Sandbox Code Playgroud)

Sun*_*hra 13

您可以按如下方式使用共享首选项

//To save
SharedPreferences settings = getSharedPreferences("YOUR_PREF_NAME", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("SNOW_DENSITY",mSnowDensity);
editor.commit();

//To retrieve
SharedPreferences settings = getSharedPreferences("YOUR_PREF_NAME", 0);
int snowDensity = settings.getInt("SNOW_DENSITY", 0); //0 is the default value
Run Code Online (Sandbox Code Playgroud)

getSharedPreferences()是Context类的方法.如果您位于活动或服务(扩展上下文)中,您可以像在此片段中一样使用它.否则,您应该使用getApplicationContext()获取上下文,然后调用getSharedPreferences()方法.

有关更多选项,请参阅http://developer.android.com/guide/topics/data/data-storage.html#pref上的文档.