Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. package com.sheremet.quizapp.model;
  2.  
  3. import android.arch.persistence.db.SupportSQLiteDatabase;
  4. import android.arch.persistence.room.Database;
  5. import android.arch.persistence.room.Room;
  6. import android.arch.persistence.room.RoomDatabase;
  7. import android.content.Context;
  8. import android.support.annotation.NonNull;
  9. import android.util.Log;
  10.  
  11. @Database(entities = {Quiz.class, Question.class, Answer.class},
  12. version = 1,
  13. exportSchema = false)
  14. public abstract class AppDatabase extends RoomDatabase {
  15.  
  16. private static String logTag = AppDatabase.class.getSimpleName();
  17.  
  18. private static AppDatabase instance;
  19.  
  20. public static AppDatabase getInstance(Context context) {
  21. if (instance == null) {
  22. instance = build(context);
  23. }
  24. return instance;
  25. }
  26.  
  27. private static AppDatabase build(final Context context) {
  28. return Room.databaseBuilder(context, AppDatabase.class, "pew2")
  29. .allowMainThreadQueries()
  30. .addCallback(new Callback() {
  31. @Override
  32. public void onCreate(@NonNull SupportSQLiteDatabase db) {
  33. super.onCreate(db);
  34.  
  35. Log.d(logTag, "Database created");
  36.  
  37. final Quiz[] quizzes = new Quiz[] {
  38. new Quiz("Some quiz", false),
  39. new Quiz("Other quiz", false),
  40. new Quiz("Completed quiz", true),
  41. };
  42.  
  43. new Thread(new Runnable() {
  44. @Override
  45. public void run() {
  46. getInstance(context).getQuizDao().insertAll(quizzes);
  47. }
  48. }).start();
  49. }
  50.  
  51. @Override
  52. public void onOpen(@NonNull SupportSQLiteDatabase db) {
  53. super.onOpen(db);
  54. }
  55. })
  56. .build();
  57. }
  58.  
  59. public abstract QuizDao getQuizDao();
  60.  
  61. public abstract QuestionDao getQuestionDao();
  62.  
  63. public abstract AnswerDao getAnswerDao();
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement