- Univ._Study
- Java
- Image_classification
- Baekjoon
- 오블완
- datastructure
- 자격증
- Algorithm
- c++
- 리눅스마스터2급
- tensorflow
- Unix_System
- Database_Design
- codingTest
- Personal_Study
- 티스토리챌린지
- 2023_1st_Semester
- Operating_System
- Artificial_Intelligence
- pytorch
- SingleProject
- app
- C
- Android
- Linux
- Kubernetes
- Python
- programmers
- cloud_computing
- study
코딩 기록 저장소
[안드로이드] 안드로이드 스튜디오 입문 (SharedPreferences) 본문
Navigation Menu 공부 중 문제가 생겨 진행하지 못하는 상황이 되었습니다. 그래서 일단 다음 강의를 공부하려고 합니다. 이번 시간에는 'SharedPreferences'라는 것을 공부할 것입니다. 이것은 앱을 종료했을 때도 재실행 했을 때 데이터가 남아있는 경우가 있습니다. 앱이 지워지기 전까지 남겨놓고 싶은 경우가 있을 때 많이 사용하는 함수입니다.
먼저 'Empty Activity'로 선택하여 프로젝트를 생성해줍니다. 먼저 EditText를 통해 데이터를 입력받을 수 있도록 해봅시다.
그다음 MainActivity.java로 가서 변수를 선언하고 onCreate안에 코드를 작성하여 xml 파일의 id를 java파일 변수에 연결해주고 SharedPreferences를 씁니다.
앱을 켜면 화면엔 EditText가 뜨게 됩니다. EidtText에 문구를 적고 앱을 종료하면 현재에는 작성했던 문구가 사라지게 됩니다. 이제 사라지지 않도록 해보겠습니다. onCreate아래에 컨트롤+'o'를 하게되면 다음과 같이 창이 뜨게 됩니다. 여기에 'onDestroy'를 입력하여 OK를 누르면 onDestroy라는 생명주기가 하나 만들어집니다. 이것은 앱을 종료했을 때, 정확하게는 이 액티비티를 벗어났을 때 액티비티가 파괴되는데 그때 호출되었을때 실행할 수 있는 것입니다. 이때 sharedPreferences를 이용하여 데이터를 저장하고 앱을 종료할 수 있도록 하는 것입니다. 그리고 onCreate를 실행할때 불러오는 것입니다.
onDestroy()에 다음과 같이 작성합니다. 저장을 할 때 SharedPreferences.Editor를 불러와야하기 때문에 editor에 선언해줍니다. String변수 value에는 EditText에 입력된 값을 받아와줍니다. editor에 받아온 값을 그대로 적어주는데 putString()에 두 개의 인자가 들어가야하는데, 하나는 원하는 텍스트를 적어줍니다. 약간 불러올때 사용하는 별명같은건데 저는 간단하게 text로 적었습니다. 그리고 두번째 인자로는 value를 적어줍니다. editor.commit()을 이용하여 save를 완료해줍니다.
이제 앱을 다시 실행하면 실행되는 onCreate()에 코드를 작성해봅시다. 여기에 아래와 같이 코드를 작성해줍니다.
코드를 잘 작성했다면 앱을 종료했다가 켜도 무사히 문구가 남아있는 것을 볼 수 있습니다. 이 기능을 응용하는 것은 안드로이드 컴포넌트 중에 스위치, 온오프 등의 값을 저장할 수 있고, 보통 이것은 설정화면에 많이 사용됩니다. 이것은 언제나 임시 저장일 뿐이며 앱을 삭제할 시에는 사라질 수 있습니다.
다음 시간에는 인터넷 사이트를 띄우는 'WebView'에 대해서 공부해보겠습니다.
참고한 영상은 다음과 같습니다.
안드로이드 앱 개발 강의 #8
'개인 공부 > 앱' 카테고리의 다른 글
[안드로이드] 안드로이드 스튜디오 AVD 인터넷 연결하기 (0) | 2023.04.06 |
---|---|
[안드로이드] 안드로이드 스튜디오 입문 (WebView) (0) | 2023.04.05 |
[안드로이드] 안드로이드 스튜디오 입문 (ListView) (0) | 2023.04.03 |
[안드로이드] 안드로이드 스튜디오 입문 (패키지구조 & 역할) (0) | 2023.04.03 |
[안드로이드] 안드로이드 스튜디오 입문 (ImageView & Toast) (0) | 2023.03.22 |