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

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

Я проверил другие вопросы так, его не в data/data/package-name...

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

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

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

код c#

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();
}

6 ответов


в моем корневом телефоне он находится в : /data/data/<your_app_package_name>/databases/<database_name>

exemple /данные/данные/com.мой.пакет/базы данных/базы данных mydb


  1. перейдите в сервис - > DDMS или щелкните значок монитора устройства рядом с SDK Manager в панели инструментов.
  2. откроется окно Device Monitor, на вкладке File Explorer нажмите data - > data - > ваше имя проекта. После этого откроется файл databases . нажмите значок" вытащить файл из устройства". Сохраните файл с помощью .расширение БД.
  3. откройте FireFox, нажмите Alt, Tools - >SQLiteManager.
  4. Follow Database - > connect to Database - > просмотр файла базы данных и нажмите кнопку ОК. Ваш файл SQLite будет открыт сейчас.

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

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


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


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


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