ios에 UserDefaults와 같이 초기화 데이터 라든지 간단한 데이터를 저장하는데 사용하는 방법이 안드로이드에도 당연히 있다.
그것이 바로.. SharedPreferences 이며 사용 방법은 ios 보다 더 간결하고 간단하다.
단점은 Object를 바로 저장하지는 못해서 Json String 형태로 Object를 변경해서 저장해야 되는 것만 다른듯하다.
1. 간단하게 기초 자료형 String 저장 및 불러오기, 삭제
// 저장할 키
String key1 = "STRING_KEY";
// 객체 초기화
SharedPreferences sharedPreferences = getSharedPreferences("SAVE_NAME", MODE_PRIVATE);
// Editer 가져오기
SharedPreferences.Editor editor = sharedPreferences.edit();
// 값 저장
editor.putString(key1, "안녕하세요");
// 저장한 값 실제 적용
editor.apply();
// 저장된 데이터 불러오기
// "실패"는 잘못된 키값이 들어오거나 없을 경우 default 설정 값
String value = sharedPreferences.getString(key1, "실패");
Log.d("SharedPreferences", value);
// 특정 데이터 삭제
editor.remove(key);
editor.apply();
// 전체 데이터 삭제
editor.clear();
editor.apply();
2. Object 객체 저장
class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
////////////////////////////////////////////////
// implementation 'com.google.code.gson:gson:2.8.9' 추가
// 객체 생성 및 Object -> Json String 변경
// 저장할 Object 생성
Person person = new Person("홍길동", 20);
// Gson 객체 생성
Gson gson = new Gson();
// Gson을 이용한 Json String으로 변경
String personJson = gson.toJson(person);
Log.d("Json", personJson);
// Json String 데이터 SharedPreferences 저장
String key2 = "JSON_KEY";
SharedPreferences sharedPreferences = getSharedPreferences("SAVE_NAME", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key2, personJson);
editor.apply();
// Json String 데이터 -> Object로 불러오기
String personString = sharedPreferences.getString(key2, "실패");
Person newPerson = gson.fromJson(personString, Person.class);
Log.d("object", "name : " + newPerson.name + " / " + "age : " + newPerson.age);
'Android(Java)' 카테고리의 다른 글
[Java] 캡쳐 방지 설정 / 해제 (0) | 2024.02.14 |
---|---|
[Java] AsyncTask Deprecated (2) | 2024.01.23 |
[Java] LayoutInflater addView (0) | 2024.01.17 |
[Java]Flagment 기본 (0) | 2024.01.16 |
[Java] Fragment 상호 데이터 전송 (0) | 2024.01.16 |