2012-03-23 4 views
0

Android 2.1 SDK를 사용하고 있으며 사용자 로그인 세션을 공유 환경 설정에 저장하려고합니다. 공유 환경 설정에 값을 저장 한 후 다시 검색 할 수 없습니다. 여기에 SharedPrefrence에서 값을 저장하고 가져 오는 데 사용한 코드를 붙여 넣습니다.공유 환경 설정과 관련된 문제

public void setValue(String name, String value, String prefName) { 
    sharedPref = mContext.getSharedPreferences(prefName, Context.MODE_PRIVATE); 
    sharedPref.edit().putString(name, value); 
    sharedPref.edit().commit(); 
} 


public String getValue(String name, String prefName) { 
    String value = null; 
    sharedPref = mContext.getSharedPreferences(prefName, Context.MODE_PRIVATE); 
    value = sharedPref.getString(name, value); 
    return value; 
} 

이 코드에서 어떤 것이 누락 되었습니까? 값을 저장하고 검색하는 동안 예외가 검색되지 않습니다. 어떤 도움을 주셔서 감사합니다.

답변

3

edit()을 호출 할 때마다 Editor 인스턴스가 새로 생깁니다. 그래서 인스턴스를 얻고 변경을 가하고 혼자 남겨 둡니다. 그런 다음 변경 사항을 적용하지 않고 변경 사항을 커밋하면 기본 설정에 값을 변경하지 않습니다. commit()에서

오히려 체인 : 또는

sharedPref.edit().putString(name, value).commit(); 

하나 개의 특정 인스턴스와 여러 줄로 그것을 깰 :

Editor e = sharedPref.edit(); 
e.putString(name, value); 
e.commit(); 
0
private SharedPreferences myPrefs; 
    myPrefs = Actionactivity.this.getSharedPreferences("myPrefs", MODE_WORLD_WRITEABLE); 
    SharedPreferences.Editor prefsEditor = myPrefs.edit(); 
    prefsEditor.putString("Mobile_no", getText_no.getText().toString().trim()); 
    prefsEditor.commit(); 


myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE); 
    myPrefs.getString("Mobile_no", ""); 

이 하나 개의 코드 작업을 시도

관련 문제