2016-10-20 3 views
-2

편집 : 제공된 "duplicate"는 내 질문에 완전히 답하지 않으므로 내 질문을 해결하지 못합니다. (두 번째 매개 변수에 대한 정보가 누락되었습니다.)getSharedPreferences()의 String 매개 변수는 무엇을합니까?


이 질문에 내 자신의 문제를 해결하기 위해 새로운 안드로이드 개발자를위한 정보와 하지을 취소하기위한 것입니다. downvotes을 재고하십시오.

getSharedPreferences(string, Context.MODE_PRIVATE); 

난 정말 첫 번째 매개 변수가 무엇을 얻을 수 없습니다

그래서, 여기에 방법입니다. 그것은 무엇을합니까? 우리가 키를 사용하여 SharedPreferences에 저장할 때 첫 번째 매개 변수가있는 이유는 무엇입니까?

+0

https://developer.android.com/training/basics/data-storage/shared-preferences.html#GetSharedPreferences –

+0

@MohammedAtif 거기에 답이 있음을 알고 있었지만 더 명확하게하려는 미래의 독자를 돕고 싶었습니다. 대답. :) –

+0

[MODE \ _PRIVATE, MODE \ _WORLD \ _READABLE, MODE \ _WORLD \ _WRITABLE이있는 Android SharedPreferences]의 복제본 (http://stackoverflow.com/questions/13153231/android-sharedpreferences-with-mode-private-mode) -World-readable-mode-world-writa) –

답변

3

는 방법에 대한 전체 서명은 다음과 같습니다

SharedPreferences getSharedPreferences (String name, int mode) 

공식 서명은 대답에 유용한 정보가 첫 번째 매개 변수, name의 이름을 제공합니다. name 매개 변수는 응용 프로그램의 개인 저장소에있는 XML 기본 설정 파일의 기본 이름 (파일 확장자 없음)입니다.

예를 들어,이 호출은 SharedPreferences 읽기를 허용하는 인스턴스를 반환합니다 응용 프로그램의 settings.xml 환경 설정 파일을 작성 : 공식 문서에 나타난 바와 같이

SharedPreferences sharedPrefs = getSharedPreferences("settings", Context.MODE_PRIVATE); 

는, 반환 SharedPreferences 개체가 단일 인스턴스 개체입니다, 동일한 파일 이름의 모든 발신자간에 공유됩니다. 즉, 주어진 호출이 주어진 환경 설정을 읽는 파일 IO를 의미하지는 않지만 일 수 있습니다.은 동일한 응용 프로그램에서 스레드 간의 스레드 동기화를 유발할 수 있습니다.

getSharedPreferences()을 호출하기 전에 지정된 파일이 아직 생성되지 않은 경우 만들어집니다. 두 번째 인수 인 mode은 파일을 만들 때 사용할 모드이며 Context.MODE_PRIVATE (또는 정수 값 0)으로 설정해야합니다. 다른 모드 값은 허용 된 것으로 문서화되어 있지 않으므로 사용해서는 안됩니다. 파일을 만들 때와 마찬가지로 Context.MODE_PRIVATE의 모드를 지정하면 getSharedPreferences()과 함께 사용할 것으로 예상되는대로 파일을 앱의 개인 저장소에 저장합니다.

SharedPreferences 인스턴스 키 (setting)에 값 (999)을 작성하는 예는 이러한이다

Context context = getActivity(); 
SharedPreferences sharedPrefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE); 
sharedPrefs.getInt("setting", 0); 
: 동일한 키의 값을 판독

Context context = getActivity(); 
SharedPreferences sharedPrefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPrefs.edit(); 
editor.putInt("setting", 999); 
editor.apply(); 

이 방법을 수행

추가 사용 정보는 Saving Key-Value Sets 페이지의 Android Getting Started Guide에서 확인할 수 있습니다.

getSharedPreferences()은 일반적으로 일반적인 응용 프로그램 환경 설정에 더 적합한 getPreferences()의 일반화 된 버전입니다. getSharedPreferences()과 함께 사용할 기본 설정 파일을 지정할 수있는 기능 외에도 두 가지 방법 모두 기능 및 동작이 동일합니다. getPreferences() 설명서에 따르면 getSharedPreferences()은 "이 활동의 ​​클래스 이름을 선호 이름"(첫 번째 매개 변수는 getSharedPreferences())로 간단히 호출합니다.

-1

getSharedPreferences()String 매개 변수는 사용자가 제공 한 키와 값을 저장하는 파일 이름입니다. 예를 들어 :

SharedPreferences.Editor s = getSharedPreferences("Pref",Context.MODE_PRIVATE).edit(); 
s.putInt("someKey",0); 
s.apply(); 

사용자가 입력됩니다 키를 포함 Pref라는 앱에서 출력 파일을 만들 것입니다. Android Developer Documentation for getSharedPreferences()에 설명 된대로

+1

's.putInt ("someKey", 1234); ' –

+0

@MohammedAtif 아, 잊어 버렸습니다. –

관련 문제