본문 바로가기

개발자/Android

안드로이드개발 값 저장, 호출하는 방법 / SharedPreferences 사용

반응형

안드로이드 파일 호출과, 종료시 값을 저장하는 방법에 대해 알아봅시다.


SharedPreferences를 사용할것이구요, 개발하는데 많이 사용되는 함수죠


OnResume이 호출시 가장 마지막 부분이기 때문에


이곳에 LoadScore()을 해줍시다.


그리고, onPaused() 순간이 어플리케이션이 종료시 가장 먼저실행되기 때문에


이곳에 SaveScore()을 해줍시다.


ctrl + F를 통해 각각 찾아가세요



package com.example.han.h0122;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Toast.makeText(getApplicationContext(),"onCreate() Call.",Toast.LENGTH_LONG).show();
}

@Override
protected void onStop() {
Toast.makeText(getApplicationContext(),"onStop() Call.",Toast.LENGTH_LONG).show();
super.onStop();
}

@Override
protected void onDestroy() {
Toast.makeText(getApplicationContext(),"onDestroy() Call.",Toast.LENGTH_LONG).show();

super.onDestroy();
}

@Override
protected void onPause() {
Toast.makeText(getApplicationContext(),"onPause() Call.",Toast.LENGTH_LONG).show();

super.onPause();
}

@Override
protected void onResume() {
Toast.makeText(getApplicationContext(),"onResume() Call.",Toast.LENGTH_LONG).show();

LoadScore();
super.onResume();
}

@Override
protected void onStart() {
Toast.makeText(getApplicationContext(),"onStart() Call.",Toast.LENGTH_LONG).show();

SaveScore();
super.onStart();
}

private void SaveScore(){
SharedPreferences pref = getSharedPreferences("gostop", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putInt("score",10000);
editor.commit();
}
private void LoadScore(){
SharedPreferences pref = getSharedPreferences("gostop",Activity.MODE_PRIVATE);
int score = pref.getInt("score",0);
Toast.makeText(getApplicationContext(),"Load Score : "+score,Toast.LENGTH_LONG).show();
}

}

각각 지정을 해주었으면, SaveScore()과 LoadScore()에 정의를 해주어야 겠죠??

SaveScore()에는 SharedPreferences를 통해 pref를 선언하고, 값을 설정해줍시다.


값을 설정할 때에는 edit()을 이용해서 하면 되구요, 값설정이 완료되었을 경우 commit()으로 완료시켜줍시다.


그리고, LoadScore()을 통해 값을 불러와야겠죠


score란 변수를 선언해서 그 안에 저장했었던 score값을 읽어옵시다.


그리고, Toast메세지로 값이 정상적으로 입력되었는지 확인해 봅시다.



확인방법은 어플을 먼저 실행시키고, 뒤로갔다가 다시 실행시키면 확인할 수 있어요^^


반응형