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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
#1

Доступ к базе данных из разных активити - Программирование Android

06.04.2014, 20:34. Просмотров 1734. Ответов 6
Метки нет (Все метки)

В общем-то в теме и вопрос, как получить доступ к базе данных и разных активити?
Есть класс работы с базой
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class DBHelper extends SQLiteOpenHelper { 
 
        public DBHelper(Context context) {
          super(context, "myDB", null, 1);
        }
 
        @Override
        public void onCreate(SQLiteDatabase db) {
          // создаем таблицу с полями
          db.execSQL("create table mytable ("
                  + "id integer primary key autoincrement," 
                  + "name text," 
                  + "tip text," 
                  + "adres text" + ");");
        }
 
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
        }
      }

В одной активити получается создать и использовать эту базу и таблицу mytable, хочу в другой активити создать новую таблицу в этой базе данных и пользоваться этой таблице и в первой активити, и во второй
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2014, 20:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Доступ к базе данных из разных активити (Программирование Android):

Доступ к базе данных - Программирование Android
Здравствуйте. Имеется три активити (MainActivity (основная), Program (программы подготовки) и Speciality (специальности)), база данных...

Доступ из активити в фрагмент - Программирование Android
Здравствуйте, такой вопрос есть активити import java.io.File; import java.io.IOException; import...

Доступ к Spinner из другой активити - Программирование Android
У меня есть последовательные спиннеры: spinner1 (bmv, lexus, honda), spinner2 (модель марки bmv (выбрал в spinner1 bmv). Выбираю значение...

Вызов разных фрагментов или активити на клиенте по команде сервера - Программирование Android
Подскажите пожалуйста направление/примеры/описалово/библиотеки, хоть что нибудь что поможет решить задачу. Задачи две: 1. Клиент...

На телефоне highscreen 3 на всех активити происходит быстрый самовозврат к главной активити - Программирование Android
Сделал меню в виде ListView. При клике на меню запускаются активити. На эмуляторе работает, на телефоне моем LG все работает. На телефоне...

Как вызвать метод в активити классе из обычного не активити класса? - Программирование Android
Есть активити в котором вводятся логин и пароль. При нажатии кнопки "войти" в отдельном классе "сокетсервер"(+в отдельном потоке)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
06.04.2014, 20:37 #2
работайте из другой активити с бд так же как из певой активити
оно запишет в одну бд, если указать оддинаковое имя
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
06.04.2014, 20:57  [ТС] #3
Я так пробовал, всегда вываливается ошибка "no such table"
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
06.04.2014, 21:00 #4
дак ее же создать надо

Добавлено через 1 минуту
http://developer.alexanderklimov.ru/...d/database.php
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
06.04.2014, 21:09  [ТС] #5
Так её создаю. Одновременно создаю две таблицы в первой активити, если во второй происходит нажатие на кнопку, во вторую таблицу заполняются данные
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
06.04.2014, 21:20 #6
покажите то, как вы работаете с бд
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
07.04.2014, 00:06  [ТС] #7
Вот так в первой активити создаю 2 таблицы
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class DBHelper extends SQLiteOpenHelper {          // класс работы с базой данных
 
        public DBHelper(Context context) {
          // конструктор суперкласса
          super(context, "myDB", null, 1);
        }
 
        @Override
        public void onCreate(SQLiteDatabase db) {
          // создаем таблицу с полями
          db.execSQL("create table mytable ("
                  + "id integer primary key autoincrement," 
                  + "name text," 
                  + "tip text," 
                  + "adres text," + ");");
       // создаем таблицу с полями
          db.execSQL("create table mypoints ("
                  + "id integer primary key autoincrement," 
                  + "namenumb text," 
                  + "tipname text," 
                  + "adres text,"  + ");");
        }
 
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
        }
      }

Вот так читаю из второй таблицы
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
                       db = dbHelper.getWritableDatabase();
            
            Cursor c = db.query("mypoints", null, null, null, null, null, null);
 
            if (c.moveToFirst()) {
 
                do 
                 { 
                  
                 } while (c.moveToNext());
              
             } else
                showToast("В mypoints ПУСТО");
             c.close();
                
              // закрываем подключение к БД
             dbHelper.close();

Записываю во вторую таблицу так (это во втором активити)
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
                     ContentValues cv = new ContentValues(); 
            db = dbHelperPoints.getWritableDatabase();
            cv.put("name", textViewName.getText().toString());
                    db.insert("mypoints", null, cv);
            dbHelperPoints.close();

И вот класс
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class DBHelperPoints extends SQLiteOpenHelper {          // класс работы с базой данных
 
            public DBHelperPoints (Context context) {
 
                   super(context, "myDB", null, 1);
            }
 
            @Override
            public void onCreate(SQLiteDatabase db) {
            }
 
            @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
            }
          }


Добавлено через 2 часа 32 минуты
Вопрос снят. Первую вторую таблицу сразу не создавало, а я уже к ней обращался.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2014, 00:06
Привет! Вот еще темы с ответами:

Изменение параметров активити из другого активити - Программирование Android
Как сделать так чтобы из первого активити поменять final ImageView img=(ImageView)findViewById(R.id.image1); ...

Вызов новой активити не из класса активити - Программирование Android
Есть 4 класса: 1) WelcomeActivity; 2) MainActivity; 3) PopUpActivity; 4) Client. Программа работает с сервером и получает...

Отображение активити поверх другого активити - Программирование Android
Ребят подскажите пожалуйста как такое сделать. Есть активити с картой, по нажатию кнопки настройки, нужно открыть активити с настройками,...

Передача данных между Активити - Программирование Android
Все никак не могу разобраться, как передавать данные между активити? я до этого пользовался статическими полями, но это кажется не совсем...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.04.2014, 00:06
Ответ Создать тему
Опции темы

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