-1
Activity 1st..
Here this is my first activity to add data


preferences=PreferenceManager.getDefaultSharedPreferences(context);
                  preferences = getPreferences(MODE_PRIVATE);
                  editor = preferences.edit();
                 editor.putString("userid",et_username.getText().toString());//adduserid
                editor.putString("password",et_password.getText().toString());//add password
                  editor.commit();

アクティビティ 2 これは、データを取得するための 2 番目のアクティビティです。

String userName=preferences.getString("userid","");
            String password=preferences.getString("password","");
            Log.d("user : second", ""+preferences.getString("userid",""));
            Log.d("password : second", ""+preferences.getString("password",""));

ここでは null 値のためログは表示されません。

4

4 に答える 4

0
String userName=preferences.getString("userid");
String password=preferences.getString("password");
Log.d("user : second", ""+userName);
Log.d("password : second", ""+password);

この方法で試していただけませんか。

于 2013-03-05T09:49:17.103 に答える
0

どちらのアクティビティでも、これを使用して SharedPreferences オブジェクトを取得します。

SharedPreferences prefs = getSharedPreferences("PREFS", Context.MODE_PRIVATE);

さまざまなアクティビティからさまざまな設定ファイルにアクセスしようとしている可能性があります。

または単に使用する

PreferenceManager.getDefaultSharedPreferences(this);
于 2013-03-05T09:54:36.473 に答える
0

preferencesオブジェクトを確認してください(おそらく ですnull)。他の String 変数が null になることはなく、空の文字列 ( "") になる可能性があるため、これが問題になる可能性があります。

この例だけでpreferences2 番目の初期化が欠落していますか?Activity

于 2013-03-05T09:47:14.033 に答える
0

私は1つの整数値を保存するだけで、その中に複数の値が必要です..

PreferenceConnector.writeInteger(home.this, PreferenceConnector.com_id, homeComp_id);

preferenceConnectorその中で使用されるクラスの下...

public class PreferenceConnector {

public static final String PREF_NAME = "Shared Preference";
public static final int MODE = Context.MODE_PRIVATE;

public static final String com_id = "com_id";

public static void writeBoolean(Context context, String key, boolean value) {
    getEditor(context).putBoolean(key, value).commit();
}

public static boolean readBoolean(Context context, String key, boolean defValue) {
    return getPreferences(context).getBoolean(key, defValue);
}

public static void writeInteger(Context context, String key, int value) {
    getEditor(context).putInt(key, value).commit();

}

public static int readInteger(Context context, String key, int defValue) {
    return getPreferences(context).getInt(key, defValue);
}

public static SharedPreferences getPreferences(Context context) {
    return context.getSharedPreferences(PREF_NAME, MODE);
}

public static Editor getEditor(Context context) {
    return getPreferences(context).edit();
}

}

そして、以下のような他のアクティビティにも共有設定値を使用します...

 int Pref = PreferenceConnector.readInteger(mainpage.this, PreferenceConnector.com_id, 0);

上記のコードが役立つことを願っています...

于 2014-01-01T04:45:18.973 に答える