Где моя база данных sqlite, хранящаяся в android? - программирование
Подтвердить что ты не робот

Где моя база данных sqlite, хранящаяся в android?

Я создал базу данных sqlite в android, я могу запросить ее внутри своего кода, но я не могу найти ее на файловой системе /sdcard.

Я проверил другие вопросы SO, его НЕ в data/data/package-name...

Я вижу запись данных в моем приложении, занимающую пространство 52 КБ, поэтому его там, кроме того, когда я запускаю приложение снова, он не запускает OnCreate, поскольку у него уже есть БД.

Мой телефон укоренен, и я использую пользовательский желе bean rom, который отлично работает для всех целей и задач.

Любые идеи, где это может быть?

CODE С#

public class SqliteHelper : SQLiteOpenHelper
{
    private const string DATABASE_NAME = "Book";
    private const int DATABASE_VERSION = 1;

public SqliteHelper(Context ctx)
    : base(ctx, DATABASE_NAME, null, DATABASE_VERSION)
{ }

// Method is called during creation of the database
public override void OnCreate(SQLiteDatabase db)
{
    db.BeginTransaction();
    try
    {
        db.ExecSQL("CREATE TABLE Chapters (Id INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT NOT NULL);");

        ContentValues cv = new ContentValues();
        cv.Put("Name", "1. Family");
        db.Insert("Chapters", null, cv);
        cv.Put("Name", "2. Shopping");
        db.Insert("Chapters", null, cv);
        cv.Put("Name", "3. Work");
        db.Insert("Chapters", null, cv);

        db.SetTransactionSuccessful();
    }
    finally
    {
        db.EndTransaction();
    }

    //if(db.IsOpen())
    //  db.Close();
}
4b9b3361

Ответ 1

В моем корневом телефоне это: /data/data/<your_app_package_name>/databases/<database_name>

Exemple /data/data/com.my.package/databases/mydb

Ответ 2

  • Перейдите в Инструменты → DDMS или щелкните значок "Монитор устройства" рядом с Диспетчером SDK на панели инструментов.
  • Откроется окно "Монитор устройств". На вкладке "Проводник" выберите данные → данные → название вашего проекта. После этого откроется файл базы данных. щелкните значок "вытащить файл с устройства". Сохраните файл с расширением .db.
  • откройте FireFox, нажмите Alt, Tools- > SQLiteManager.
  • Следуйте за базой данных → подключитесь к базе данных → просмотрите файл базы данных и нажмите "ОК". Теперь откроется ваш файл SQLite.

Ответ 3

Он есть. Единственная причина, по которой вы не можете получить доступ к нему на устройстве Android, заключается в том, что эта папка является частной и ее нельзя увидеть с помощью обычных методов, ОС защищает эту папку, и эта папка (и ее содержимое, например, ваша база данных) может использоваться только этим определенным приложение.

Если вы хотите его увидеть, запустите эмулятор, запустите там приложение, перейдите в режим DDMS, сделайте /data/data/packageName/databases и там. Если у вас нет доступа к DDMS, используйте команду ADB Shell: $ adb pull /data/data/packageName/databases/yourDBFilename.db

Ответ 4

Вызов Context.getDatabasePath даст вам окончательный ответ

Ответ 5

Базы данных в Android хранятся в "data/data/yourPackageName/databases/" по умолчанию

Ответ 6

Если вы используете Android Studios, DDMS находится в "Инструменты" - "Android" - "Android Device Monitor". Используйте DDMS, чтобы найти его так, как вы бы это сделали в Eclipse.