마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

SharedPreferences 관련 질문입니다.

0 추천
SharedPreferences prefr = getSharedPreferences("pref", Context.MODE_PRIVATE);
String strPrefer = prefr.getString("alert_yn","");
if(strPrefer.equals("y")){

}else{
         //어플 실행후 이 액티비티에 처음 접속했을 경우에 보여줄 메세지              
                // 값 저장하기
	    	SharedPreferences.Editor ed = prefr.edit();
	        ed.putString("alert_yn", "y");
	        ed.commit();
}

위 소스의 목적은

어플을 실행 후 이 액티비티에 처음 진입시에만 별도의 메세지를 보여주고

링크를 통해서 이 액티비티에 진입시에는 메세지를 보여주지 않는것입니다.

그래서 구글링한 결과 SharedPreferences 를 이용하기로 했는데요.

원래 SharedPreferences 는 해당 어플을 종료하면 초기화되는 걸로 알고 있었는데

해당 어플을 종료했다가 다시켜도, 기존에 저장된 SharedPreferences 값은 계속 "y"로 남아있네요.

위 소스로 SharedPreferences값에 y로 저장은 잘 되고 있고, 값을 불러오는것도 잘 되는데

어플을 종료해도 그 값이 살아있다는게 제 예상과는 다른거네요.

원래 사라지지 않는게 맞는건가요?

아니면 어플 종료와 관련해서 뭔가 소스를 더 넣어야 해당 값을 지울수 있는건가요?

개님의습성 (2,500 포인트) 님이 2013년 4월 16일 질문

1개의 답변

0 추천
원래 사라지지 않습니다.

그래서 db에 작성하긴 번거롭고, 약간의 데이터는 저장해야 할 때 유용하게 쓰입니다.

 

초기화를 원하신다면 destroy 등에서 해당 값을 초기화해주면 됩니다.
김생선 (3,310 포인트) 님이 2013년 4월 16일 답변
...