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

+ Recent posts