본문 바로가기

Frontend/Android

[Android] SharedPreferences


* SharedPreferences


- 스택이 없어 질 경우 값을 저장해 놨다가 불러올 때 사용한다.


//전체를 뜻함  //거의 private 씀

-       SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);

        //수정해 줘야 하므로 Editor가 필요

  SharedPreferences.Editor editor = pref.edit();

  //String이라 putString메소드 이용해 값 넣기, key값과 value값

        editor.putString("name", "소녀시대");

 // 세팅

        editor.commit();


//저장되어 있는 객체

-      SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);

        if (pref != null) {

//값 불러와 저장

            String name = pref.getString("name", "");

            Toast.makeText(this, "복구된 이름 : " + name, Toast.LENGTH_LONG).show();

        }

package com.oneplus.lifecycle;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
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(this, "onCreate() 호출됨", Toast.LENGTH_LONG).show();

findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
}
@Override
protected void onPause() {
super.onPause();
Toast.makeText(this, "onPause() 호출됨", Toast.LENGTH_LONG).show();

SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("name", "소녀시대");
editor.commit();
}

@Override
protected void onResume() {
super.onResume();
Toast.makeText(this, "onResume() 호출됨", Toast.LENGTH_LONG).show();

SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
if (pref != null) {
String name = pref.getString("name", "");
Toast.makeText(this, "복구된 이름 : " + name, Toast.LENGTH_LONG).show();
}

}

@Override
protected void onStart() {
super.onStart();
Toast.makeText(this, "onStart() 호출됨", Toast.LENGTH_LONG).show();
}

@Override
protected void onStop() {
super.onStop();
Toast.makeText(this, "onStop() 호출됨", Toast.LENGTH_LONG).show();
}

@Override
protected void onDestroy() {
super.onDestroy();
Toast.makeText(this, "onDestroy() 호출됨", Toast.LENGTH_LONG).show();
}



}