3

SOAP Web サービスとやり取りしてデータベースからデータを取得するアプリを作成しています。ユーザーがログインに成功すると、Web サービスを介してトークンが生成されます。このトークンは、後で他のアクティビティで Web サービス メソッドを呼び出すために必要になります。私の質問は、必要なときにそのトークンを次のアクティビティに渡し、ユーザーがログアウトするまで維持するにはどうすればよいかということです。

MainActivity.java

SharedPreferences 設定 = getApplicationContext().getSharedPreferences("YourSessionName", MODE_PRIVATE); SharedPreferences.Editor editor=preferences.edit(); editor.putString("名前",AIMSvalue);

                    editor.commit();

その他のActivity.java

    SharedPreferences preferences=getSharedPreferences("YourSessionName", MODE_PRIVATE);
    SharedPreferences.Editor editor=preferences.edit();

    token=preferences.getString("name","");

    editor.commit();
4

1 に答える 1

1
public class CommonUtilities {

    private static SharedPreferences.Editor editor;
    private static SharedPreferences sharedPreferences;
    private static Context mContext;

/**
     * Create SharedPreference and SharedPreferecne Editor for Context
     *
     * @param context
     */
    private static void createSharedPreferenceEditor(Context context) {
        try {
            if (context != null) {
                mContext = context;
            } else {
                mContext = ApplicationStore.getContext();
            }
            sharedPreferences = context.getSharedPreferences(IConstants.SAMPLE_PREF, Context.MODE_PRIVATE);
            editor = sharedPreferences.edit();
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }

/**
 * Put String in SharedPreference Editor
 *
 * @param context
 * @param key
 * @param value
 */
public static void putPrefString(Context context, String key, String value) {
    try {
        createSharedPreferenceEditor(context);
        editor.putString(key, value);
        editor.commit();
    } catch (Exception ex) {
        ex.printStackTrace();
    }

}

}

このputString()メソッドを使用して、ログイン時にトークンを保存します。ログアウトするか、トークンの有効期限が切れると、そのトークンを削除します。

于 2016-11-04T07:29:01.140 に答える