Почему функция Room.databaseBuilder требует контекста в качестве параметра в базе данных Room? - PullRequest
0 голосов
/ 11 марта 2020
companion object {
        @Volatile
        private lateinit var instance: ExampleDatabase

        fun getInstance(context: Context): ExampleDatabase {
            synchronized(this) {
                if(!::instance.isInitialized) {
                    instance = Room.databaseBuilder(
                        context.applicationContext,  // Why does this require context?
                        LottoDatabase::class.java,
                        "lotto_database"
                    )
                        .fallbackToDestructiveMigration()
                        .build()
                }
                return instance
            }
        }
    }

Приведенный выше код является основным способом создания синглтона базы данных комнаты. Интересно, почему функция Room.databaseBuilder требует контекст в качестве параметра. Я знаю, что этот вопрос может быть глупым, потому что я не понимаю контекста в Android.

  1. Какой аргумент я должен передать в этом параметре?
  2. Что может быть другим, если Я передаю в контексте деятельности или приложения?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...