Android에서 sqlite database를 생성하여 사용하다 DB 자체를 다시 만들어야 해서 삭제 하는 방법을 찾아 보았으나 쓸데없는 데이터나 테이블 삭제 방법만 나와서 복사해서 사용하려는 계획을 변경하여 직접 구현을 하게 되었네요. 별로 어려운 일이 아니라 글을 올릴 필요도 없지만 그래도 다음 번에 다시 사용하려면 몇가지 검색을 해야 해서 기록해 둡니다.
sqlite는 파일 구조로 만들어져 있어서 그냥 파일 지우는 방식으로 하면 됩니다. 한가지 알아야 하는 점은 파일 위치가 어디에 있느냐인데 그 경로를 붙여서 파일 삭제를 하면 됩니다. 그렇다면 Database를 추가해야 하는 일이 있다면 파일을 복사하듯 붙여넣으면 된다는 이야기도 되고요.
저는 버튼을 이용해서 삭제를 하였는데 메소드를 만들어서 호출을 해도 됩니다. DB명 뒤에 .db를 붙여도 되고 생략해도 되는데 나중에 UI Viewer Tool을 사용하게 되면 꼭 db 붙은 파일을 찾아서 그냥 추가해서 사용 합니다.
Android Studio에서 코딩 작업을 할 때 가장 좋으면서도 불안한 부분이 내가 실수를 했는데도 모든 소스가 자동으로 저장이 되는 기능 입니다. 가끔씩 무엇인가를 떨어뜨리거나 실수로 키보드를 잘못 누르는 경우에도 어떤 파일을 건드렸는지 찾기가 애매 한 경우 또는 추가로 작업한 부분을 다시 되돌리려고 하는 경우에는 난감하고 괴로운 상황입니다. 간단히 몇개의 설정만으로 이런 상황을 피할 수 있습니다.
1. 자동 저장 해제
먼저 코딩을 자동으로 저장하지 않도록 설정을 합니다. 메뉴에서
File > Settings...
그러면 Settings 팝업 창이 나타나는데 여기서 좌측 메뉴에서
Appearance & Behavior > System Settings
그리고 우측 하단의 Autosave 에서 두 개의 항목을 찾아 체크가 되어 있으면 해제 합니다. Save files if the IDE is idle for ~ seconds Save files when switching to a different application
여기까지 작업 하면 자동 저장을 막을 수 있지만 어떤 파일이 수정은 하고 저장은 하지 않은 파일 인지 구분을 할 수 없습니다.
2. 저장하지 않은 파일에 * 표시
저장하지 않은 파일명 좌측에 * 표시를 해주기 위한 설정을 하려면 열려있는 Settings 창에서
Editor > General > Editor Tabs
을 선택 하고 우측에서
Mark modified (*)에 체크를 해줍니다
그리고 [OK] 버튼을 이용하여 설정사항을 저장하면 끝 입니다.
이제 사용을 해보도록 하겠습니다.
두개의 파일을 수정하면 아래 그림과 같이 파일명 좌측에 * 표시가 나타납니다
만일 수정 전으로 가고 싶으면 Ctrl+Z를 눌러주면 한 단계씩 다시 작업이 취소되며 파일명 좌측에 * 표시가 없는 상태로 변하는데 거기가 최종 저장을 해놓은 부분 입니다.
파일명 좌측에 * 표시가 없어지는 상태가 최종 저장을 해놓은 부분이란 계속 Ctrl+Z를 사용할 수 있다는 얘기가 됩니다. 파일을 열고 작업을 하면서 중간에 저장을 했다면 상단 파일명을 보면서 작업 취소를 하시기 바랍니다.