2016-10-13 2 views
0

현재 다른 공유 환경 설정 파일에 사용자 이름과 비밀번호를 저장하고 있습니다. 첫 번째뿐만 아니라 XML 파일에 저장된 모든 값을로드하려고합니다. 이것이 어떻게 쓰여졌 을까요? 당신이 그것을 할 수공유 환경 설정에서 여러 값로드 중

+0

'SharedPreferences.getAll()'이 맞습니까? – nandsito

+0

파일을 복사하려면 다음을 참조하십시오. http://stackoverflow.com/a/25585711/1815624 – CrandellWS

답변

0

한 가지 방법은 다음)

//if you are running the code inside from an Activity 
Context context = this; 
SharedPreferences userSharedPrefs = context.getSharedPreferences("USER_NAME_PREFS", MODE_PRIVATE); 
SharedPreferences pwdSharedPrefs = context.getSharedPreferences("PWD_PREFS", MODE_PRIVATE); 

방법를 getAll (사전처럼 작동 HashMap라는 데이터 구조를 반환합니다 거기에 저장된 각 를 들어

고유 키입니다.

(!) 참고 : 당신이 좀이 데이터 구조의 목적을 파괴하지만, 할 수 있습니다 한 번에 모두를 얻어서의 당신이 그들을

와 함께 원하는대로 당신이 할 수있는 다음

Map<String, String> userNameHashMap = (Map<String, String>)userSharedPrefs.getAll(); 
    Map<String, String> pwdHashMap = (Map<String, String>)pwdSharedPrefs.getAll(); 

가 목록에 원하는 계속 ? (나는 사용자 이름이 문자열이라고 가정합니다.)

List<String> userNameList = new LinkedList<>(); 
    userNameList.addAll(userNameHashMap.values()); 

사용자 john의 암호가 있는지 알고 싶습니까?

boolean johnHasPasswd = pwdHashMap.containsKey("john"); 
    String johnsPass; 

    if(johnHasPasswd) 
     johnsPass = pwdHashMap.get("john"); 
+0

@ Ferr0283 문제를 해결할 수 있었습니까? 이 답변이 올바른 것으로 표시되어야한다고 생각합니다. 도움이되는지 알려주세요.) – HenriqueMS

관련 문제