안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.,
초보 개발자입니다.
다름이 아니라 a 라는 리스트 뷰에서 텍스트를 찍으면 b라는 리스트뷰에 해당 텍스트가 찍히는것입니다.
여기까지는 됫습니다만 어플을 종료하고 나서 다시 들어가보면 받아와서 리스트뷰에 추가하는 부분이 null값으로 리턴되어
null입셉션이 발생하여 앱이 종료가 되는데 아무리 상태값을 넘겨줘서 기억한다해도 앱을 종료하면 상태값이 초기화 되기때문에
해결할수 없는 문제가 생겼는데.. 이것을 저장 시키려면 어떻게 해야될지가 너무 막막합니다..
전문가 님들 조언 이나 참고 사이트좀 알려 주세요.. ㅠㅠ
감사합니다.




onResume(), onPause() 메서드와 SharedPreferences 클래스를 활용해서 변수들을 저장하는게 어떨까 싶네요.
onResume() 엑티비티가 화면에 보여질때 불려지는 메서드 입니다.
onPause() 엑티비지가 화면에서 사라질때 불려지는 메서드 입니다.
sharedPreferences 앱의 설정값처럼 앱이 종료 되어도 유지해야 될 값들을 저장하는 클래스 ( 파일형식으로 저장 ) 입니다.
엑티비티가 화면에서 사라질때 즉, 앱이 종료되는 시점과도 동일하겠죠? 그 시점에 유지하고 싶은 데이터들을
sharedPreferences 클래스를 이용하여 데이터들(여기서는 선택된 리스트뷰의 정보겠죠) 을 저장해두었다가
앱이 다시 실행될때, 즉 화면에서 엑티비티가 보여질때, onResume() 메서드 에서 sharedPreferences 에 저장해두었던 값들을 불러오서 listview 에 세팅해주면 되지 않을까 싶네요.
정확히 앱이 종료된다는 것이 단순히 화면에서만 사라지는 건지 아니면 프로세스 관리자를 통해 종료하신다는건지 확실하지는 않지만 위와 같은 방법으로 처리하면 될것 같네요.