Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

Database Inspector로 데이터베이스 디버그하기

Android 스튜디오 4.1 이상에서는 Database Inspector를 사용하여 앱 실행 중에 앱의 데이터베이스를 검사하고 쿼리 및 수정할 수 있습니다. 이 방법은 데이터베이스 디버깅에 특히 유용합니다. Database Inspector는 SQLite를 기반으로 빌드된 라이브러리(예: Room) 및 일반 SQLite를 사용한 작업을 지원합니다.

Database Inspector 열기

Database Inspector에서 데이터베이스를 열려면 다음 단계를 따르세요.

  1. API 수준 26 이상을 실행하는 에뮬레이터 또는 연결된 기기에서 앱을 실행합니다.

  2. 메뉴 바에서 View > Tool Windows > Database Inspector를 선택합니다.

  3. 실행 중인 앱 프로세스를 드롭다운 메뉴에서 선택합니다.

  4. 현재 실행 중인 앱의 데이터베이스가 Databases 창에 나타납니다. 검사하려는 데이터베이스의 노드를 확장합니다.

데이터 보기 및 수정

Databases 창에 앱의 데이터베이스 목록과 각 데이터베이스에 포함된 테이블이 표시됩니다. 테이블 이름을 더블클릭하면 검사기 창의 오른쪽에 데이터가 표시됩니다. 열 헤더를 클릭하여 열을 기준으로 검사기 창의 데이터를 정렬할 수 있습니다.

Database Inspector 창 스크린샷
그림 1. Database Inspector 창

셀을 더블클릭하고 새 값을 입력한 다음 Enter 키를 누르면 테이블의 데이터를 수정할 수 있습니다. 앱에서 Room을 사용하고 UI가 데이터베이스를 관찰(예: LiveData 또는 Flow 사용)하는 경우 데이터의 변경사항이 실행 중인 앱에 즉시 표시됩니다. 그러지 않으면 앱이 다음에 데이터베이스에서 수정된 데이터를 읽을 때만 변경사항이 표시됩니다.

실시간 데이터베이스 변경사항 확인

실행 중인 앱과 상호작용할 때 Database Inspector에서 제공하는 데이터가 자동으로 업데이트되도록 하려면 검사기 창 상단의 Live updates 체크박스를 선택하세요. 실시간 업데이트를 사용하는 동안 검사기 창의 테이블은 읽기 전용이 되어 값을 수정할 수 없습니다.

또는 검사기 창 상단에 있는 Refresh table 버튼을 클릭하여 수동으로 데이터를 업데이트할 수도 있습니다.

데이터베이스 쿼리

Database Inspector는 앱이 실행되는 동안 앱의 데이터베이스에서 쿼리를 실행할 수 있습니다. 이 도구는 앱이 Room을 사용하는 경우 DAO 쿼리를 사용할 수 있지만 맞춤 SQL 쿼리도 지원합니다.

DAO 쿼리 실행하기

앱이 Room을 사용하는 경우 Android 스튜디오는 DAO 클래스에 이미 정의된 쿼리 메서드를 빠르게 실행할 수 있는 거터 작업을 제공합니다. 이 작업은 앱이 실행되는 동안 사용할 수 있으며 Database Inspector는 IDE에서 열립니다. @Query 주석 옆에 있는 Run SQLite statement in Database Inspector 버튼을 클릭하여 DAO에서 쿼리 메서드를 실행할 수 있습니다.

DAO 거터 작업 스크린샷
그림 2. DAO 쿼리 거터 작업

앱에 데이터베이스가 두 개 이상 있는 경우 Android 스튜디오에서는 쿼리할 데이터베이스를 드롭다운 목록에서 선택하라는 메시지가 표시됩니다. 쿼리 메서드에 명명된 결합 매개변수가 포함된 경우 Android 스튜디오는 쿼리를 실행하기 전에 각 매개변수의 값을 요청합니다. 쿼리 결과가 검사기 창에 표시됩니다.

맞춤 SQL 쿼리 실행

Database Inspector를 사용하여 앱이 실행되는 동안 앱의 데이터베이스에서 맞춤 SQL 쿼리를 실행할 수도 있습니다. 데이터베이스를 쿼리하려면 다음 단계를 따르세요.

  1. Databases 창 상단에 있는 Open New Query Tab 을 클릭하여 검사기 창에 새 탭을 엽니다.

    새 쿼리 탭 버튼을 보여 주는 스크린샷
    그림 3. New Query 탭 열기
  2. 앱에 데이터베이스가 두 개 이상 있는 경우 New Query 탭 상단의 드롭다운 목록에서 쿼리할 데이터베이스를 선택합니다.

  3. New Query 탭 상단의 텍스트 입력란에 맞춤 SQL 쿼리를 입력하고 Run을 클릭합니다.

New Query 탭에 표시되는 쿼리 결과는 읽기 전용이며 수정할 수 없습니다. 하지만 맞춤 SQL 쿼리 필드를 사용하여 UPDATE, INSERT, DELETE 같은 한정자 문을 실행할 수 있습니다. 앱에서 Room을 사용하고 UI가 데이터베이스를 관찰(예: LiveData 또는 Flow 사용)하는 경우 데이터의 변경사항이 실행 중인 앱에 즉시 표시됩니다. 그러지 않으면 앱이 다음에 데이터베이스에서 수정된 데이터를 읽을 때만 변경사항이 표시됩니다.

데이터베이스 연결 열어 두기

Database Inspector는 앱이 데이터베이스와 실시간 연결을 유지하는 동안에만 데이터베이스와 상호작용할 수 있습니다. 따라서 앱이 데이터베이스에 자주 연결되거나 연결이 해제되는 경우 데이터베이스를 검사하기 어려울 수 있습니다. Databases 창에서는 아이콘을 통해 열린 데이터베이스()와 닫힌 데이터베이스()가 식별됩니다.

Databases 창 상단에 있는 Keep database connections open을 해제()에서 설정()으로 전환하면 데이터베이스 연결이 닫히는 것을 방지할 수 있습니다.

추가 리소스

Database Inspector에 관해 자세히 알아보려면 다음 추가 리소스를 참고하세요.

블로그 게시물

동영상