Room Persistence Library로 생성 된 데이터베이스의 내용보기


98

Android Studio에서 Room Persistence Library로 만든 데이터베이스의 내용을 더 쉽게 볼 수있는 방법이 있습니까?


6
easier way어느쪽에 비해?
일러스트 Vladyslav Matviienko

1
DDMS 또는 adb 쉘을 사용하는 것과 같은 이전 접근 방식과 비교됩니다. DDMS는 내 컴퓨터를 정지시키고 adb를 사용하려면 많은 작업이 필요합니다. 나는 최근 구글이 발표되면서 더 쉬운 방법이 있어야합니다 생각
SpiralDev

12
아니 안드로이드 스튜디오에서하지만,이 github.com/facebook/stetho은 당신이 등 앱 데이터베이스, 심지어 된 SharedPreferences 볼 수있는 페이스 북이 개발 한 최고의 안드로이드 디버그 브리지입니다
Moinkhan

답변:


47

방법 1

당신이 사용할 수있는 안드로이드 디버그 - 데이터베이스 , 당신은 브라우저에서 데이터의 CRUD 수 있으며, 그러면 당신은 브라우저에서 기본 설정 데이터를 볼 수 있습니다.

방법 2

브라우저에서 사용하지 않고 다른 파일을 확인해야하는 경우 데이터 변경 사항을 확인해야하는 경우 Genymotion 에뮬레이터를 사용하십시오. 따라서 에뮬레이터를 루팅해야합니다 . /stackoverflow.com/a/44039429/2772552 . 괜찮지 않다면 알려주세요.


데이터베이스 파일을 볼 수 있지만 데이터베이스에서 생성 된 테이블을 볼 수 없습니다. 두 가지 방법을 모두 시도했습니다
Ravikiran

9
마침내 나는 하루 일과 후에 해결책을 찾았습니다. 에뮬레이터에서 "userdatabase", "userdatabase-shm"및 "userdatabase-wal"파일을
내보내고

.db가 내부 디렉토리에있는 경우 거기를 볼 수 없습니다. .db 파일을 외부 저장소 디렉토리에 수동으로 복사하면 u
Htoo Aung Hlaing

다른 비동기 작업에서 읽기 / 쓰기 문제를 일으키는 방법 1에 문제가 있습니다. 앱이 멈췄습니다.
Jeffrey

89

이전 Android Studio 버전 :

Emulator -> Android Studio -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/

이후 Android Studio 버전 (3.5 이상) :

View -> Tool Windows -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/

1
작업이 허용되지 않음
Jonathan

2
@jonney이 방법은 루팅 된 기기 또는 에뮬레이터에서만 작동합니다.
Hitesh Bisht

1
디버깅 앱이 아닌 뿌리 전화에해야 또한 작업은 삼성 기기를 제외하고, 설치
Gaket

1
소프트웨어를 다운로드하거나 장치를 루팅하지 않고도 DB를 얻는 가장 쉬운 방법입니다.
beyondtheteal '

1
@ JakubJabłoński는 Android Studio에서 Device File Explorer를 여는 것보다 에뮬레이터에서 앱을 시작합니다.
kreker

66

안드로이드 스튜디오 3.1. *

도구 창 표시 줄에서 " Device File explorer"를 클릭합니다. 일반적으로 화면의 오른쪽 하단에서 찾을 수 있습니다.

디렉토리 열기 data/data/your-application-package/databases

새로운 아키텍처 3 파일은 데이터베이스 디렉토리에 생성됩니다.

your-database-name
your-database-name-shm
your-database-name-wal

3 개를 모두 같은 디렉토리에 내 보내야합니다.

그런 다음 sqlite 브라우저에서 첫 번째 파일 (즉, your-database-name 전용)을 엽니 다.

이제 모든 데이터를 볼 수 있습니다 .......

your-database-name-shm
your-database-name-wal

이 두 개의 추가 파일은 데이터베이스 파일 만 열 경우 해당 파일에서 테이블을 찾을 수없는 경우 db 파일을 여는 데 필요합니다.


내 파일 시스템에서 "/ data / data / ..."경로가 어디에 있는지 어떻게 알 수 있습니까?
Awais Hussain

이 답변의 작성자는 실제로``장치 파일 탐색기 ''가 어디에 있는지 보여 주므로 초보자를위한 시간을 절약 할 수 있습니다. 따라서 +1
Ilonpilaaja

@AwaisHussain : 사용context.getDatabasePath("your-db-name.db")
gMale

Shift 키를 두 번 눌러 모든 곳을 검색하고 Android 스튜디오의 오른쪽 하단에서 제거 된 경우 Device File Explorer에 입력합니다.
COYG

나에게 응답 해 주셔서 감사합니다
Amirhf

39

SQLite 용 DB 브라우저 다운로드 및 설치

Android Studio 버전> = 3.0 :

다음을 통해 장치 파일 탐색기를 엽니 다.

보기 > 도구 창 > 장치 파일 탐색기

"장치 파일 탐색기"에서 이동 :

데이터 > 데이터 > PACKAGE_NAME > 데이터베이스

여기서 PACKAGE_NAME은 패키지 이름입니다 (아래 예에서는 com.edgedevstudio.sample).

장치 파일 탐색기

데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 다른 이름으로 저장을 선택합니다. PC에서 원하는 곳에 저장하십시오.

SQLite 용 DB 브라우저를 열고 '데이터베이스 열기'를 클릭하고 데이터베이스를 엽니 다. 여기에 이미지 설명 입력

위 예제의 경우 " todolist "NOT "todolist-shm"또는 "todolist-wal"을 찾아야합니다.

3 개의 데이터베이스 파일 (db_name, db_name-shm 및 db_name-wal, 여기서 db_name = 데이터베이스 이름)을 내 보내지 않으면 데이터베이스를 읽을 수 없습니다.


이것이 제가 찾던 것입니다. 정확히 필요한 것입니다! 감사 @EdgeDev
Kannan_SJD

19

개인적으로 Android 디버그 데이터베이스를 사용합니다.

Android 디버그 데이터베이스는 Android 애플리케이션에서 데이터베이스 및 공유 환경 설정을 디버깅하기위한 강력한 라이브러리입니다.

빠른 시작

이것을 앱의 build.gradle에 추가하십시오.

debugImplementation 'com.amitshekhar.android:debug-db:1.0.4'

응용 프로그램을 시작하면 logcat에 다음과 같은 항목이 표시됩니다.

D/DebugDB: Open http://192.168.1.104:8080 in your browser

여기에 이미지 설명 입력


여기에 이미지 설명 입력


자세한 내용은 github repo를 참조하십시오.


1
이것은 장치
Sunil

1
와! 놀라운 물건 !! 고마워 친구!!
Barakuda

10

2020 년 4 월 15 일-쉬운 방법을 위해 다음 단계를 따르십시오.

  1. SQLiteBrowser 프로그램 다운로드 : 모든 OS 용 SQLite 다운로드
  2. Android Studio의 오른쪽 하단 모서리에있는 "Device Exploler"를 클릭합니다.
  3. 많은 파일이 표시됩니다. 걱정 하지마! 경로 따르기 : data / data / {앱 패키지 이름}
  4. "데이터베이스"를 마우스 오른쪽 버튼으로 클릭하고 컴퓨터에서 다른 이름으로 저장합니다.
  5. SQLiteBrowser를 열고 데이터베이스 이름과 같은 이름을 가진 파일을 선택하는 것보다 "데이터베이스 열기"를 클릭합니다.
  6. 파일을보고 데이터베이스 테이블 이름과 동일한 이름을 가진 파일을 선택할 수 있습니다.
  7. 마지막 단계는 Database Structure 부근의 "Browse Data"옵션을 볼 수 있으며, 선택시 데이터베이스의 데이터를 볼 수 있습니다.

단계를 볼 수 있으며 아래 이미지의 숫자를 따를 수 있습니다.

이미지에서 단계를 볼 수 있습니다.

뿡 빵뀨


7

Stetho를 사용하십시오 .

Android 프로젝트에 dependency.

전화 Stetho.initializeWithDefaults(this)당신에 Application와 도구를 검사 크롬을 사용하여 데이터베이스를 볼 수 있습니다. 크롬 URL 표시 줄에 다음을 입력합니다 chrome://inspect..

프레스토 악장! 당신은 당신의 Room database.


3

다음 단계를 수행했습니다.

1) 다음 링크에서 db 브라우저를 다운로드하십시오.

https://sqlitebrowser.org/

2) IDE에서 장치 파일 탐색기로 이동하여 여기에 이미지 설명 입력 과 같이 생성 된 3 개의 파일을 복사 하고 your-db, your-db-shm, your-db-wal의 세 파일을 모두 선택합니다.

Ctrl + Shift + s를 누르고 일부 폴더에 붙여 넣습니다. 끝난.

3) 마지막으로 DbBrowser 앱으로 your-db를 엽니 다.


* -db, * -db-SHM, * -db - 월마트 : 덕분에, 모든 세 개의 파일을 선택해야합니다
XYZ

2

Android Studio 4.1 Canary 의 최신 릴리스를 통해 Android StudioDatabase Inspector 라는 새로운 도구를 제공합니다 .

Database Inspector 도구를 사용 하여 데이터베이스 파일과 그 내용을 볼 수 있으며 데이터베이스 내용을 편집 할 수도 있습니다.

여기에 이미지 설명 입력

사용하는 경우 Android Studio에서 Room Persistence실행할 수있는 기능도 제공 @Query합니다. @Query주석 왼쪽의 실행 버튼을 볼 수 있습니다 .

여기에 이미지 설명 입력

사용하는 경우 LiveData데이터베이스 콘텐츠 변경 사항을 실시간으로 반영합니다.

여기에 이미지 설명 입력


1
You can see your database table on the DB Browser for SQLite & room DB.

 In android studio 
1. Click on View -> Tool Windows -> Device File Explorer -> data
2. Select your project package name -> database -> select all file and save on desktop

Install **DB browser for SQLITE** 
1. sudo apt-get install sqlitebrowser //write on your terminal for install DB browser
2. install DB browser for sqlite
3. click on Open database and select file where you had saved your data
4. click on Brower Data and see your tables

This is all where i have see my android room database

1

Android 스튜디오 4.1 Canary 6 이상에서는 새로운 Database Inspector를 사용하여 앱의 데이터베이스를 검사, 쿼리, 수정할 수 있습니다. 예를 들어 데이터베이스의 값을 수정하고 기기에서 이러한 변경 사항을 테스트하여 실행중인 앱을 디버그 할 수 있습니다.

https://developer.android.com/studio/preview/features#database-inspector


이것이 공식적인 대답이어야합니다.
Amit Sharma

0

최근에 Sethto By Facebook을 시도 했습니다 .

Stetho는 Android 애플리케이션을위한 정교한 디버그 브리지입니다. 사용하도록 설정하면 개발자는 기본적으로 Chrome 데스크톱 브라우저의 일부인 Chrome 개발자 도구 기능에 액세스 할 수 있습니다.

Gradle 종속성을 포함하고 MainApp에서 호출하기 만하면됩니다. 그게 다야. chrome://inspect/sqlite 데이터베이스 를 포함하여 크롬 창의 모든 도구에 액세스 할 수 있습니다 .

다음은 Emulator의 Room Database 에서 검사 한 스크린 샷 입니다. 지금까지 에뮬레이터에서만 시도했습니다.

여기에 이미지 설명 입력


0

위에서 언급 한대로 Device File Explorar에서 DB (3 개 파일)를 가져온 후

"DB Browser for SQLite" https://sqlitebrowser.org/ 와 같은 쉬운 프로그램을 정말 추천합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.