Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
prokopov
0 / 0 / 2
Регистрация: 19.04.2015
Сообщений: 92
#1

Работа с БД android - Программирование Android

15.03.2016, 20:56. Просмотров 552. Ответов 18

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

Как лучше сделать: работать с готовой БД или сделать ее программно в коде ??? Как работают с большими БД, точнее говоря, як с ними обращаются в коде ? (Если можно толковою статтю)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2016, 20:56     Работа с БД android
Посмотрите здесь:

Работа с графикой в Android - Программирование Android
есть такой код: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...

Курсовая работа по Android - Программирование Android
Может у кого-то есть записка к курсовому на андроид?

Работа с календарем в Android - Программирование Android
Здравствуйте. Сразу к вопросам: 1) Как подключить календарь. 2) Как брать допустим число и месяц и выводить допустим в TextView.

Работа с камерой в Android 2.* - Программирование Android
Нужно заставить приложение выводить картинку с камеры на экран (превьюшка). Вроде проще простого, но не работает: package...

Работа с Word в Android - Программирование Android
Подскажите где можно почитать тему по работе программно с Word файлами в Android, с Excel разобрался, но вот с Word не могу найти...

Работа с процессами Android - Программирование Android
Привет друзья нуждаюсь в вашей помощи. Задача в общем такая есть приложение которое работает без Activity в фоне, задача у него такая...

Работа с VideoView в android studio - Программирование Android
Здравствуйте. Не могу воспроизвести видео в VideoView через интернет. Вот код: VideoView videoView = (VideoView)...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex_Fedor
30 / 30 / 4
Регистрация: 20.01.2015
Сообщений: 219
15.03.2016, 21:30     Работа с БД android #2
Создаете БД на других совтах, благо их много и бесплатных. Готовую БД сбрасывает в папку assets, затем ее нужно скопировать при первом запуске приложения, и уже с ней работать. Заполнять базу программно из приложения, даже не думайте, это для примеров.
примеры посмотрите здесь
http://**********************/questi...ь-метод/358983
http://ru-code-android.livejournal.com/3923.html
http://startandroid.ru/ru/
http://developer.alexanderklimov.ru/...d/database.php
prokopov
0 / 0 / 2
Регистрация: 19.04.2015
Сообщений: 92
17.03.2016, 23:02  [ТС]     Работа с БД android #3
Alex_Fedor, то есть работать лучше с уже готовой БД созданной предварительно ?
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
18.03.2016, 08:34     Работа с БД android #4
Цитата Сообщение от Alex_Fedor Посмотреть сообщение
Заполнять базу программно из приложения, даже не думайте
Что за чушь!!!
Можно (и нужно) заполнять БД программно путем парсинга текстовых файлов из папки assets. Если нужно добавить или изменить какую либо строку, вы будете запускать "другие совты", копипастить файл бд? Проще изменить текстовый файлик.
Из личного пыта.
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
18.03.2016, 12:10     Работа с БД android #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Rube Посмотреть сообщение
Если нужно добавить или изменить какую либо строку, вы будете запускать "другие совты", копипастить файл бд?
Именно. Особенно, если количество записей стремится к миллиону.
prokopov
0 / 0 / 2
Регистрация: 19.04.2015
Сообщений: 92
18.03.2016, 20:33  [ТС]     Работа с БД android #6
Rube, а если бд большая.? Не проще где-то ее сделать, а потом использовать ?
_Night_Scream_
75 / 74 / 8
Регистрация: 08.08.2013
Сообщений: 581
19.03.2016, 12:25     Работа с БД android #7
prokopov, что такое "большая"?
для каждого своё представление о "большом".
Конкретнее сколько таблиц\записей\мб
dajver
407 / 271 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
19.03.2016, 22:30     Работа с БД android #8
Советую использовать библиотеку Realm, упростит жизнь в сто раз. https://realm.io/docs/java/latest/
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
20.03.2016, 09:32     Работа с БД android #9
Цитата Сообщение от prokopov Посмотреть сообщение
Не проще где-то ее сделать, а потом использовать ?
Проще, только я сомневаюсь что вы все правильно сделаете за один раз.
prokopov
0 / 0 / 2
Регистрация: 19.04.2015
Сообщений: 92
20.03.2016, 12:53  [ТС]     Работа с БД android #10
Rube, с этим я согласен! Но, например, делать 8 таблиц в java классе не очень комфортно и быстро !
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
21.03.2016, 09:59     Работа с БД android #11
prokopov, а вы вообще пробовали начать? Поля то все равно придется прописывать. Я на этих БД собаку можно сказать съел, так что начните делать как вам посоветовали.
Alex_Fedor
30 / 30 / 4
Регистрация: 20.01.2015
Сообщений: 219
21.03.2016, 11:58     Работа с БД android #12
Цитата Сообщение от Rube Посмотреть сообщение
на этих БД собаку можно сказать съел, так что начните делать как вам посоветовали.
Не могли бы вы привести пример, желательно с кодом. Все просто БД состоит из 2 одинаковых таблиц в которых 5 столбцов, ну и скажем 100 записей. Как это все без особых проблем заполнить программно. Вопрос не праздный занят тем что заполняю БД для своего приложения, там порядка 3000 записей. Даже не представляю как это без напряга делать из кода.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
21.03.2016, 12:46     Работа с БД android #13
БД надеюсь вы создавать умеете, таблицы и поля тоже. Если нет, то в сети масса примеров. Далее:
Кладете в assets 2 файла, напр. tab1.txt и tab2.txt (формат строк такой: запись1|запись2|запись3|... и т.д.)
В классе создания БД после создания таблиц пишите следующее:
Java
1
2
3
4
5
6
7
8
9
10
String n[];
cv = new ContentValues();
br = new BufferedReader(new InputStreamReader(context.getAssets().open("tab1.txt"), "Cp1251"));
while ((String temp = br.readLine()) != null) {
    n = temp.split("\\|"); // сплит строки
    cv.put(COLUMN_0, n[0]);
    cv.put(COLUMN_2, n[1]);
    cv.put(COLUMN_3, n[2]);
    db.insert(TABLE_0, null, cv);
}
Alex_Fedor
30 / 30 / 4
Регистрация: 20.01.2015
Сообщений: 219
21.03.2016, 13:30     Работа с БД android #14
Не я попроще, создаю в SQL редакторе БД со всеми таблицами. Там же таблицы заполняю, Готовую БД копирую в assets. Далее из кода БД копирую на устройство и уже с ней работаю. Как описано здесь http://**********************/questions/488797

Добавлено через 7 минут
блин чего то ссылка неправильно вставилась, можно погуглить. Как подключить внешнюю базу данных SQLite в Android
arvalon
21 / 6 / 2
Регистрация: 26.10.2012
Сообщений: 142
Записей в блоге: 1
18.05.2016, 21:24     Работа с БД android #15
Цитата Сообщение от Alex_Fedor Посмотреть сообщение
Не я попроще, создаю в SQL редакторе БД со всеми таблицами. Там же таблицы заполняю, Готовую БД копирую в assets. Далее из кода БД копирую на устройство и уже с ней работаю.
Тоже интересует этот вопрос! Можно в этом месте просветить пару моментов?

1. Значит, представим я создал БД сторонними средствами и скопировал её в папку assets. Кстати, папки assets нет в проекте и надо создать её руками. Я создавал в контекстном меню по правой кнопке мыши в папке res, но папка создалась всё равно выше уровнем, в src. Так и должно быть? Если да, поедем дальше.

2. Копируем туда мою db.sqlite

3. При развёртывании приложения (установке apk) на устройстве она скопируется в data/data/%my package name%/databases?
http://stackoverflow.com/questions/9227110/android-where-is-sqlite-database-stored

4. Далее уже как обычно с помощью наследования класса SQLiteOpenHelper можно открыть базу и работать с ней?
Миниатюры
Работа с БД android  
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
18.05.2016, 21:46     Работа с БД android #16
Rube, а я так и не смог последнюю БД запихнуть в приложение >1млн записей, полный вес с индексами 350мб
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
20.05.2016, 11:17     Работа с БД android #17
YuraAAA, была у меня похожая ситуация, только с файлом csv. Требовалось разово выдернуть некие данные по условиям. Начал импортировать в access и посыпались ошибки. В итоге просто написал небольшой скрипт на Autohotkey и за 5 мин получил требуемое. Можно думаю и батником было но не силен я в нем.
arvalon
21 / 6 / 2
Регистрация: 26.10.2012
Сообщений: 142
Записей в блоге: 1
27.09.2016, 12:00     Работа с БД android #18
Подскажите пожалуйста насколько распространена БД Realm на Android? Является ли она полноценной заменой SQLiteOpenHelper/SQLiteAssetHelper?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2016, 12:16     Работа с БД android
Еще ссылки по теме:

Работа с данными Android приложение - Программирование Android
Я создаю приложение по исторической тематике . И появилась проблема . Я создал активити с тремя кнопками : Основные события ,даты...

Некорректная работа jsoup на Android - Программирование Android
Здравствуйте! Подскажите, с чем может быть связана следующая проблема. Есть парсер html с использованием jsoup. Отрабатывает корректно,...

Работа с таймером и прочие мелочи в Android Studio - Программирование Android
Только начал изучать платформу и уже при создании наткнулся на несколько проблем, которые нужно решить. Буду очень признателен за...

Работа с БД на USB носителе через OrmLite (Android 6) - Программирование Android
Имеется usb flash drive, в котором хранится БД SQLite. Нужна возможность чтения/записи данных в БД. Проблема возникла с получением...

Работа с txt файлами в Android. Путь к файлу - Программирование Android
Здравствуйте! Уже 3ий день не могу разобраться с тем, как считывать из txt файла. Пишу на Java в IntelliJ IDEA. Я использую ф-ю...


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

Или воспользуйтесь поиском по форуму:
alessfan
0 / 0 / 0
Регистрация: 18.07.2015
Сообщений: 8
27.09.2016, 12:16     Работа с БД android #19
Цитата Сообщение от dajver Посмотреть сообщение
Советую использовать библиотеку Realm, упростит жизнь в сто раз. https://realm.io/docs/java/latest/
Подскажите, а есть ли какой-то нормальный Realm Browser для виндовс? Я только пока для мак встретил.
Yandex
Объявления
27.09.2016, 12:16     Работа с БД android
Ответ Создать тему
Опции темы

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