2016-03-31 5 views
2

У меня есть база данных SQLite на моем устройстве Android (мое собственное приложение). Теперь я хочу увидеть базу данных SQLite на своем компьютере.Android-база данных SQLite для компьютера/Mac

Есть ли какое-либо решение (простой способ) получить базу данных без прав root и без SD-карты на моем компьютере?

Я пытался Google это, но я не могу найти решение этой проблемы ....

Edit: Я использую не эмулятор (нужна камера на моем устройстве).

+0

По моему мнению, нет никакого способа, с помощью которого не было внедрено устройство для получения базы данных sqlite. – Vijay

+0

хорошо, большое вам спасибо. – FunkyMan

+0

Самый простой способ - через Terminal, полное руководство по этой ссылке. ответ by dheeraj bhaskar. http://stackoverflow.com/questions/18370219/how-to-use-adb-in-android-studio-to-view-an-sqlite-db – HourGlass

ответ

3

Этот метод работал для моего устройства, которое не было извлечено.

// проверить, если устройство подключено

ADB устройства

ADB оболочки

выполнения, как your.package.name

CHMOD 777 баз данных/your.database.name

exit

cp /data/data/your.pac kage.name/your.database.name шоссе/SDCard/

выход

ADB тянуть шоссе/SDCard/your.database.name

+0

У меня нет SD-карты ... – FunkyMan

+0

Скопируйте файл в папку, доступную для вас. do adb ракушка. cd mnt/Then ls. И скажите мне имена папок.Я скажу вам, где скопировать базу данных – crashOveride

+0

имя папки на моем компьютере? – FunkyMan

1

При сохранении БД SQLite в папку по умолчанию, вы можете найти то же самое в пути, как следующие

/data/data/com.dev.myapplication/databases/mydb.db 

Вы можете найти то же самое с помощью Android Monitor Device, с помощью которого можно перейти к внутренним и внешним Память.

Как только вы найдете файл базы данных, извлеките его и сохраните на рабочем столе после подключения через USB-кабель. Вы можете использовать опцию «Pull файл с устройства»

enter image description here

После извлечения файла на рабочем столе, использовать любые инструменты, аналогичные Mozilla Firefox SQLite viewer для просмотра базы данных.

+0

Но мне нужны права root для получения этой базы данных или нет? Я пробовал это, но папка «data» пуста. – FunkyMan

+0

Для этого не требуются права root. Попробуйте сохранить в другом месте и проверить. Например, ваше местоположение внешней SD-карты и некоторые пользовательские папки. – Stallion

+0

У меня нет SD-карты ... Я пытаюсь сохранить ее в другом месте. Благодарю. – FunkyMan

5

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

public static void copyAppDbToDownloadFolder(Activity ctx) throws IOException { 
    File backupDB = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), 
      "databse_name.db"); // for example "my_data_backup.db" 
    File currentDB = getApplicationContext().getDatabasePath("databasename.db"); 
    if (currentDB.exists()) { 
     FileChannel src = new FileInputStream(currentDB).getChannel(); 
     FileChannel dst = new FileOutputStream(backupDB).getChannel(); 
     dst.transferFrom(src, 0, src.size()); 
     src.close(); 
     dst.close(); 
    } 
} 
+0

Спасибо, я попробую позже. Если это сработает, вы получите + голос – FunkyMan

+0

@FunkyMan, которого вы еще не можете продвинуть. Но вы можете отметить этот ответ как принятый. Я думаю, вы должны подождать пару дней. –

+0

oh ok .......: / – FunkyMan

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