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

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

Войти
Регистрация
Восстановить пароль
 
Tem12
0 / 0 / 0
Регистрация: 16.04.2015
Сообщений: 4
#1

Где в проекте Android Studio лучше добавлять элементы в БД SQL? - Программирование Android

21.06.2016, 14:15. Просмотров 262. Ответов 1
Метки нет (Все метки)

Пишу приложение-викторину . У меня есть класс Db
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
29
30
31
32
33
public class Db extends SQLiteOpenHelper {
 
    public static final String DATABASE_NAME = "questionsDb";
    public static final int DATABASE_VERSION = 1;
    public static final String TABLE_QUESTIONS = "questions";
 
    public static final String KEY_ID = "_id";
    public static final String KEY_QUESTION = "question";
    public static final String KEY_RESPONSE_OPTION1 = "№1";
    public static final String KEY_RESPONSE_OPTION2 = "№2";
    public static final String KEY_RESPONSE_OPTION3 = "№3";
    public static final String KEY_RESPONSE_OPTION4 = "№4";
    public static final String KEY_CORRECT_ANSWER = "answer";
 
 
    public Db(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
      db.execSQL("create table " + TABLE_QUESTIONS + "(" + KEY_ID
      + " integer primary key," + KEY_QUESTION + " text," + KEY_RESPONSE_OPTION1 + " text,"
      + KEY_RESPONSE_OPTION2 + " text," + KEY_RESPONSE_OPTION3 + " text," + KEY_RESPONSE_OPTION4 +
      " text," + KEY_CORRECT_ANSWER + " text" + ")") ;
    }
 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("drop table is exists" + TABLE_QUESTIONS);
        onCreate(db);
    }
 
}
В главном активити инициализирую Db db ;
Java
1
2
3
4
5
6
7
8
9
10
11
12
db = new Db(this);
        SQLiteDatabase database = db.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
 
        contentValues.put(Db.KEY_ID, 1);
        contentValues.put(Db.KEY_QUESTION, "What is your name?");
        contentValues.put(Db.KEY_RESPONSE_OPTION1, "Vasya");
        contentValues.put(Db.KEY_RESPONSE_OPTION2, "Petya");
        contentValues.put(Db.KEY_RESPONSE_OPTION3, "Kolya");
        contentValues.put(Db.KEY_RESPONSE_OPTION4, "Artiom");
        contentValues.put(Db.KEY_CORRECT_ANSWER, "Artiom");
        database.insert(Db.TABLE_QUESTIONS, null, contentValues);
Но проблема в том что данных там будет очень много . Можно ли вынести добавление элементов в дб с помощью database.insert( ) в отдельный файл ?

Добавлено через 11 часов 26 минут
Ответьте пожалуйста . А то у меня в MainActivity уже больше 700 строк кода .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2016, 14:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Где в проекте Android Studio лучше добавлять элементы в БД SQL? (Программирование Android):

Поиск в большом проекте Android Studio - Программирование Android
Если у меня есть большой проект и этот проект писал не я. Но я хочу найти в этом коде, ну скажем место, где формируется push уведомление...

Android Studio, импорт не видит в проекте один из классов? - Программирование Android
Скачал библиотеку в виде сорскода, подключил к проекту все хорошо импортнулось, но один из классов с каким-то сереньким значком и его не...

Посоветуйте какую IDE лучше поставить новичку? С Android Studio не получилось - Программирование Android
Хочу начать писать приложения для Андроид, начал смотреть видеокурс http://www.intuit.ru/studies/courses/3703/945/info Посоветуйте какую...

Где найти Preferences в Android Studio 1.2.2 - Программирование Android
Window > Preferences >Android > Build. Где найти Preferences в Android Studio 1.2.2 Нужно создать SHA1-значение ключа, которым будет...

Где хранятся файлы с БД SQLite в Android Studio? - Программирование Android
Такая проблема, создал БД, создал колонки с именами, но потом начал переименовывать и ошибка (код ниже). Пишет не создано колонки с именем,...

Где находится файл .apk в Android Studio? - Программирование Android
Где находится файл .apk проекта в android studio? И какое у него будет имя?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Frozik6k
12 / 12 / 7
Регистрация: 04.04.2016
Сообщений: 51
24.06.2016, 07:11 #2
Создай отдельный класс а там пропиши статический метод который будет вызываться с нужными параметрами. Например:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Class Question{
    public static void insert(SQLiteDatabase db){
        ContentValues contentValues = new ContentValues();
            contentValues.put(Db.KEY_ID, 1);
            contentValues.put(Db.KEY_QUESTION, "What is your name?");
            contentValues.put(Db.KEY_RESPONSE_OPTION1, "Vasya");
            contentValues.put(Db.KEY_RESPONSE_OPTION2, "Petya");
            contentValues.put(Db.KEY_RESPONSE_OPTION3, "Kolya");
            contentValues.put(Db.KEY_RESPONSE_OPTION4, "Artiom");
            contentValues.put(Db.KEY_CORRECT_ANSWER, "Artiom");
            db.insert(Db.TABLE_QUESTIONS, null, contentValues);
            
            contentValues.put(Db.KEY_ID, 2);
            // ------------------------------
            // ------------------------------
            // ------------------------------
            // ------------------------------
            db.insert(Db.TABLE_QUESTIONS, null, contentValues);
  
}
}
и просто вызови его в активити
Java
1
2
3
db = new Db(this);
        SQLiteDatabase database = db.getWritableDatabase();
        Question.insert(database);
Хотя все строки, желательно еще занести в файл ресурсов. Если в ресурсах создать массив с вопросами, то можно одним циклом заполнять базу данных из ресурсов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2016, 07:11
Привет! Вот еще темы с ответами:

Как подключить SQL server к android studio? - Программирование Android
Как подключить SQL server к android studio через интернет???!

Где пункт меню File -> Settings Version -> Control -> Git в Android Studio - Программирование Android
Доброго дня. Не могу найти Git у себя в настройках Android Studio 2.2.1 В системе установлен Git for Windows 2.10.1, в консоле...

Не отображает элементы при запуске на эмуляторе. Android Studio - Программирование Android
Подскажите, из-за чего может быть проблема Имеются две активности Empty и Navigation Drawer Activity Все стандартно На первой есть...

Genymotion android studio при запуске проекта все элементы перемещаются в левый верхний угол - Программирование Android
Здравствуйте! При запуске приложения на эмуляторе все элементы оказываются в верхнем левом углу в одной куче, но во вкладке "Design"...


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

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

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