1

別のクラスからアクセスできるように、項目ボタンの 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);
}
4

4 に答える 4

2

1つのアクティビティでこれを試してください:

SharedPreferences sp;
SharedPreferences.Editor edit;
sp = getSharedPreferences("enter", MODE_PRIVATE);
edit = sp.edit();
edit.putString("imagerul", user_validate);
edit.commit();

次のアクティビティで:

SharedPreferences sp = getSharedPreferences("enter", MODE_PRIVATE);
sp.getString("imageurl", "fdgf"));
于 2013-11-21T11:10:40.243 に答える
1

共有設定の取得/設定操作を処理するクラスを簡単に実装できます。

プロジェクトに簡単に統合できるように、クラスを提供します。

ここに私たちのSharedPreferenceUtilクラスがあります

import android.app.Application;
import android.content.Context;
import android.content.SharedPreferences;

public class SharedPreferenceUtil {

    public static String getSharedPreference(Activity activity, String prefName, String key, String defaultValue){
        SharedPreferences prefs = activity.getSharedPreferences(prefName,0);
        String pref = prefs.getString(key, defaultValue);
        return pref;
    }

    public static void setSharedPreference(Activity activity, String prefName, String key, String value){
        SharedPreferences prefs = activity.getSharedPreferences(prefName,0);
        SharedPreferences.Editor editor = prefs.edit();

        // edit and commit
        editor.putString(key, value);
        editor.commit();
    }
} 

次のコード サンプルを使用して、アクティビティから設定を簡単に設定/取得できます。

// You can set your shared preferences like following.
SharedPreferenceUtil.setSharedPreference(this.getActivity(),"pref","yourImageKey","yourImageUrl");

// and you can get your shared preferences like following.
String url = SharedPreferenceUtil.getSharedPreference(this.getActivity(),"pref","yourImageKey",null);

if(url != null){

}

編集:

以下SharedPreferencesからアクセスできますFragment

SharedPreferences preferences = this.getActivity().getSharedPreferences("pref",0);

これが役立つことを願っています。

于 2013-11-21T11:19:19.560 に答える
0

試す:

SharedPreferences pr=PreferenceManager.getDefaultSharedPreferences(context);

SharedPreferences.Editor r=pr.edit();

r.putString("name","yourlink");

r.commit();
于 2013-11-21T11:11:56.997 に答える