내 테스트 응용 프로그램에 사용자를 등록하고 sharedPreferences를 사용하여 영구 저장소에 모든 데이터를 저장하지만, getData 메서드를 호출하여 로그인 한 후 해당 값을 가져오고 싶습니다.이 메서드는 모든 데이터를 반환해야합니다. 이름, 사용자 이름 및 생년월일로 구성된 현재 등록 된 사용자에 대해 저장되었습니다. 그래서 자바에서 사전이 되었기 때문에 맵을 사용하려고 생각했습니다.Android에서 sharedPreferences에서 여러 값을 가져 오는 방법은 무엇입니까?
하지만 내 잡기에 옳은 일을했는지 확실하지 않습니다. getData.
public class AddUser {
private static String NAME_KEY;
private static String DOB_KEY;
private static String USERNAME_KEY;
private static String PASSWORD_KEY;
Map<String,String> values = new HashMap<String,String>();
public static void saveData(Context context, String name, String dob, String username, String password){
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = prefs.edit();
editor.putString(NAME_KEY, name);
editor.putString(DOB_KEY, dob);
editor.putString(USERNAME_KEY, username);
editor.putString(PASSWORD_KEY, password);
editor.commit();
}
public Map<String, String> getData(Context context, String name, String dob, String username){
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
try{
sharedPrefs.getString(NAME_KEY, name);
sharedPrefs.getString(USERNAME_KEY, username);
sharedPrefs.getString(DOB_KEY, dob);
values = (Map<String, String>) sharedPrefs;
return values;
} catch(Exception e) {
e.printStackTrace();
return values;
}
}
}
내 목표는 반환 된 값 이름, 사용자 이름과 생년월일을 얻을 내가 싶습니다 다른 필드에 표시하는 것입니다
벨로
내 코드입니다.
나는 당신이 SharedPreferences를지도에 던질 수 있다고 생각하지 않는다 ... 나는 당신이 User 객체를 생성하고 그것을 반환 할 것을 제안한다. –