次のように共有設定を作成しています
preferences = getSharedPreferences("text", 0);
final Editor editor = preferences.edit();
String s1 = serverIP.getText().toString();
String s2 = serverPort.getText().toString();
String s3 = syncPass.getText().toString();
String s4 = proxyServer.getText().toString();
String s5 = proxyPort.getText().toString();
editor.putString("SERVERIP", s1);
editor.putString("SERVERPORT", s2);
editor.putString("SYNCPASS", s3);
editor.putString("PROXYSERVER", s3);
editor.putString("PROXYPORT", s3);
onCreate新しい値のTextViewのセットに値を表示したいのですが、初めて共有設定に値が保存されておらず、NULLポインター例外が発生します。
SharedPreferencesに値が含まれているかどうかを確認できる組み込みメソッドがあるかどうかを知りたい。キーが存在するかどうかを確認し、存在しない場合は、新しいセットを置き換える設定値を持つTextViews。
試してくださいcontains(String key)
Javadocsによると、
.
SharedPreferences
から値を取得するためのすべてのメソッドには、キーが存在しない場合に返されるデフォルト値があります
preferences = getSharedPreferences("text", 0);
String value = preferences.getString("unknown_key",null);
if (value == null) {
// the key does not exist
} else {
// handle the value
}
試してみる
SharedPreferences shf = getSharedPreferences("NAME_SharedPref", MODE_WORLD_READABLE);
String strPref = shf.getString("SERVERIP", null);
if(strPref != null) {
// do some thing
}