iOS의 NSUserDefaults에 해당하는 Android


103

간단한 데이터를 저장하고 싶습니다. iPhone에서는 다음으로 할 수 있습니다.NSUserDefaults Objective-C로 .

Android에서 유사한 명령은 무엇입니까?

응용 프로그램이 설치되어있는 한 다시 사용할 수 있도록 몇 가지 변수 만 저장하고 있습니다. 저는 복잡한 데이터베이스를 사용하고 싶지 않습니다.

답변:


210

이것은 내가 찾은 가장 간단한 솔루션입니다.

//--Init
int myvar = 12;


//--SAVE Data
SharedPreferences preferences = context.getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);  
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("var1", myvar);
editor.commit();


//--READ data       
myvar = preferences.getInt("var1", 0);  

여기서 'context'는 현재 컨텍스트입니다 (예 : 활동 하위 클래스에서 this 가 될 수 있음 ).


이것은 매우 단순한 것을 저장하는 방법입니다. 간단하고 바로 요점
smith324

코드의 오류를 수정했습니다 (getSharedPreferences가 아닌 존재하지 않는 getPreferences를 호출했습니다).
Ben Clayton

14
2015 업데이트 : Android에서는 apply ()가 영구 데이터를 즉시 저장하고 주 스레드를 차단할 수있는 대신 백그라운드 스레드에서 작동하므로 commit ()보다 이제 apply () 사용을 권장합니다.
AppsIntheParkNYC

jni 코드에서이 SharedPreferences에 액세스하는 방법이 있습니까?
IgorGanapolsky

2
내에서 '컨텍스트'를 얻으려면 AppCompatActivity다음을 사용할 수 있습니다.getApplicationContext()
Brainware
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.