내가 읽고 클래스를 통해 SharedPreferences
을 쓰고 싶어하지만 내 활동이 클래스를 호출 할 때 응용 프로그램 충돌은/가까운 CheckBox
"이메일을 기억"이 선택되어된 SharedPreferences 가까이 앱이 강제하게
경우 강제한다 앱에서 이메일을 기억합니다. 내 LoginActivity
: 약간의 시간이이 문제를 해결하기 위해 내가 SO에서 몇 가지 솔루션을 시도하기위한
public class LoginActivity extends Activity
{
private AppPreferences appPreferences;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
appPreferences = new AppPreferences(); // this makes the app crash
String email = appPreferences.getPreferenceString("email");
// ...
클래스 appPreferences
public class AppPreferences extends Activity
{
private SharedPreferences settings = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
settings = this.getSharedPreferences(LOGIN_CREDENTIALS, MODE_PRIVATE);
}
public String getPreferenceString(String key) {
return settings.getString(key, DEFAULT_STRING);
}
public void setPreferenceString(String key, String value) {
editor.putString(key, (String) value);
}
// ...
내가 찾고 있었어요. 나는 getSharedPreferences
메서드를 onCreate
메서드에서 호출하므로 문제는되지 않습니다.
내가 뭘 잘못하고 있니? Java 및 Android 개발에 익숙하지 않으므로 예제로 완벽하게 설명하십시오. 완전히 다른 접근 방식을 가진 다른 솔루션도 환영합니다. 미리 감사드립니다.
LogCat을 보여주십시오. 어떤 종류의 오류가 있습니까? – hakiko
@Dediqated 당신은 내 솔루션을 시도 했습니까 .. 여전히 logcat 게시 오류. –