एंड्रॉइड स्टूडियो में डेटाबेस फ़ाइल की सामग्री देखें


251

मैं अपने ऐप को विकसित करने के लिए एंड्रॉइड स्टूडियो का उपयोग कर रहा हूं क्योंकि यह जारी किया गया था।

सब कुछ अच्छा काम करता है हाल ही में, मुझे डेटाबेस फ़ाइल की जाँच के साथ डिबग करना होगा। चूंकि मुझे नहीं पता है कि डेटाबेस को सीधे कैसे देखा जाए, जब मैंने डेटाबेस फ़ाइल बनाने के लिए डिबग किया, तो मुझे अपने फोन से पीसी में डेटाबेस फ़ाइल निर्यात करना होगा।

ऐसा करने के लिए, मुझे खोलना होगा DDMS > File Explorer। एक बार जब मैं डीडीएमएस खोलता हूं, तो मुझे यूएसबी को फिर से कनेक्ट करना पड़ता है, और मैं अपना डिबग धागा खो देता हूं। डेटाबेस फ़ाइल की जाँच करने के बाद, मुझे डीडीएमएस को बंद करना होगा और डीबग मोड में वापस जाने के लिए यूएसबी को फिर से कनेक्ट करना होगा।

यह बहुत जटिल है। क्या किसी के पास एंड्रॉइड स्टूडियो में ऐसा करने का बेहतर तरीका है (मुझे पता है कि यह ग्रहण में आसान है)?


जवाबों:


302

Android स्टूडियो से डेटाबेस देखना:

संपादित करें: एमुलेटर पर अपने डेटाबेस को देखने के लिए इन चरणों का पालन करें (वास्तविक डिवाइस के लिए, नीचे स्क्रॉल करें):

  1. SQLiteBrowser डाउनलोड और इंस्टॉल करें

  2. डेटाबेस से डिवाइस को अपने पीसी पर कॉपी करें:

    • Android स्टूडियो संस्करण <3.0 :

      • डीडीएमएस के माध्यम से खोलेंTools > Android > Android Device Monitor

      • बाईं ओर अपने डिवाइस पर क्लिक करें
        आपको अपना आवेदन देखना चाहिए: यहां छवि विवरण दर्ज करें

      • पर जाएं एक्सप्लोरर फ़ाइल (दाईं ओर से एक टैब पर), के लिए जाना/data/data/databases यहां छवि विवरण दर्ज करें

      • बस उस पर क्लिक करके डेटाबेस का चयन करें

      • Android डिवाइस मॉनिटर विंडो के ऊपरी दाएं कोने पर जाएं। ' डिवाइस से फाइल खींचो ' बटन पर क्लिक करें: यहां छवि विवरण दर्ज करें

      • एक विंडो आपसे पूछेगा कि आप अपनी डेटाबेस फ़ाइल को कहाँ सहेजना चाहते हैं। अपने पीसी पर इसे कहीं भी सेव करें

    • Android स्टूडियो संस्करण> = 3.0 :

      • डिवाइस फ़ाइल एक्सप्लोरर के माध्यम से खोलेंView > Tool Windows > Device File Explorer

      • उस जगह पर जाएं data > data > PACKAGE_NAME > database, जहां PACKAGE_NAME आपके पैकेज का नाम है (यह com पर है। ऊपर दिए गए उदाहरण में देखें)

      • डेटाबेस पर राइट क्लिक करें और चुनें Save As...। अपने पीसी पर इसे कहीं भी सेव करें

  3. अब, आपके द्वारा स्थापित SQLiteBrowser खोलें । ' खुले डेटाबेस ' पर क्लिक करें , उस स्थान पर जाएँ जहाँ आपने डेटाबेस फ़ाइल को सहेजा था, और खोलें । अब आप अपने डेटाबेस की सामग्री देख सकते हैं।


अपने मोबाइल डिवाइस पर अपने डेटाबेस को देखने के लिए:

इस Github रिपॉजिटरी पर जाएं और अपने डिवाइस पर अपने डेटाबेस को देखने में सक्षम होने के लिए readme में निर्देशों का पालन करें। आपको जो कुछ मिलता है वह इस प्रकार है:

यहां छवि विवरण दर्ज करें

बस। हालांकि यह बिना कहे चला जाता है कि आपको अपना ऐप प्रकाशित करने से पहले इन सभी चरणों को पूर्ववत करना चाहिए।


2
मेरे लिए सही जवाब है क्योंकि साइक्लाइटब्रोसर उपकरण के साथ संकेत, यह बहुत बढ़िया है। के धन्यवाद
मनु जि

26
/ डिवाइस मॉनिटर के फ़ाइल एक्सप्लोरर में डेटा का विस्तार नहीं होता है, मुझे लगता है कि इसकी दुर्गमता का अनुमान है क्योंकि / डेटा या / डेटा / डेटा निर्देशिका की प्रविष्टियों को सूचीबद्ध करने के लिए सुपरयूजर एक्सेस की आवश्यकता होती है। मैं अभी भी su विशेषाधिकार के साथ adb शेल के माध्यम से अपने डेटाबेस फ़ाइलों का उपयोग करने में सक्षम हूं। किसी भी विचार है कि फ़ाइल प्रबंधक में सु एक्सेस कैसे प्राप्त करें?
सर्वनाबलि रामचंद्रन

2
@ZekeDran, हाँ विधि केवल एक एमुलेटर से डेटा दिखाती है जो आपके डिवाइस को नहीं
दिखाती है। मैंने

11
यह काम करता है, लेकिन एमुलेटर को एपीआई 23 से अधिक नहीं चलाना पड़ता है। यदि आप एपीआई 25 का उपयोग करते हैं, तो फ़ाइल एक्सप्लोरर में कोई सामग्री नहीं है
मानोस

2
आपके Github लिंक से डेटाबेस प्रबंधक मेरे लिए काम कर रहा है! इसमें प्रश्नों का परीक्षण करने का अवसर भी है!
basti12354

199

ADB शेल के माध्यम से Sqlite3 से कनेक्ट करें

मुझे एंड्रॉइड स्टूडियो में ऐसा करने का कोई तरीका नहीं मिला है, लेकिन मैं हर बार फ़ाइल को खींचने के बजाय एक दूरस्थ शेल के साथ db तक पहुंचता हूं।

यहां सभी जानकारी प्राप्त करें: http://developer.android.com/tools/help/adb.html#sqlite

1- कमांड प्रॉम्प्ट में अपने प्लेटफॉर्म-टूल्स फोल्डर पर जाएं

2- adb devicesअपने उपकरणों की सूची प्राप्त करने के लिए कमांड दर्ज करें

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb devices
List of devices attached
emulator-xxxx   device

3- अपने डिवाइस के लिए एक शेल कनेक्ट करें:

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb -s emulator-xxxx shell

4- अपने db फाइल वाले फोल्डर में नेविगेट करें:

cd data/data/<your-package-name>/databases/

5- अपने db से जुड़ने के लिए sqlite3 चलाएं:

sqlite3 <your-db-name>.db

6- sqlite3 कमांड चलाएं जो आपको पसंद हैं:

Select * from table1 where ...;

नोट: नीचे चलाने के लिए और आदेश खोजें।

SQLite धोखा देती है

SQLite डेटाबेस में तालिकाओं को देखने के लिए कुछ चरण हैं:

  1. अपने डेटाबेस में तालिकाएँ सूचीबद्ध करें:

    .tables
  2. सूची कैसी दिखती है:

    .schema tablename
  3. संपूर्ण तालिका प्रिंट करें:

    SELECT * FROM tablename;
  4. उपलब्ध SQLite प्रॉम्प्ट कमांड के सभी सूची:

    .help

17
मुझे चरण 4 में अनुमति से वंचित रखा गया है, आपको क्या लगता है?
एड्रियन ओलार

4
आपको अपने एवीडी को रूट करना होगा, और / या कदम 3 पर रूट के रूप में एडीबी शुरू करना होगा 'रूट अदब
-स

2
चरण 5: sqlite3 नहीं मिला। क्यों?
sababab

3
क्योंकि आपको उपयोग करने के लिए स्थापित करने की आवश्यकता है
पॉल पैक-वेला सेलेज़नेव

12
जब डेटाबेस डेटाबेस का उपयोग करने की कोशिश कर रहा था , तो मुझे वैयक्तिकता की अनुमति मिली , चल रहा था। run-as your.package.name
यन्न

83

मैं वास्तव में बहुत हैरान हूं कि किसी ने भी यह समाधान नहीं दिया है:

स्टेथो पर एक नज़र डालें

मैंने विभिन्न उद्देश्यों के लिए कई अवसरों पर स्टेथो का उपयोग किया है (उनमें से एक डेटाबेस निरीक्षण किया जा रहा है)। वास्तविक वेबसाइट पर , वे नेटवर्क निरीक्षण और दृश्य पदानुक्रम के माध्यम से देखने के लिए सुविधाओं के बारे में बात करते हैं।

इसके लिए केवल एक छोटे सेटअप की आवश्यकता होती है: 1 ग्रेडल डिपेंडेंसी एडिशन (जिसे आप प्रोडक्शन बिल्ड के लिए कमेंट कर सकते हैं), स्टेथो को इंस्टेंट करने के लिए कोड की कुछ लाइनें और एक क्रोम ब्राउजर (क्योंकि यह सब कुछ के लिए क्रोम डैटूल का उपयोग करता है)।

अद्यतन : आप अब रियल फ़ाइलों को देखने के लिए स्टेथो का उपयोग कर सकते हैं (यदि आप SQLite DB के बजाय Realm का उपयोग कर रहे हैं): https://github.com/uPhyca/stetho-realm

# 2 अद्यतन करें : अब आप काउचबेस दस्तावेज़ देखने के लिए स्टेथो का उपयोग कर सकते हैं: https://github.com/RobotPajamas/Stetho-Couchbase

अपडेट # 3 : फेसबुक अपने नए टूल, फ्लिपर में सभी स्टेथो सुविधाओं को जोड़ने के प्रयासों पर ध्यान केंद्रित कर रहा है। फ्लिपर में पहले से ही कई विशेषताएं हैं जो स्टेथो के पास हैं। तो, अब स्विच बनाने के लिए एक अच्छा समय हो सकता है। https://fbflipper.com/docs/stetho.html


9
बहुत धन्यवाद। अधिक सरल होने के लिए, 1. compile 'com.facebook.stetho:stetho:1.3.1' और 2. इस कोड को जोड़ें Stetho.initializeWithDefaults(this);और 3.chrome://inspect/#devices
फ्रैंक मायत थू जूल

2
बहुत सरल है, आप क्रोम ब्राउज़र के अंदर 3 डी टूल के बिना डेटाबेस से डेटा देख सकते हैं।
मट्टुस विसकरी

मत भूलना कक्षा Stetho.initializeWithDefaults(this);में होना चाहिए Application
वॉनसुक

1
महान उपकरण। यदि आपने सेटअप सही तरीके से किया है तो आपका ऐप #devices पेज पर सूचीबद्ध होगा। निरीक्षण पर क्लिक करें और फिर संसाधन> वेब SQL> [db_name] पर जाएं और आप अपने sqlite स्टेटमेंट लिख सकते हैं।
ब्रैड

73

एमुलेटर का उपयोग नहीं करने पर सरलतम विधि

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit
$ cp /data/data/your.package.name/databases/database_name /sdcard
$ run-as your.package.name # Optional
$ chmod 660 databases/database_name # Optional
$ chmod 660 databases # Optional
$ exit # Optional
$ exit
$ adb pull /sdcard/database_name

चेतावनियां:

मैंने कुछ समय में इसका परीक्षण नहीं किया है। यह API> = 25 पर काम नहीं कर सकता है। यदि cp कमांड आपके लिए काम नहीं कर रहा है, तो इसके बजाय निम्नलिखित में से एक का प्रयास करें:

# Pick a writeable directory <dir> other than /sdcard
$ cp /data/data/your.package.name/databases/database_name <dir>

# Exit and pull from the terminal on your PC
$ exit
$ adb pull /data/data/your.package.name/databases/database_name

स्पष्टीकरण:

पहला ब्लॉक पठनीय होने के लिए आपके डेटाबेस की अनुमतियों को कॉन्फ़िगर करता है। यह लाभ उठाता है run-asजो आपको परिवर्तन करने के लिए अपने पैकेज के उपयोगकर्ता को लगाने की अनुमति देता है।

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit # Closes the shell started with run-as

इसके बाद हम डेटाबेस को पढ़ने योग्य / लिखने योग्य निर्देशिका में कॉपी करते हैं। यह adb पुल यूजर एक्सेस की अनुमति देता है।

$ cp /data/data/your.package.name/databases/database_name /sdcard

फिर, मौजूदा रीड / राइट विशेषाधिकारों को बदलें। यह आपके ऐप की सुरक्षा के लिए महत्वपूर्ण है, हालांकि विशेषाधिकारों को अगले इंस्टॉल पर बदल दिया जाएगा।

$ run-as your.package.name
$ chmod 660 databases/database_name 
$ chmod 660 databases
$ exit # Exit the shell started with run-as

अंत में, डेटाबेस को स्थानीय डिस्क पर कॉपी करें।

$ exit # Exits shell on the mobile device (from adb shell) 
$ adb pull /sdcard/database_name

4
मुझे 2 डी कमांड के साथ समस्याएँ आती हैं: रन-एस। मुझे 'com.mycompany.myappname' अज्ञात है। और हां, मैं सकारात्मक हूं कि मैं सही पैकेज नाम का उपयोग कर रहा हूं!
स्कॉट बिग्स

1
@PhuLai क्या आपने एक अलग उपकरण आज़माया है? कौन सा उपकरण विफल हो रहा है?
मृत्युशैया

1
मैंने Nexus 6P, API 25 के साथ प्रयास किया। मुझे लगता है कि यह विधि नए Android संस्करणों पर काम नहीं करेगी।
फू

chmod 660 databases/database_nameइससे पहले होना चाहिएchmod 660 databases
आल्हा एम।

@PhuLai - मुझे भी यही मिला और फिर मैंने cpकमांड को स्किप करने की कोशिश की और सिर्फ pullबाहर से (अनुमति बदलने के बाद) और यह काम किया ( adb pull data/data/package.name/databases/db_name.db)
Alaa M.

52

में एंड्रॉयड स्टूडियो 3 और इसके बाद के संस्करण आप एक देखें कर सकते हैं "डिवाइस फ़ाइल एक्सप्लोरर" एंड्रॉयड स्टूडियो के राइट-नीचे के हिस्से में धारा।

इसे खोलें, फिर आप फ़ाइल ट्री देख सकते हैं, आप इस पथ में एक आवेदन डेटाबेस पा सकते हैं:

/data/data/{package_name}/databases/

यहां छवि विवरण दर्ज करें


2
जब मैं अपने ऐप के लिए DB फाइल पर डबल क्लिक करता हूं, तो यह सभी अपठनीय अक्षर दिखाता है। DB कंटेंट को देखने के लिए आप किस SQLite रीडर का उपयोग करते हैं?
सुरेखा Sure

4
मैं sqlitebrowser.org को मुफ्त, खुले स्रोत और सभी प्लेटफार्मों के लिए उपलब्ध होने की सलाह देता हूं।
अली Zeynali

3
मेरी database.db फ़ाइल में कोई तालिका नहीं है।
बिनील

फ़ोल्डर खाली है। त्रुटि: run-as: Could not set capabilities: Operation not permitted। सैमसंग डिवाइस: stackoverflow.com/questions/37413667/…
O-9

25

अंत में, मुझे एक सरल समाधान मिला जिसे डीडीएमएस खोलने की आवश्यकता नहीं है।

दरअसल, समाधान @Distwo का उल्लेख करने पर आधारित है, लेकिन यह उतना जटिल नहीं है।

सबसे पहले , डिवाइस में अपने डेटाबेस फ़ाइल का पथ याद रखें, यह उसी तरह से चलना चाहिए। उदाहरण के लिए मेरा है:/data/data/com.XXX.module/databases/com.XXX.module.database

दूसरा , इस कमांड को निष्पादित करें जो आपकी डेटाबेस फाइल को पीसी पर खींचती है

 adb pull /data/data/com.XXX.module/databases/com.XXX.module.database /Users/somePathOnYourPC/

आपको जो करने की ज़रूरत है वह बस इस कमांड को कॉपी और स्टोर करें, फिर आप इसे बार-बार उपयोग कर सकते हैं।

तीसरा , यदि आपको अनुमति अस्वीकृत या ऐसा कुछ मिला है, तो adb rootपिछले कमांड से पहले चलाएं ।


9
रनिंग adb rootमेरे फोन पर काम नहीं करता है। यह प्रिंट करता है adbd cannot run as root in production builds। चलाने के बाद adb root, हालांकि, पुल कमांड सिर्फ जमा देता है और मुझे इसे मैन्युअल रूप से रोकने की आवश्यकता है।
लाड्यूड

@Daniela को run-as your.package.nameयह कोशिश करनी चाहिए कि "आप में लॉग इन करें" आपके ऐप से संबंधित उपयोगकर्ता के रूप में
m02ph3u5

अपने डेस्कटॉप पर .db फ़ाइल की प्रतिलिपि बनाने के लिए ऊपर दिए गए आदेश का उपयोग करें, फ़ायरफ़ॉक्स में SQLiteManager ब्राउज़र प्लगइन स्थापित करें और ब्राउज़ करना शुरू करें। 2 मिनट की नौकरी!
JaydeepW

वह रूट कमांड एमुलेटर के लिए था, आप केवल इस कमांड को नहीं चला सकते हैं और अपने 'फोन' को रूट कर सकते हैं।
डारपन

1
सब कुछ हो गया है, database.db मिला है। फ़ाइल BUT कि डेटाबेस। B फ़ाइल में कोई सारणी नहीं है
Binil

16

इस Android स्टूडियो प्लगइन SQLScout का प्रयास करें । आप अपने ऐप डेटाबेस रियलटाइम को देख और संपादित कर सकते हैं।

SQLScout

संपादित करें: याद रखें कि यह एक सशुल्क प्लगइन है, लेकिन 24 घंटों का परीक्षण और सिरदर्द समय के लिए उपयुक्त है।


17
यह भुगतान किया गया उत्पाद है, आप उल्लेख करना भूल गए।
यशाख १०'१६ को

58
वास्तव में, इसका 24 घंटे का परीक्षण नहीं है, मैंने 24 घंटे से अधिक समय तक डेवलपर के रूप में अपने भविष्य की योजना बनाई है।
यशक

अफसोस की बात है, यह मुफ़्त नहीं है।
K.Sopheak

परीक्षण का समय केवल 36 घंटे है।
महदी मुकादसी

9

सभी समाधानों के माध्यम से जाने के बाद मैं सुझाव दूंगा

स्टेथोस
लेट्स का उपयोग करके देखें कि यह कितना सरल है

Build.gradle फ़ाइल में निम्न निर्भरताएँ जोड़ें

compile 'com.facebook.stetho:stetho:1.5.0'
compile 'com.facebook.stetho:stetho-js-rhino:1.4.2'

फिर आपके पास mainActivity onCreate मेथड में निम्नलिखित लाइन जोड़ें

Stetho.initializeWithDefaults(this);

इसके लिए आपको आवश्यकता होगी

import com.facebook.stetho.Stetho;

एंड्रॉइड स्टूडियो से ऐप चलाते समय, क्रोम खोलें और एड्रेस बार में क्रोम टाइप करें
: // निरीक्षण करें /

संसाधन टैब में> वेब एसक्यूएल डेटाबेस की जाँच करता है और तालिका वास्तविक समय में आसानी से उसके साथ खेलती है


कमरा सिर्फ orm है, sql के संदर्भ में कुछ भी नहीं बदलता है यह उसी तरह से काम करता है
ShankPossible

9

सबसे आसान तरीका एंड्रॉइड डिबग डेटाबेस लाइब्रेरी (गिटहब पर 7.3k सितारे) का उपयोग करना है

एंड्रॉयड-डीबग-डाटाबेस

लाभ:

  • तेजी से कार्यान्वयन
  • सभी डेटाबेस और साझा प्राथमिकताएँ देखें
  • डेटाबेस मानों को सीधे संपादित करें, हटाएं, बनाएं
  • दिए गए डेटाबेस पर किसी भी SQLite क्वेरी चलाएँ
  • अपने डेटा में खोजें
  • डेटाबेस डाउनलोड करें
  • कस्टम डेटाबेस फ़ाइलों को जोड़ना
  • डिवाइस को रूट करने की आवश्यकता नहीं है

कैसे इस्तेमाल करे:

  1. जोड़े debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'को build.gradle (module);
  2. ऐप लांच करें;
  3. लॉग में डिबगिंग लिंक खोजें (LogCat में) (यानी D/DebugDB: Open http://192.168.232.2:8080 in your browser, लिंक अलग होगा) और इसे ब्राउज़र में खोलें;
  4. शक्तिशाली डिबगिंग टूल का आनंद लें!

जरूरी:

  • दुर्भाग्य से एमुलेटर के साथ काम नहीं करता है
  • यदि आप इसे USB पर उपयोग कर रहे हैं, तो चलाएं adb forward tcp:8080 tcp:8080
  • आपका Android फ़ोन और लैपटॉप एक ही नेटवर्क (Wifi या LAN) से जुड़ा होना चाहिए

अधिक जानकारी के लिए GitHub पर लाइब्रेरी पेज पर जाएं।


1
यह सबसे अच्छी और कम दर्दनाक प्रक्रिया है! शुक्रिया डैनियल
सुदीप

5

एंड्रॉइड स्टूडियो के भीतर डेटाबेस सामग्री को देखने का सरल और आसान तरीका ।

# एंड्रॉइड स्टूडियो 4.1 कैनरी 6 और उच्चतर के लिए

आप एक बहुत ही सरल एंड्रॉइड स्टूडियो के फीचर डेटाबेस इंस्पेक्टर का उपयोग कर सकते हैं । जहां आप नए डेटाबेस इंस्पेक्टर का उपयोग करके अपने ऐप के डेटाबेस का निरीक्षण, क्वेरी और संशोधन कर सकते हैं। उदाहरण के लिए, आप अपने रनिंग ऐप को अपने डेटाबेस में मूल्यों को संशोधित करके और एंड्रॉइड स्टूडियो को छोड़ने के बिना वास्तविक समय में डिवाइस पर उन परिवर्तनों का परीक्षण कर सकते हैं ।

आरंभ करने के लिए, अपने ऐप को API स्तर 26 या उच्चतर पर चलने वाले डिवाइस पर तैनात करें और मेनू बार से व्यू> टूल विंडोज> डेटाबेस इंस्पेक्टर चुनें।

# एंड्रॉइड स्टूडियो 4.0 और उससे कम के लिए

सबसे पहले , Android स्टूडियो में डेटाबेस नेविगेटर प्लगइन स्थापित करें

यहां छवि विवरण दर्ज करें

दूसरा , एंड्रॉइड स्टूडियो को पुनरारंभ करें

तीसरा , डेटाबेस को डिफ़ॉल्ट स्थान पर सहेजें जैसे: (C: \ Users \ User Name \ Documents \ AndroidStudio \ DeviceExplorer \ emulator या device \ data \ data \ package name \ डेटाबेस)

यहां छवि विवरण दर्ज करें

चौथा , डेटाबेस नेविगेटर में सेव की गई dbname_db फ़ाइल कनेक्ट करें

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें

वही डीबी फ़ाइल पथ दें जिसका उपयोग तीसरे चरण में किया जाता है

अर्थात (C: \ Users \ उपयोगकर्ता नाम \ Documents \ AndroidStudio \ DeviceExplorer \ emulator या device \ data \ data \ पैकेज नाम \ डेटाबेस \ पैकेज naem \ dbname_db)

अंत में , बस DB कनेक्शन और ओपन कंसोल का परीक्षण करें और जो भी आप करना चाहते हैं वह करें।

यहां छवि विवरण दर्ज करें

यदि आप DB को रीफ़्रेश करना चाहते हैं तो केवल दूसरा चरण दोहराएं और बस इसे सहेज लें या ताज़ा करें।

खुश कोडिंग !!!!!


3
इस समाधान को आपके हर दिन के काम के लिए बहुत प्रयासों की आवश्यकता है। और डेटाबेस में प्रत्येक परिवर्तन पर आपको sql फ़ाइल को पुनः लोड करने की आवश्यकता है - थोड़ा जटिल लगता है। मैं कुछ प्लगइन्स का उपयोग करना पसंद करता हूं जो स्थानीय सर्वर पर डेटाबेस को देखने की क्षमता देता है
Максим Петлюк

1
हाँ, आप सही हैं, जब तक कि डेटाबेस नेविगेटर में कोई रियलटाइम डेटा अपडेट नहीं होता है, मुझे उम्मीद है कि यह जल्द ही प्लगइन्स को अपडेट कर देगा।
नबीन

वास्तव में, यह एक महान विशेषता होगी
Максим Петлюк

हां, अब तक यह मेरे लिए सबसे अच्छा तरीका है अगर हमें डेटा को जोड़ने, संपादित करने और हटाने की आवश्यकता है
Nabin

डेटाबेस को रीफ्रेश करने के लिए क्या मुझे हमेशा सेव करने की जरूरत है? वहाँ एक आसान तरीका है mysql में सभी की जरूरत है मैं ताज़ा बटन हिट करने के लिए है।
ラ リ ド ー イ ド ア ン

4

यह जानने के लिए कि एंड्रॉइड स्टूडियो में आपके द्वारा निर्मित साइक्लाइट डेटाबेस कहाँ संग्रहीत है, आपको सरल चरणों का पालन करने की आवश्यकता है:

1.Run your application
2.Go to Tools--->Android---->Device Monitor
3.Find your application name in left panel
4.Then click on File Explorer tab
5.Select data folder
6.Select data folder again and find your app or module name
7.Click on your  database name
8.On right-top window you have an option to pull file from device.
9.Click it and save it on your PC
10.Use FireFox Sqlite manager to attach it to your project.

अधिक जानकारी के लिए यह लिंक उपयोगी होगा। http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/

Db फ़ाइल में मौजूद अपने डेटा को देखने के लिए आपको किसी भी ब्राउज़र में sqlite ब्राउज़र डाउनलोड करने या उसी का प्लगइन जोड़ने की आवश्यकता है ताकि आपको ब्राउज़र में फ़ाइल खोलने और अपना डेटा देखने की आवश्यकता हो।

Http://sqlitebrowser.org/ से ब्राउज़र डाउनलोड करें

यहाँ स्क्रीनशॉट दिखाया गया है जिसमें रजिस्टर डेटाबेस वाला ब्राउज़र है

धन्यवाद,


3

सबसे आसान तरीका है अपने डिवाइस को अटैच करना और फिर टूल बार से Android स्टूडियो चलाना:

  1. देखें -> उपकरण विंडो -> डिवाइस फ़ाइल एक्सप्लोरर
  2. डेटा / डेटा में जाएं और अपना पैकेज खोजें
  3. उस DB फ़ाइल को खोजें जिसे आप एक्सप्लोर करना और डाउनलोड करना चाहते हैं
  4. मैं इस ऑनलाइन टूल पर सलाह देता हूं: https://sqliteonline.com/ db फाइल को एक्सप्लोर करने के लिए

एक और तरीका स्टेथो पुस्तकालय का उपयोग कर रहा है:

  1. Stello निर्भरता को अपने build.gradle में जोड़ें:

    संकलन 'com.facebook.stetho: स्टेथो: 1.5.0'

  2. अपने आवेदन पत्र या मुख्य गतिविधि के अपने ऑनक्रिएट () पर निम्न पंक्ति रखें:

    Stetho.initializeWithDefaults (this);

  3. अपना डिवाइस कनेक्ट करें, ऐप चलाएं और क्रोम पर निम्न साइट दर्ज करें:

    chrome: // / # उपकरणों का निरीक्षण

और यह बात है। अब आप अपनी तालिकाएँ देख सकते हैं।

नोट: उत्पादन पर जाने से पहले निर्भरता को दूर करने की सिफारिश की जाती है।


3

यदि आप अपने डेटाबेस को ANDROID STUDIO से ब्राउज़ करना चाहते हैं, तो यहां मैं जो प्रयोग कर रहा हूं:

फ़ाइलें / सेटिंग्स / प्लगइन्स पर जाएं और इसके लिए देखें:

यहां छवि विवरण दर्ज करें

... एंड्रॉइड स्टूडियो को पुनरारंभ करने के बाद आप अपनी डाउनलोड की गई डेटाबेस फाइल को इस तरह से चुन सकते हैं: यहां छवि विवरण दर्ज करें

... "एसक्यूएल कंसोल खोलें" आइकन पर क्लिक करें, और आप एंड्रॉइड स्टूडियो के अंदर अपने डेटाबेस के इस अच्छे दृश्य के साथ समाप्त होते हैं: [यहाँ छवि विवरण दर्ज करें


2
इसलिए मुझे एमुलेटर से हर समय डीबी की प्रतिलिपि बनानी होगी?
मक्सिम नियाज़ेव

2

नए डेटाबेस इंस्पेक्टर को एंड्रॉइड 4.1 कैनरी 5 पूर्वावलोकन में पेश किया गया है जहां आप अब आईडीई से सीधे अपने रनिंग ऐप में SQLite डेटाबेस का निरीक्षण कर सकते हैं, क्वेरी कर सकते हैं, संशोधित कर सकते हैं और डिबग कर सकते हैं - https://developer.android.com/studio/preview/features-linkId = 86173020 # डेटाबेस इंस्पेक्टर

डेटाबेस लाइव क्वेरी का समर्थन करता है - https://developer.android.com/studio/preview/features?linkId=86173020#query

यहां छवि विवरण दर्ज करें


1

यह एक बहुत पुराना प्रश्न है और मेरा उत्तर ऊपर दिए गए कुछ उत्तरों के समान है लेकिन बहुत तेजी से किया गया है। नीचे दी गई स्क्रिप्ट मैक के लिए है, लेकिन मुझे यकीन है कि कोई इसे विंडोज के लिए संशोधित कर सकता है।

1) अपने मैक पर स्क्रिप्ट एडिटर खोलें (आप केवल स्पॉटलाइट में स्क्रिप्ट एडिटर की खोज कर सकते हैं)
2) नीचे दिए गए टेक्स्ट को कॉपी और पेस्ट करें और इसे अपने एसडीके पथ, पैकेज नाम, आदि के साथ संशोधित करें (नीचे देखें)
3) स्क्रिप्ट को सहेजें! !

यह बात है! अद्यतन डेटाबेस फ़ाइल प्राप्त करने के लिए बस ऊपर की तरफ प्ले बटन दबाएँ, जो आपके डेस्कटॉप पर होगा।

नीचे दी गई स्क्रिप्ट में निम्नलिखित चीजों को बदलें:

path_to_my_sdk == >> अपने sdk
my_package_name == >> अपने एप्लिकेशन का
पूरा नाम myDbName.db == >> अपने डेटाबेस का फ़ाइल नाम रखें।

set getLocalDb to "path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases && path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases/myDbName.db && path_to_my_sdk/platform-tools/adb shell run-as my_package_name cp databases/myDbName.db /sdcard/myDbName.db && path_to_my_sdk/platform-tools/adb pull /sdcard/myDbName.db /Users/User/Desktop/myDbName.db"
do shell script getLocalDb

आशा है कि यह किसी की मदद करता है।


इसने मेरे लिए काम किया। सिवाय आपको उत्पादन निर्देशिका /User/User/Desktop/myDbName.db
केनी

1

मुझे पता है कि प्रश्न पुराना है, लेकिन मेरा मानना ​​है कि यह मुद्दा अभी भी मौजूद है।

अपने ब्राउज़र से डेटाबेस देखना

मैंने एक विकास उपकरण बनाया जिसे आप अपने एंड्रॉइड ऐप प्रोजेक्ट में एक लिब के रूप में एकीकृत कर सकते हैं। उपकरण वेब ब्राउज़र के माध्यम से संवाद करने के लिए आपके ऐप में एक सर्वर सॉकेट खोलता है। आप अपने पूरे डेटाबेस के माध्यम से ब्राउज़ कर सकते हैं और डेटाबेस फ़ाइल को सीधे ब्राउज़र के माध्यम से डाउनलोड कर सकते हैं।

यहां छवि विवरण दर्ज करें

एकीकरण jitpack.io के माध्यम से किया जा सकता है:

प्रोजेक्ट बिल्ड.ग्रेड:

//...
allprojects {
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}
//...

एप्लिकेशन बिल्ड.ग्रेड:

//...
dependencies {
    //...
    debugCompile 'com.github.sanidgmbh:debugghost:v1.1'
    //...
}
//...

सेटअप अनुप्रयोग वर्ग

केवल कुछ विशिष्ट प्रकारों या उत्पाद-स्वादों में DebugGhostLib को संकलित करने के लिए हमें एक अमूर्त अनुप्रयोग वर्ग की आवश्यकता होती है जो विशेष स्वादों में प्राप्त होगा। निम्न वर्ग को अपने mainफ़ोल्डर में रखें (अंडर java> your.app.package):

public class AbstractDebugGhostExampleApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // Do your general application stuff
    }
}

अब, आपकी रिलीज़ बिल्ड बिल्ड (या उत्पाद स्वाद) के लिए, आप अपने release(या उत्पाद-स्वाद) फ़ोल्डर में निम्न एप्लिकेशन क्लास ( java> से भी) जोड़ सकते हैं your.app.package:

public class MyApp extends AbstractDebugGhostExampleApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}

यह अनुप्रयोग वर्ग है जो डिबगगॉस्टलिब का संदर्भ नहीं देगा।

यह भी बताएं AndroidManifest.xmlकि आप अपने स्वयं के एप्लिकेशन वर्ग का उपयोग कर रहे हैं। यह आपके mainफ़ोल्डर में किया जाएगा :

<manifest package="demo.app.android.sanid.com.debugghostexample" xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- permissions go here -->
    <application android:name=".MyApp"> <!-- register your own application class -->
        <!-- your activities go here -->
    </application>
</manifest>

अब, आपके डीबग बिल्ड प्रकार (या उत्पाद स्वाद) के लिए, आप अपने debug(या उत्पाद-स्वाद) फ़ोल्डर में निम्न अनुप्रयोग वर्ग (भी java> के तहत your.app.package) जोड़ें:

public class MyApp extends AbstractDebugGhostExampleApplication {
    private DebugGhostBridge mDebugGhostBridge;

    @Override
    public void onCreate() {
        super.onCreate();

        mDebugGhostBridge = new DebugGhostBridge(this, MyDatabaseHelper.DATABASE_NAME, MyDatabaseHelper.DATABASE_VERSION);
        mDebugGhostBridge.startDebugGhost();
    }
}

आप यहां उपकरण प्राप्त कर सकते हैं


स्टेथो द्वारा नए क्रोम में काम करने से रोकने के बाद यह एक अच्छा उपकरण है,
होमायॉन्ह बेहजडियन

1

मुझे डेटाबेस को फोन से पीसी तक खींचना पड़ा। अब मैं इसे बहुत अच्छी तरह से बनाए गए और मुफ्त ऐप का उपयोग करता हूं जिसमें बहुत सारी विशेषताएं हैं। यह रुटेड डिवाइस के API 4.1+साथ काम करता है। मुझे पता है अगर आप पाते हैं कि कैसे बिना जड़ के काम करना है।

स्क्रीनशॉट SqlitePrime

https://play.google.com/store/apps/details?id=com.lastempirestudio.sqliteprime


1

Android स्टूडियो के निचले भाग में डिवाइस फ़ाइल एक्सप्लोर टर्मिनल खोलें।

डेटा नाम का फ़ोल्डर खोलें , फिर डेटा के अंदर फिर से फ़ोल्डर डेटा खोलें ।

फ़ोल्डर डेटा खोलें

फ़ोल्डरों की सूची को नीचे स्क्रॉल करें और फ़ोल्डर को your.package.name के साथ खोजें। फ़ोल्डर खोलें your.package.name > डाटाबेस । आपको अपना . databaseName मिलता है । राइट क्लिक करें your.databaseName और C: / your / Computer / Directory के रूप में सहेजें।

C पर जाएं: / / आपके / कंप्यूटर / निर्देशिका DB SQLite के साथ your.databaseName खोलें

यहां छवि विवरण दर्ज करें


1

Android Studio 3.X के लिए

  1. देखें -> टूल विंडोज -> डिवाइस फ़ाइल एक्सप्लोरर
  2. फ़ाइल एक्सप्लोरर डेटा में-> डेटा-> कॉम। (Yourapplication package) -> डेटाबेस
  3. डेटाबेस पर राइट क्लिक करें और अपने स्थानीय मशीन पर सहेजें। खोलने के लिए, जिस फ़ाइल को आप SQLite Studio का उपयोग कर सकते हैं, उस पर डेटाबेस फ़ाइल को खींचकर।

यहाँ SQLite Studio का लिंक दिया गया है: https://sqlitestudio.pl/index.rvt?act=download


1

एंड्रॉइड स्टूडियो 4.1 कैनरी और देव पूर्वावलोकन के रिलीज के साथ , आप नामक एक नए टूल का उपयोग कर सकते हैं

डेटाबेस निरीक्षक

DB इंस्पेक्टर

4.1+ स्थापित करें, ऐप चलाएं, डेटाबेस इंस्पेक्टर खोलें, अब आप डेटाबेस निरीक्षक पैनल के बाईं ओर अपनी डेटाबेस फ़ाइलों को देख सकते हैं फिर सामग्री को देखने के लिए तालिका का चयन करें।

लाइव क्वेरी

या तो आप रन एसक्यूएल विकल्प का उपयोग करके आप प्रश्नों को चला सकते हैं या यदि आप कक्ष का उपयोग कर रहे हैं तो डेटाबेस निरीक्षक खोलें और फिर एप्लिकेशन चलाएं, आप @Queryएनोटेशन के बाईं ओर रन बटन पर क्लिक करके अपने इंटरफ़ेस में डीएओ क्वेरी चला सकते हैं ।

जिंदा सवाल


1

सर्वर साइड डेटाबेस की तरह android sqlite का उपयोग करें

नीचे सूचीबद्ध इन चरणों का अनुसरण करें:

  1. डेटाबेस टूल विंडो ढूंढें और इसे नीचे की छवि की तरह क्लिक करें

यहां छवि विवरण दर्ज करें

  1. प्लस आइकन पर क्लिक करें और नीचे की तरह Android SQLite का चयन करें

यहां छवि विवरण दर्ज करें

  1. अपने Android डिवाइस को अपने कंप्यूटर से कनेक्ट करें

  2. अपनी पसंद के पैकेज का चयन करें और नीचे दी गई छवि की तरह डेटाबेस का चयन करें यहां छवि विवरण दर्ज करें

  3. ऊपर दिए गए इन सभी चरणों से पहले आपको यह सुनिश्चित करना होगा कि आपके पास फ़ाइल को एक्सेस करने की सही अनुमति है: /data/data//database/databasefile.db

इन सभी चरणों के बाद आप नीचे की तरह डेटाबेस सामग्री देखेंगे:

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

अंतिम महत्वपूर्ण बात है

आपको हर बार अपडेट आइकन पर क्लिक करना होगा जहां डेटाबेस डेटा अपडेट किया गया है।

यहां छवि विवरण दर्ज करें

आशा है कि यह आपके लिए काम कर रहा है! धन्यवाद !


0

यह वह उत्तर नहीं हो सकता है जिसकी आप तलाश कर रहे हैं, लेकिन मेरे पास फोन से DB डाउनलोड करने का बेहतर तरीका नहीं है। मेरा सुझाव है कि आप यह सुनिश्चित करें कि आप इस मिनी-डीडीएमएस का उपयोग कर रहे हैं। यह सुपर छिपा होगा हालांकि यदि आप प्रोग्राम के बहुत नीचे बाईं ओर बहुत छोटे कैमोफ़्लैज बॉक्स पर क्लिक नहीं करते हैं। (इस पर मंडराने की कोशिश की अन्यथा आप चूक सकते हैं।)

इसके अलावा ड्रॉप डाउन जो कहता है नो फिल्टर (टॉप राइट)। इसका शाब्दिक अर्थ अलग-अलग तरीकों से एक टन है, जिसे आप PPID, नाम, और बहुत कुछ द्वारा अलग-अलग प्रक्रिया / एप्स की निगरानी कर सकते हैं। मैंने हमेशा फोन की निगरानी करने के लिए इसका उपयोग किया है, लेकिन ध्यान रखें कि मैं देव कार्य का प्रकार नहीं कर रहा हूं जो कि 120% सकारात्मक होने की आवश्यकता है डेटाबेस सामान्य से बाहर कुछ नहीं कर रहा है।

आशा करता हूँ की ये काम करेगा

यहां छवि विवरण दर्ज करें


0

मैंने इस प्रक्रिया का एक यूनिक्स कमांड-लाइन स्वचालन एक साथ रखा है और कोड यहाँ रखा है:

https://github.com/elliptic1/Android-Sqlite3-Monitor

यह एक शेल स्क्रिप्ट है जो पैकेज नाम और डेटाबेस के नाम को पैरामीटर के रूप में लेता है, संलग्न एंड्रॉइड डिवाइस से डेटाबेस फ़ाइल डाउनलोड करता है, और डाउनलोड की गई फ़ाइल के खिलाफ कस्टम स्क्रिप्ट चलाता है। फिर, 'वॉच' जैसे यूनिक्स टूल के साथ, आप अपने डेटाबेस स्क्रिप्ट आउटपुट के समय-समय पर अद्यतन दृश्य के साथ एक टर्मिनल विंडो खोल सकते हैं।


0

मैं विंडोज 7 का उपयोग कर रहा हूं, मेरा डिवाइस एक एमुलेटेड एंड्रॉइड डिवाइस एपीआई 23 है। मुझे लगता है कि यह किसी भी वास्तविक डिवाइस के लिए समान है जब तक कि यह रूट है और एपीआई 23 से ऊपर नहीं है

टूल्स -> एंड्रॉइड -> एंड्रॉइड डिवाइस मॉनिटर पर जाएं। फाइल एक्सप्लोरर पर जाएं। मेरे मामले में, यह डेटा / डेटा // app_webview / डेटाबेस / file_0 / 1 में है

मुझे "1" नामक फ़ाइल के अंत में .db को मैन्युअल रूप से जोड़ना होगा


0

प्लस के साथ अन्य उत्तरों से इसका संयोजन

  1. SQLite के लिए DB ब्राउज़र स्थापित करें
  2. MyBase.db के लिए डिवाइस फ़ाइल एक्सप्लोरर से सटीक स्थान प्राप्त करें जैसे "/data/data/com.whatever.myapp/dat डेटाबेस/MyBase.db"
  3. एंड्रॉइड से प्रोजेक्ट के लिए प्रोजेक्ट विंडो सेट करें - ताकि आप फाइलें देख सकें (बिल्ड.ग्रेडल, gradle.properties, ... आदि)
  4. प्रोजेक्ट विंडो में राइट क्लिक करें और टर्मिनल में ओपन को चुना
  5. टर्मिनल में अब आप हार्डडिस्क से अपने एप्लिकेशन के रूट डायरेक्टर में हैं, इसलिए निष्पादित करें: adb pull /data/data/com.whatever.myapp/dat डेटाबेस/MyBase.db
  6. अब आप के एंड्रॉइड स्टूडियो के प्रोजेक्ट विंडो पर आपके पास एक फाइल "MyBase.db" है
  7. प्रोजेक्ट से अपनी db फ़ाइल पर डबल क्लिक करें और अब आप DB डेटाबेस में अपने डेटाबेस को ब्राउज़ / संपादित कर सकते हैं
  8. जब आप तैयार हों तो सिर्फ DB ब्राउजर में राइट चेंजेस करें ताकि डेटाबेस हार्डस्क पर सेव हो जाए
  9. कमांड के साथ टर्मिनल में: adb पुश MyBase.db /data/data/com.whatever.myapp/dat डेटाबेस/MyBase.db आप बस हार्डडिस्क से एडिट किए गए डेटाबेस को डिवाइस में भेजें।

0

एंड्रॉइड डिवाइस एक्सप्लोरर में अपने ऐप के डेटाबेस फ़ोल्डर को खोलने के लिए उपरोक्त चरणों का पालन करें और वहां आप छह फाइलें देख सकते हैं, पहले तीन को एंड्रॉइड के रूप में नामित किया गया है और अंतिम तीन को आपके डेटाबेस नाम के रूप में नामित किया गया है। आपको केवल अंतिम तीन फ़ाइलों के साथ काम करना है, इन तीन फ़ाइलों को अपने पसंदीदा स्थान पर सहेजें। आप इन फ़ाइलों को फ़ाइल पर राइट-क्लिक करके सहेज सकते हैं और बटन के रूप में सहेजें पर क्लिक कर सकते हैं (जैसे मेरे पास मेरा डेटाबेस है जिसका नाम room_database है और इसलिए तीन फ़ाइलों का नाम room_database, room_database-shm और room_database-wal के रूप में रखा गया है। संबंधित फ़ाइल का नाम इस प्रकार रखें। : -

1) room_database to room_database.db 2) room_database-shm to room_database.db-shm 3) room_database-wal to room_database.db-wal

अब किसी भी SQLite ब्राउज़र में पहली फ़ाइल खोलें और सभी तीन फ़ाइलें ब्राउज़र में पॉपुलेट हो जाएंगी।


0

अंत में, एंड्रॉइड स्टूडियो डेटाबेस इंस्पेक्टर टैब के साथ इस कार्यक्षमता का समर्थन करता है। आप आसानी से दृश्य / अद्यतन / क्वेरी संचालन लागू कर सकते हैं। यह अभी के लिए स्थिर चैनल में नहीं है, लेकिन आप एंड्रॉइड स्टूडियो 4.1 कैनरी 5 और उच्चतर के साथ प्रयास कर सकते हैं।

आप देख सकते हैं कि डेटाबेस निरीक्षक यहां कैसा दिखता है

और आप यहां उपयुक्त संस्करण डाउनलोड कर सकते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.