別のクラスからアクセスできるように、項目ボタンの onClick を介して画像 URL を保存する方法を理解しようとしています。
私は周りを見回して、共有設定を使用してこれを達成するのが最善であることを見てきました.
以前に共有設定を使用したことがないので、「mImageUrl」と呼んだ文字列から URL を取得したいので、これをどのように達成できるかについて少し混乱しています。
String "mImageUrl" が現在表示されている画像の URL を提供することを知っているので、String/URL を String から共有設定に保存して、特定の URL を別のクラス経由で使用できるようにしたいと考えています。
共有設定を使用することは、私の要件を達成するための良い方法でしょうか?
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.SetWallpaper:
new SetWallpaperAsync(getActivity()).execute(mImageUrl);
break;
case R.id.SaveWallpaper:
new SaveWallpaperAsync(getActivity()).execute(mImageUrl);
break;
case R.id.FavouriteWallpaper:
//Use shared preferences here somehow:
SharedPreferences preferences = this.getActivity().getSharedPreferences("pref",0);
SharedPreferenceUtil.setSharedPreference(context, "ImageKey", mImageUrl);
String url = SharedPreferenceUtil.getSharedPreference(context,"ImageKey",null);
if(url != null){
// set image source here..
}
break;
}
return super.onOptionsItemSelected(item);
}