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

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

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

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

06.04.2014, 20:34. Просмотров 1666. Ответов 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 Доступ из активити в фрагмент
Android Доступ к Spinner из другой активити
Android Вызов разных фрагментов или активити на клиенте по команде сервера
На телефоне highscreen 3 на всех активити происходит быстрый самовозврат к главной активити Android
Как вызвать метод в активити классе из обычного не активити класса? Android
Вызов новой активити не из класса активити Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
06.04.2014, 20:37     Доступ к базе данных из разных активити #2
работайте из другой активити с бд так же как из певой активити
оно запишет в одну бд, если указать оддинаковое имя
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 649
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
Сообщений: 649
06.04.2014, 21:09  [ТС]     Доступ к базе данных из разных активити #5
Так её создаю. Одновременно создаю две таблицы в первой активити, если во второй происходит нажатие на кнопку, во вторую таблицу заполняются данные
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,873
06.04.2014, 21:20     Доступ к базе данных из разных активити #6
покажите то, как вы работаете с бд
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2014, 00:06     Доступ к базе данных из разных активити
Еще ссылки по теме:
Android Отображение активити поверх другого активити
Android Изменение параметров активити из другого активити
Передача данных в другое активити Android
Передача данных между Активити Android
Передача данных между активити Android

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

Или воспользуйтесь поиском по форуму:
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 649
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 минуты
Вопрос снят. Первую вторую таблицу сразу не создавало, а я уже к ней обращался.
Yandex
Объявления
07.04.2014, 00:06     Доступ к базе данных из разных активити
Ответ Создать тему
Опции темы

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