Android 앱의 SQLite DB 테이블 확인

JS · 30 Aug 2020

디버깅을 위해 App 내부에서 생성한 SQLite DB 테이블을 확인하고 싶을 때가 있습니다. 다음과 같은 방법으로 확인할 수 있습니다.

  • Android Studio의 Device File Explorer에서 내 앱에 저장된 db파일을 PC에 저장하고 Browser 프로그램으로 확인
  • Android Debug Database 라이브러리를 이용하여 확인

Device File Explorer를 이용하여 테이블 확인

Android Studio에서 [View] -> [Tool Windows] -> [Device File Explorer]를 선택하면 Device File Explorer가 실행됩니다.

Device File Explorer에서 /data/data/[package name]/databases/ 디렉토리에 들어가면 내 앱이 생성한 db 파일을 찾을 수 있습니다. 다음과 같이 "Save As..." 버튼을 눌러 PC에 저장합니다. Device File Explorer - SQLite database

'/data/data/[package name]/' 경로는 앱의 데이터가 저장되는 위치이며, databases 폴더 아래에 db 파일이 저장됩니다.

Database 파일 디버깅

저장한 db파일을 열어보려면 먼저 Database Browser 툴을 설치해야 합니다.

sqlitebrowser.org에서 SQLite Browser 툴을 OS 별로 다운받을 수 있습니다. (만약 SQLite 외의 다른 데이터베이스를 사용하는 경우, 그 파일을 열 수 있는 브라우저를 설치하시면 됩니다.)

Linux 사용자의 경우, 다음 명령어로 sqlitebrowser 설치하고 실행할 수 있습니다.

$ sudo apt install sqlitebrowser
$ sqlitebrowser

SQLite Browser를 실행하여 위에서 저장한 db 파일을 열어보면, 다음과 같이 어떤 아이템들이 저장되어있는지 확인할 수 있습니다. SQLITE Browser

Android Debug Database 라이브러리를 이용하여 테이블 확인

이 라이브러리는 Database와 SharedPreference를 디버깅하는 라이브러리입니다. 루팅할 필요가 없으며 디바이스와 PC가 동일한 네트워크에 연결되어있으면 됩니다. 앱을 실행시키면 라이브러리가 Webpage를 생성하여 PC에서 쉽게 Database를 디버깅할 수 있도록 합니다.

GitHub - Android Debug Database에서 라이브러리에 대한 자세한 내용을 확인할 수 있습니다.

사용 방법

App의 build.gradle에 다음과 같이 의존성을 추가합니다.

dependencies {
    ...
    debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'
}

그리고 다음과 같은 코드가 실행되도록, Applicaiton이나 Activity에 넣어주면 됩니다. 이 코드는 Webpage의 주소를 출력해줍니다. 따라서 코드가 실행될 수 있는 위치에만 넣어주면 됩니다.

DebugDB.getAddressLog()

이제 앱을 실행해보면 DebugDB.getAddressLog()가 다음과 같은 로그를 출력시킵니다. 로그의 주소를 복사하여 웹페이지에서 실행하시면 됩니다.

08-30 16:53:08.947 10204 10204 D DebugDB : Open http://192.168.0.11:8080 in your browser

Browser에서 http://192.168.0.11:8080에 접속하면 다음과 같은 페이지가 보입니다. 여기서 DB 테이블에 어떤 아이템들이 있는지 확인할 수 있습니다. Android Debug Database webpage

참고

댓글을 보거나 쓰려면 이 버튼을 눌러주세요.
codechachaCopyright ©2019 codechacha