Ответ 1
Возможно, кто-то может проверить, приемлемо ли это, но какое-то время я использовал это:
File f = context.getDatabasePath(dbName);
long dbSize = f.length();
Приветствия
Я не могу получить общий объем данных, используемых приложением Android (или пакетом), поскольку официальная поддержка API была удалена:
http://groups.google.com/group/android-developers/browse_thread/thread/df94daae34336aad/f96a8425549c6637 (это все еще текущая ситуация?)
Получение установленного размера приложения (неподдерживаемый взлом - не используйте его)
Итак, есть ли способ получить текущий размер базы данных sqlite? Я нашел метод getMaxSize или getPageSize, но я не могу найти общее количество страниц.
Возможно, кто-то может проверить, приемлемо ли это, но какое-то время я использовал это:
File f = context.getDatabasePath(dbName);
long dbSize = f.length();
Приветствия
Вы можете запросить базу данных этими двумя:
pragma page_size;
pragma page_count;
(см. sqlite pragma docs).
Умножьте первое на второе, и вы получите общее количество страниц.
Просто добавьте размер.
Когда я использовал код DroidBot, он работает. Но размер может не сразу увеличиваться, когда данные вводятся в базу данных (особенно если данные очень малы). База данных будет увеличиваться только в 1024 байта (например, от 8192 байт до 9216 байт).
Итак, чтобы сразу увеличить размер базы данных, попробуйте добавить большой объем данных.