Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
#1

Узнать размер всех данных в SQLite - Программирование Android

03.05.2016, 00:05. Просмотров 435. Ответов 11
Метки нет (Все метки)

Вот я сохранил некоторые данные в SQLite могу ли я узнать размер данных, которые хранятся в SQLite, то есть размер самой SQLite с моими данными? И есть ли ограничения на хранение данных в мобильной базе? Какой максимальный размер можно хранить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2016, 00:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Узнать размер всех данных в SQLite (Программирование Android):

Узнать номер записи по id (SQLite) - Программирование Android
Привет! Осваиваю SQLite, столкнулся с проблемой. Мне нужно получить номер записи, по id записи... Допустим в таблице "mytable" 3...

Постолбцовое отображение данных из базы данных SQLite - Программирование Android
Уважаемые форумчане, помогите пожалуйста. Необходимо вывести данные из таблицы базы данных в TextView. Вот код, когда в TextView...

Узнать размер view - Программирование Android
Как узнать размер view, если он лежит в layout, и обрезается им (размер view больше, чем размер layout). view.getHeight и...

Вывод данных из базы данных SQLite - Программирование Android
Здравствуйте уважаемые форумчане! Делаю программу для работы с базой данных SQLite. Смысл простой: есть одна база, в ней 9 таблиц, от 2 до...

Узнать доступные координаты (размер экрана) - Программирование Android
Всем привет. Мне нужно в программе сделать случайное перемещение ImageButton, сейчас у меня заданы жесткие координаты которые подобраны...

Как по byte[] data узнать размер снимка? - Программирование Android
урок http://startandroid.ru/ru/uroki/vse-uroki-spiskom/266-urok-133-kamera-delaem-snimok-i-pishem-video.html строка public void...

11
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
03.05.2016, 00:51 #2
Цитата Сообщение от yura91 Посмотреть сообщение
Какой максимальный размер можно хранить?
Около 140Tb.
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
03.05.2016, 11:05  [ТС] #3
А текущий размер базы данных(ну сколько в данный момент в ней байт хранится) как можно узнать?
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
03.05.2016, 11:39 #4
зачем? информации о размере файла не хватает?

Добавлено через 7 минут
Java
1
2
3
        db.getMaximumSize(); // кэп говорит что метод возвращает максимальный размер базы
        File file = new File(db.getPath());
        file.length(); // и размер файла
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
03.05.2016, 12:19  [ТС] #5
Ну то есть смотрите если я создал SQLite и сохранил в нее некоторые данные. То изначально(до вставки данных) у меня файл SQLite был пустой и размер этого файла был равен нулю, ну а после того как я вставил в SQLite некоторые данные то размер файла SQLite стал равным размеру (в байтах) данных что я туда положил верно? Или же у файла SQLite есть еще какой то заголовок там и такого типа и размер файла базы изначально не равен нулю, а равен размеру этого заголовка?

Добавлено через 2 минуты
И сколько этот заголовок занимает? Если он конечно есть. Просто мне нужно узнать не столько размер самого файла SQLite, сколько размер всех моих данных, которые лежат в этом файле в данный момент.
0
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
03.05.2016, 12:21 #6
зачем?
0
DarkVortex
103 / 69 / 18
Регистрация: 07.07.2014
Сообщений: 239
03.05.2016, 12:29 #7
https://www.sqlite.org/pragma.html
Результат запроса "PRAGMA page_count;" помножьте на "PRAGMA page_size;"
Получите размер данных +/- PRAGMA page_size
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
03.05.2016, 12:32  [ТС] #8
Ну просто мое приложение должно читать некоторую информацию, размер которой заранее не известен (это список контактов телефона - они как известно хранятся в своей базе) сохранять ее в базу данных свою и по TCP передавать. Мне во первых нужно знать точно сколько контактов у пользователя(чтобы правильно расчитать размер буфера для передачи). Ну можно конечно прочитать все из базы в ArayList, определить размер ArrayList и выделить в массиве который хочу передавать количество байт равное размеру этого ArayList, но как то коряво немного. Хорошо бы как то сразу определить размер списка контактов вот и думаю. Не подскажете идею?
0
DarkVortex
103 / 69 / 18
Регистрация: 07.07.2014
Сообщений: 239
03.05.2016, 12:39 #9
Что-то вы лишнюю мороку себе придумали...передавайте пока не кончатся, зачем вам их размер знать?
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
04.05.2016, 01:19  [ТС] #10
Ну просто да, можно контакты передавать пока не кончатся через класс PrintWriter метод println(), но у меня там еще бинарные данные передаются изображение например это уже через OutputStream получается(на сервере эти все и контакты и бинарные данные все нормально разбирается,и по категориям). Единственная морока в том, что можно ли и контакты телефона как то через класс OutputStream передать( ну и контакты и бинарные данные через один класс OutputStream), вот еще думаю как здесь все оптимальнее, красивее сделать. А просто ради интереса скажите как вообще нужно эти запросы выполнять "PRAGMA page_count;" PRAGMA page_size. Через консоль они вообще выполняются или программно можно через Java? И как они выглядят полностью?

Добавлено через 12 часов 22 минуты
Я хотел спросить ведь эти PRAGMA команды - это же явно не язык java. А в какой среде и как их вообще нужно запускать?Можете пояснить?
0
DarkVortex
103 / 69 / 18
Регистрация: 07.07.2014
Сообщений: 239
04.05.2016, 11:52 #11
Цитата Сообщение от yura91 Посмотреть сообщение
Я хотел спросить ведь эти PRAGMA команды - это же явно не язык java. А в какой среде и как их вообще нужно запускать?Можете пояснить?
Это SQL запрос к базе данных.
0
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
04.05.2016, 12:09  [ТС] #12
А как запустить этот SQL запрос программно(из Java кода), чтобы получить PRAGMA page_count(это же int)? У SQLiteDatabase есть только 2 метода с SQL запросами это execSQL() и rawQuery. Первая вообще ничего не возвращает, а только запускает SQL скрипт, а вторая возвращает Cursor, но мне же нужен int. Может из Cursora как то можно получить page_count если да то как?

Добавлено через 39 секунд
Или какой метод Java тогда использовать для запуска PRAGMA page_count?
0
04.05.2016, 12:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2016, 12:09
Привет! Вот еще темы с ответами:

Как из кода узнать размер шрифта TextView - Программирование Android
Вопрос в заголовке

SQLite вывод данных - Программирование Android
Здравствуйте. Подскажите, как вывести данные из колонки БД и записать в массив. Пытался пока что только извлечь данные в переменные: ...

База данных sqlite - Программирование Android
Доброго времени суток. Пишу приложение в котором возможна отправка запросов и на вставку и на чтение БД. Насколько я ...

База данных SQLite - Программирование Android
Добрый день. Может я повторюсь с вопросом, но вы уж меня простите, не могу найти... Подскажите, пожалуйста, где можно прочитать как создать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru