Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.sheremet.quizapp.model;
- import android.arch.persistence.db.SupportSQLiteDatabase;
- import android.arch.persistence.room.Database;
- import android.arch.persistence.room.Room;
- import android.arch.persistence.room.RoomDatabase;
- import android.content.Context;
- import android.support.annotation.NonNull;
- import android.util.Log;
- @Database(entities = {Quiz.class, Question.class, Answer.class},
- version = 1,
- exportSchema = false)
- public abstract class AppDatabase extends RoomDatabase {
- private static String logTag = AppDatabase.class.getSimpleName();
- private static AppDatabase instance;
- public static AppDatabase getInstance(Context context) {
- if (instance == null) {
- instance = build(context);
- }
- return instance;
- }
- private static AppDatabase build(final Context context) {
- return Room.databaseBuilder(context, AppDatabase.class, "pew2")
- .allowMainThreadQueries()
- .addCallback(new Callback() {
- @Override
- public void onCreate(@NonNull SupportSQLiteDatabase db) {
- super.onCreate(db);
- Log.d(logTag, "Database created");
- final Quiz[] quizzes = new Quiz[] {
- new Quiz("Some quiz", false),
- new Quiz("Other quiz", false),
- new Quiz("Completed quiz", true),
- };
- new Thread(new Runnable() {
- @Override
- public void run() {
- getInstance(context).getQuizDao().insertAll(quizzes);
- }
- }).start();
- }
- @Override
- public void onOpen(@NonNull SupportSQLiteDatabase db) {
- super.onOpen(db);
- }
- })
- .build();
- }
- public abstract QuizDao getQuizDao();
- public abstract QuestionDao getQuestionDao();
- public abstract AnswerDao getAnswerDao();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement