Почему размер моего файла базы данных всегда составляет 4 КБ, построенного через библиотеку Room? - PullRequest
0 голосов
/ 11 мая 2018

Я строю базу данных через Комнату этим гидом . Это мой код сборки:

INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
                        NodesRoomDatabase.class, "nodes_database.db")
                        .build();

И я вставляю информацию по DAO:

public void insert(NodesData nodesData) {
    new InsertAsyncTask(nodesDao).execute(nodesData);
}

private static class InsertAsyncTask extends AsyncTask<NodesData, Void, Void> {
    private NodesDao asyncDao;

    public InsertAsyncTask(NodesDao asyncDao) {
        this.asyncDao = asyncDao;
    }

    @Override
    protected Void doInBackground(NodesData... nodesData) {
        asyncDao.insert(nodesData[0]);
        return null;
    }
}

После сборки базы данных и вставки чего-либо. Я могу найти nodes_database.db, nodes_database.db-shm и nodes_database.db-wal в data/data/<package name>/databases/, но размер nodes_database.db всегда составляет всего 4 КиБ и имеет пустую таблицу. Но я могу запросить все содержимое базы данных с помощью отладки Stetho.

Размер файла изображения

Устройство: Oneplus 5, Android Oreo 8.1

Итак, что не так с моими кодами?

1 Ответ

0 голосов
/ 11 мая 2018

Так работает SQLite.Если вы хотите сделать запрос к своей базе данных вне Android, обязательно экспортируйте как файл .db, так и файл .db-wal.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...