2010-05-20 4 views
8

Есть ли какой-нибудь инструмент, который позволит мне просматривать базы данных на моем устройстве Android? Что-то вроде Sql Management Studio - вы знаете инструмент GUI, который отображает базы данных, таблицы, строки в таблицах и т. Д.Android - просмотр баз данных SQLite на устройстве?

Я использую Eclipse для разработки (если это важно для предложений плагина).

Спасибо!

+0

возможный дубликат [Tool, чтобы увидеть андроид базы данных, таблицы и данные] (http://stackoverflow.com/questions/2149438/tool-to-see -android-database-tables-and-data) – Thilo

ответ

2

Мое предложение - запустить приложение на эмуляторе (чтобы вы могли скопировать db-файл прямо из ADT File Explorer), а затем просмотреть его с помощью SQLite Manager Firefox plugin.

+4

Неплохо, если вы изучаете ошибку, специфичную для устройства! – Timmmm

5

Прежде всего, вы не сможете «просматривать» базы данных, если вы не вошли в систему под учетной записью root (есть несколько учебных пособий, в которых объясняется, как получить root на Android). Во-вторых, вы можете использовать adb shell (adb включен в SDK), и когда вы там, вы можете использовать команду sqlite3 для просмотра баз данных.

Конечно, sqlite3 не предоставляет графический интерфейс ... но вы можете скопировать базу данных, которую хотите просмотреть на свой компьютер, и использовать любой графический интерфейс для sqlite.

+5

Чтобы быть понятным, вы должны иметь доступ «root» даже для использования sqlite3 из 'adb shell' – Matt

+0

Правильно ... Я был недостаточно ясен. – Cristian

0

Вы можете скачать плагин «com.questoid.sqlitebrowser_1.2.0» .... Просто введите его в Google и скачайте. От его перетаскивания в папку запуска eclipse под папками плагинов. Когда вы запустите приложение на эмуляторе, вы сможете просмотреть всю информацию о базе данных в разделе DDMS.

4

Да, мы можем сделать это, но по-другому. Используя эту логику, вы получите базу данных в SDcard.

 String sourceLocation = "/data/data/com.sample/databases/yourdb.sqlite" ;// Your database path 
     String destLocation = "yourdb.sqlite"; 
     try { 
      File sd = Environment.getExternalStorageDirectory(); 
      if(sd.canWrite()){ 
       File source=new File(sourceLocation); 
       File dest=new File(sd+"/"+destLocation); 
       if(!dest.exists()){ 
        dest.createNewFile(); 
       } 
       if(source.exists()){ 
        InputStream src=new FileInputStream(source); 
        OutputStream dst=new FileOutputStream(dest); 
        // Copy the bits from instream to outstream 
        byte[] buf = new byte[1024]; 
        int len; 
        while ((len = src.read(buf)) > 0) { 
         dst.write(buf, 0, len); 
        } 
        src.close(); 
        dst.close(); 
       } 
      } 
      return true; 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
      return false; 
     } 

Вы должны дать разрешение

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

'/ data/data' - это защищенное разрешение хранилище. Доступ к ним возможен только на эмуляторе (возможно, на корневых телефонах). –

+0

Спасибо. Я НЕ на корневом телефоне, и это решение работает для меня !! –

Смежные вопросы