상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - SharedPreferences에 데이터를 저장하는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
SharedPreferences는 Android에서 간단한 데이터를 저장하고 관리하기 위한 API입니다. 주로 사용자 설정이나 간단한 애플리케이션 상태를 저장하는 데 사용됩니다. SharedPreferences는 키-값 쌍으로 데이터를 저장하며, 기본적으로 <a href='https://sangseek.com/sangseeks/문자열/ko'>문자열</a>, 정수, <a href='https://sangseek.com/sangseeks/부울/ko'>부울</a>, 부동 소수점 숫자 및 긴 정수형 데이터를 지원합니다. 아래에서는 SharedPreferences에 데이터를 저장하는 방법에 대해 자세히 설명하겠습니다. 1. SharedPreferences 객체 얻기 SharedPreferences를 사용하기 위해서는 먼저 SharedPreferences 객체를 얻어야 합니다. 이를 위해 `getSharedPreferences()` 메서드를 사용합니다. 이 메서드는 두 개의 인자를 받습니다: 파일 이름과 모드입니다. ```java SharedPreferences sharedPreferences = getSharedPreferences("MyPreferences", MODE_PRIVATE); ``` - `"MyPreferences"`: SharedPreferences 파일의 이름입니다. 이 이름으로 파일이 생성되며, 동일한 이름으로 호출하면 같은 파일을 참조합니다. - `MODE_PRIVATE`: 이 모드는 다른 애플리케이션이 이 SharedPreferences에 접근할 수 없도록 설정합니다. 2. 데이터 저장하기 SharedPreferences에 데이터를 저장하기 위해서는 `SharedPreferences.Editor` 객체를 사용해야 합니다. `Editor` 객체를 통해 데이터를 추가, 수정 및 삭제할 수 있습니다. ```java SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("username", "JohnDoe"); // 문자열 저장 editor.putInt("age", 30); // 정수 저장 editor.putBoolean("isPremiumUser", true); // 부울 저장 editor.apply(); // 변경 사항을 저장 ``` - `putString()`, `putInt()`, `putBoolean()`: 각각 문자열, 정수, 부울 값을 저장하는 메서드입니다. - `apply()`: 변경 사항을 비동기적으로 저장합니다. `commit()` 메서드를 사용하면 동기적으로 저장할 수 있지만, 일반적으로 `apply()`를 사용하는 것이 성능상 더 유리합니다. 3. 데이터 읽기 저장된 데이터를 읽기 위해서는 `getString()`, `getInt()`, `getBoolean()` 등의 메서드를 사용합니다. 이 메서드는 <a href='https://sangseek.com/sangseeks/기본값/ko'>기본값</a>을 인자로 받아, 해당 키에 대한 값이 없을 경우 기본값을 반환합니다. ```java String username = sharedPreferences.getString("username", "defaultUser"); int age = sharedPreferences.getInt("age", 0); boolean isPremiumUser = sharedPreferences.getBoolean("isPremiumUser", false); ``` 4. 데이터 삭제 특정 데이터를 삭제하고 싶다면 `remove()` 메서드를 사용할 수 있습니다. 전체 데이터를 삭제하고 싶다면 `clear()` 메서드를 사용할 수 있습니다. ```java editor.remove("username"); // 특정 키 삭제 editor.clear(); // 모든 데이터 삭제 editor.apply(); // 변경 사항 저장 ``` 5. 데이터 <a href='https://sangseek.com/sangseeks/변경 감지/ko'>변경 감지</a> SharedPreferences는 데이터 변경을 감지할 수 있는 리스너를 제공합니다. 이를 통해 데이터가 변경될 때마다 특정 작업을 수행할 수 있습니다. ```java sharedPreferences.registerOnSharedPreferenceChangeListener(new SharedPreferences.OnSharedPreferenceChangeListener() { @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { // 데이터가 변경되었을 때 수행할 작업 } }); ``` 6. 주의사항 - SharedPreferences는 간단한 데이터 저장에 적합하지만, 대량의 데이터나 복잡한 <a href='https://sangseek.com/sangseeks/데이터 구조/ko'>데이터 구조</a>를 저장하는 데는 적합하지 않습니다. 이러한 경우 <a href='https://sangseek.com/sangseeks/SQLite/ko'>SQLite</a> 데이터베이스나 Room 라이브러리를 사용하는 것이 좋습니다. - SharedPreferences에 저장된 데이터는 애플리케이션이 삭제되거나 데이터가 초기화되면 사라집니다. 결론 SharedPreferences는 Android 애플리케이션에서 간단한 데이터를 저장하고 관리하는 데 유용한 도구입니다. 사용자 설정이나 간단한 상태 정보를 저장하는 데 적합하며, 사용법이 간단하여 많은 개발자들이 선호합니다. 위의 내용을 참고하여 SharedPreferences를 효과적으로 활용해 보세요.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기