- 간단한 값 저장에 DB를 사용하기는 복잡해서 사용한다.

 

- 보통 앱 설정 값이나 자동 로그인 여부 등 간단한 값을 저장하기 위해 사용한다.

 

- data/data/[패키지 이름]/shared_prefs 폴더에 xml 형태로 저장한다.

 

- 일반 단말기에서 SharedPreferences로 저장한 파일을 열어볼 수는 없지만 단말기를 루팅하거나 슈퍼 유저 권한을 얻었을 경우 해당 xml에 접근이 가능하므로 보안상 안전을 위해 노출되어도 되는 일반 데이터만 저장하는 게 좋다.

 

- onResume(), onPause() 함수에서 데이터를 저장하거나 불러올 때 용이하게 사용 가능하다.

 

※ onPause() : 다른 Activity를 시작하려고 할 때 호출되는 데 이 곳에서는 저장되지 않은 데이터를 저장하거나 중요한 작업을 중지하는 기능을 수행해야 한다. 또한 onPause()가 리턴하지 않으면 다른 Activity가 시작되지 않으니 빨리 수행한 후 리턴해야 한다.

 

※ onResume() : 사용자에게 Activity가 보이기 시작하고 사용자와 상호작용하기 직전에 호출된다. 상태 복원을 위해 onPause()에서 저장한 데이터를 불러오는 기능을 수행해야 한다.

 

※ onDestroy() : Activity가 소멸되어 없어지기 전에 호출된다. isFinishing() 메서드를 이용하여 해당 Activity가 finish() 메서드 호출로 종료되었는지 시스템이 강제로 종료시켰는 지 알 수 있다.

<activity android:name="Sample"

android:label="@string/app_name">

<intent-filter>

  <action android:name="android.intent.action.MAIN"/>

  <category android:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

 

 

* ACTION_MAIN : 액티비티가 태스크의 루트 액티비티로 실행되도록 한다.

* CATEGORY_LAUNCHER : Application Launcher에 표시되도록 한다.

 

위 두가지 설정이 같이 있어야 Application Launcher에 아이콘이 표시되고 해당 아이콘을 누르면 해당 액티비티가 루트 액티비티로 처음 실행된다.

+ Recent posts