Android
안드로이드 독학 - SharedPreference
쩡선영
2023. 1. 26. 23:09
SharePreferences란?
입력한 데이터들을 임시저장 해주는 것입니다.
더 자세히 풀어보자면 SharedPreferences는 데이터를 파일로 저장하는데, 이 파일을 앱 폴더 내에 저장되기에 앱을 삭제하면 파일이 삭제되는 형식의 데이터 관리 방식입니다
하지만 앱을 단순히 나갔다 들어오게 되면 데이터들이 사라지지 않는거죠!!
SharePreferences는 데이터베이스보다 더욱 간단하게 데이터들을 관리할 수 있습니다
사용방법
● onCreate
public class MainActivity extends AppCompatActivity {
EditText et_save;
String shared ="file";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_save=(EditText) findViewById(R.id.et_save); //activity et_save와 연결
SharedPreferences sharedPreferences = getSharedPreferences(shared,0); //1
String value = sharedPreferences.getString("sun", ""); //2
et_save.setText(value); //3
}
@Override
protected void onDestroy() { //activiy를 벗어났을때 실행해줄 수 있는 것
super.onDestroy();
SharedPreferences sharedPreferences = getSharedPreferences(shared, 0);
SharedPreferences.Editor editor = sharedPreferences.edit();
String value = et_save.getText().toString();
editor.putString("sun", value); //edtior에 sun이라는 이름으로 vaule를 넣어주고
editor.commit(); //save를 완료하라는 구문
}
}
이렇게 getSharedPreferences("파일이름", 모드)로 사용할 수 있습니다!
모드를 정리해보자면
모드가 0인 경우 | 읽기, 쓰기만 가능 |
MODE_PRIVATE | 생성한 Appclicationi에서만 사용 가능 |
MODE_WORLD_READBLE | 외부 App에서 사용 가능하지만 읽기만 가능 |
MODE_WORLD_WRITABLE | 외부 App에서 사용 가능, 읽기/쓰기 모두 가능 |
이렇게 사용할 수 있습니다
OmnDestory는 activity를 벗어났을때 실행시켜주는 것입니다!
또 같이 getSharedPereferences를 선언해주고
Editor을 preferences에 쓰겠다고 연결시켜줍니다
edtior에 sun이라는 별멍으로 value를 넣어주고
save를 완료시켜달라고 까지 해줬습니다.
그리고 다시 oncreate로 올라가
getString을 사용하여 vaule에 sharedPreferences의 값을 받아옵니다
이때 인자값은 ("별명", 공백)으로 받아줍니다
그냥 꺼내오는 것이기 때문에 공백으로 적어줍니다
독학으로 처음 하는 거라 좀 어렵고
설명이 너무 복잡하네요ㅠㅠ
참고 : 홍드로이드 유튜브 8차시 강의
https://velog.io/@dlrmwl15/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-SharedPreferences 분 블로그!!