앱을 개발하다 보면 작은 양의 데이터나 간단한 설정값을 저장하고 관리하여 앱에서 이 데이터를 다음 실행 시에도 해당 데이터를 사용할 수 있도록 하는 코드를 구현해야합니다. 오늘은 안드로이드 스튜디오에서 이와 같은 작은 양의 데이터를 저장 및 조회를 위해 사용하는 SharedPreferences에 대해 알아보도록 하겠습니다.
SharedPreferences는 기본적으로 key값과 value 값 2개로 데이터를 저장합니다.
즉, 해당 데이터의 이름은 Key값이고 전달하고자 하는 데이터 값은 value 값입니다.
그래서 Key값을 호출하면 Key값에 해당하는 데이터 value값을 불러와 사용하게 됩니다.
<SharedPreferences에 대한 보충 설명>
|
간단한 예제를 들어 설명하면 2개의 액티비티에서 aActivity는 sharedPreferences를 이용해 저장, bBctivity는 sharedPreferences를 이용해 조회를 하여 textView에 띄우는 코드를 구현해보도록 해봅시다.
public class aActivity extends AppCompatActivity {
private EditText editText;
private Button button;
private SharedPreferences sharedPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
editText = findViewById(R.id.editText);
button = findViewById(R.id.button);
// SharedPreferences 객체 가져오기
// SharedPreferences의 이름 생성, SharedPreferences 모드 설정
sharedPreferences = getSharedPreferences("SharedPreferences's name", MODE_PRIVATE);
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = editText.getText().toString();
// SharedPreferences에 저장
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("Text", text);
editor.apply();
// bActivity로 화면 전환
Intent intent = new Intent(getApplicationContext(), bActivity.class);
startActivity(intent);
finish();
}
});
}
}
aActivity에서 button을 눌렀을 때 editText에 입력한 문자(String)이 sharedPreferences를 이용하여 저장하고 그와 동시에 bActivity로 화면이 전환되도록 하는 코드입니다.
public class RetrieveDataActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_retrieve_data);
// SharedPreferences 객체 가져오기
sharedPreferences = getSharedPreferences("SharedPreferences's name", MODE_PRIVATE);
// 데이터 조회
String data_text = sharedPreferences.getString("Text", "");
// "Text"에서 데이터 조회, ""는 기본값
// 조회된 데이터를 TextView에 표시
TextView textView = findViewById(R.id.textView);
textView.setText(data_text);
}
}
bActivity에서는 sharedPreferences으로 Key값에 해당하는 데이터를 조회한 다음 setText(data_text)를 이용하여 textView에 조회하도록 코드를 구성했습니다.
이렇게 간단한 데이터들은 SharedPreferences로 데이터를 저장하고 쉽게 조회할 수 있는 강점을 가지고 있습니다. 그렇기에 앱에서 최초인증 여부나 로그인 여부등 간단 여부등을 저장하고 체크하는데 정말로 이용하기 좋은 매커니즘입니다.
'안드로이드 스튜디오 앱 개발 > 개념 안드로이드 스튜디오' 카테고리의 다른 글
안드로이드 스튜디오 if 문 & 비교 연산자 (0) | 2024.04.18 |
---|---|
[Android Studio] 뷰결합(viewBinding)에 대해 알아보자, 뷰결합 초간단 설정 방법 (0) | 2024.04.16 |
[Android Studio] 안드로이드 스튜디오 핸들러(Handler)를 이용한 딜레이 적용하기 (0) | 2023.07.24 |
[Android Studio] 안드로이드 스튜디오 프레임 레이아웃 (FrameLayout)에 대해 알아보자 (0) | 2023.07.24 |
[Android Studio] 뷰결합(viewBinding)에 대해 알아보자, 뷰결합 초간단 설정 방법 (0) | 2023.07.13 |