动态壁纸中的访问首选项

时间:2011-01-18 14:57:25

标签: android live-wallpaper

我创建了一个动态壁纸,其中有一个“设置”按钮,可以加载PreferenceActivity但不点击“设置”,但我想访问Engine或WallpaperService子类中的SharedPreferences。因为我只想访问小的单个字符串所以我不想;我希望用户进入设置并访问该字符串。 所以我想在Engine的子类或WallpaperSerivce

中执行此代码
SharedPreferences  mPrefs = getPreferenceManager().getSharedPreferences();
String option = mPrefs.getString(
this.getResources().getString(R.string.name),
this.getResources().getString(R.string.option));

1 个答案:

答案 0 :(得分:0)

这不是最好的方法我确定,但我使用getter和setter来达到这个效果。

private int mySetting = defaultvalue                

public int getMySetting() {
       return mySetting;
}

public void setMySetting(int mySetting) {
       this.mySetting = mySetting;
}

我显然在该代码中使用了一些纯文本,但希望它是非常自我解释的

您可以在设置类中使用...

设置此变量
Settings.this.setMySetting(value);

删除“this”以从其他类调用

您可以使用以下

在任何课程中提取此信息
Settings.getMySetting();

您可以使用几乎任何变量类型,只需确保在尝试传递int之外的值之前将mySetting变量定义为该类型,如本示例所示。希望这会有所帮助。