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

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

Войти
Регистрация
Восстановить пароль
 
 
Flash_2oo9
3 / 3 / 0
Регистрация: 31.10.2012
Сообщений: 142
#1

Как организовать класс для работы с несколькими таблицами - Программирование Android

23.09.2014, 23:26. Просмотров 1228. Ответов 15
Метки нет (Все метки)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private class DbOpenHelper extends SQLiteOpenHelper{
 
        public DbOpenHelper(Context context, final String DB_NAME, SQLiteDatabase.CursorFactory factory, int version) {
            super(context, DB_NAME, factory, version);
        }
 
        @Override
        public void onCreate(SQLiteDatabase db) {
            final String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS " + FIRST_TABLE_NAME + " ( _id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " + FIRST_WORD + " TEXT, " +
                    SECOND_WORD + " TEXT, " + CORRECT_FIRST_WORDS + " INTEGER, " + CORRECT_SECOND_WORDS + " INTEGER, " + FIRST_COMMENT + " TEXT, " + SECOND_COMMENT + " TEXT )";
            db.execSQL(CREATE_TABLE);
        }
 
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            final String DROP_TABLE = "DROP TABLE IF EXISTS " + FIRST_TABLE_NAME ;
            db.execSQL(DROP_TABLE);
            onCreate(db);
        }
    }
Есть класс DbOpenHelper для работы с БД, все работает отлично. В другом классе создаю экземпляр данного и дальше работаю. Но вот возник вопрос, появилось вторая таблица в бд, а в onCreate() и onUpgrade() я работаю только с FIRST_TABLE_NAME. Как мне работать с другой таблицей?
Мне кажется создавать для каждой таблицы свой класс - плохой вариант. Ведь как я понимаю если данные методы пустые, то читать с бд можно, но писать в нее нельзя.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2014, 23:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как организовать класс для работы с несколькими таблицами (Программирование Android):

Общий текстовый файл для всех пользователей. Как организовать? - Программирование Android
Всем добрый день! Стокнулся с тем, что необходимо, чтоб любой пользователь приложения мог внести свою запись в файл. При этом, эта...

Как организовать еще одно место для обрабатывания процедур? - Программирование Android
в mainActivity уж очень много обрабочиков событий. как проще обрести возможность писать обработчики в еще одном подобном месте, но чтобы не...

Создание класса для работы с несколькими таблицами БД - C#
Добрый вечер форумчане. Помогите с такой как я думаю не большой(но у меня к сожалению не как не выходит) проблемой. Нужно сделать так...

Какой класс в qt nредназначен для работы с таблицами? - C++ Qt
ребят, какой класс в qt nредназначен для работы с таблицами , что то я не могу нигде найти , . И можете скинуть документацию nо этому...

Как правильно организовать отношение между таблицами(тематика: График работы сотрудника). - SQL Server
Добрый день! Народ есть такая проблема, с которой я изменяю жене, работе и жизни в целом. Но ничего не поделаешь, как уперлось в...

Как организовать добавление в один класс элементов другого в ходе работы программы - C++
есть 2 класса Страна и континент. Подскажите, как организовать добавление страны в список в ходе работы программы (функция CreateCountry). ...

15
Tester64
396 / 357 / 44
Регистрация: 22.05.2013
Сообщений: 2,518
25.09.2014, 20:17 #16
Цитата Сообщение от Spelcrawler Посмотреть сообщение
А база рецептов где? Если на сервере, то можно выгружать только то что изменилось и добавлять в базу. А базу для пользователя тоже можно "отделить" написав пару методов для выборки всех данных и записи в тот же xml, и для считывания этих данных на другом устройстве что-то написать. Это конечно трудозатратнее, но и работать все будет быстрее.
Я же вроде обьяснил! Есть (допустим) база рецептов. Заполняется операторами (шеф поворами) на сервере и выгружается в SQLite базу, готовую для подключения к андроиду. Иногда она непредсказуемо меняется (любая запись может быть исправлена на сервере). Твое устройство может быть с базой любой "старости". Твоя программа ее только читает для совместных курсоров с твоими личными пожеланиями (в холодильнике есть: морковка, петрушка и лед - получить возможные рецепты на этих компонентах). На любом моменте можно обновить базу рецептов с сервера скачав с нуля все 5-50 мегабайт с новой базой, а не только 250 новых записей и 3000 исправленых. ИМХО это иногда проще чем искать отличия и их поштучно добавлять в базу. Особенно если изменений слишком много. При больших изменениях скачивание займет 5 минут, а интеграция по одной займет 50 минут. Плюс методика хранения и поиска отличий в базе для выгрузки юзерам только их изменений.

ИМХО было бы проще подключить обновленный "спрвочник" рецептов (в виде 2й базы) после скачивания более новой версии без лишних телодвижений... И сделать что-то вроде Select * From base1.holodilnik, base2.rezept where base1.holodilnik.product_id=base2.rezept.product_id.

А еще я приводил пример с личными базами юзеров, Которые можно просто перекинуть файликами чем играться с выгрузкой личных записей из общей базы.
0
25.09.2014, 20:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2014, 20:17
Привет! Вот еще темы с ответами:

Как создать базу данных в Sql с несколькими таблицами - MySQL
Срочно нужно было сделать в sql свою бд,состоящую из трех-четырех таблиц..помгитее плииззз кому не лень..совсем не знаю,подскажите как по...

Как работать с несколькими связанными между собой таблицами? - C++ Builder БД
Доброго время суток, форумчяни! Я вот пытаюсь разобраться как можно работать с несколькими таблицами которые между собой связаны (база...

Как обратиться к слайду (т.е. сделать активным следующий слайд для работы с таблицами на нём)? - MS Powerpoint
Добрый день! Подскажите, пожалуйста, как обратиться к следующему слайду для работы с таблицами на нём Т.е. таблицы назвал на...

Как организовать страничку с несколькими видюшками? - Flash
У меня есть страничка на флеше следующего формата: Смысл ее работы в следующем: В участках с 2 по 7 будут изображения, обозначающие...


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

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

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