我想在Android中使用SharedPreference保存图片。 我有两个Activity类,当我点击第一个Activity的按钮时,它会调用第二个Activity,并且第二个Activity会在列表视图中显示我偏爱的名称,并将Android壁纸重置为我在第一个Activity中设置为首选壁纸的图片。
第二个Activity的代码如下:
public class PreferencesActivityTest extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
String prefName = myPrefs.getString("PREF_USERNAME", "nothing");
String wallPaper = myPrefs.getString("PREFS_NAME", null);
if(wallPaper != null) {
try {
Bitmap bm = BitmapFactory.decodeFile("/data/misc/wallpaper/"+wallPaper);
Log.d(getClass().getSimpleName(),"Wallpaper name is: "+ wallPaper);
setWallpaper(bm);
Toast.makeText(this, "Wall paper has been changed." +
"You may go to the home screen to view the same", Toast.LENGTH_LONG).show();
}
catch (FileNotFoundException fe){
Log.e(getClass().getSimpleName(),"File not found");
} catch (IOException ie) {
Log.e(getClass().getSimpleName()," IO Exception");
}
}
ArrayList<String> results = new ArrayList<String>();
results.add("Your Preferred name is: " + prefName);
this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,results));
}
第一个活动调用第二个活动,但它没有调用if(wallPaper != null){}
。为什么不起作用?