07
Мар
2021

Как пропустить context в класс RoomDatabase.Callback в абстрактном классе чтобы оттуда получить доступ к Стрингам?

Подскажите почему я не могу вызвать в RoomDatabase.Callback классе Database стринговое значение из Resources?? Как я понимаю нужен context, но я не пойму как его запихнуть в КолБэк.

Подскажите пожалуйста

@Database(entities = {Word.class}, version = 1, exportSchema = false)
public abstract class WordDatabase extends RoomDatabase {

    public abstract WordDao dao();

    private static volatile WordDatabase INSTANCE;
    public static final int NUMBER_OF_THREADS = 4;
    static final ExecutorService databaseWriteExecutor = Executors.newFixedThreadPool(NUMBER_OF_THREADS);

    static WordDatabase getDatabase(final Context context) {
        if (INSTANCE == null) {
            synchronized (WordDatabase.class) {
                if (INSTANCE == null) {
                    INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
                            WordDatabase.class, "word_database")
                            .addCallback(sRoomDatabaseCallback)
                            .build();
                }
            }
        }
        return INSTANCE;
    }



    private static RoomDatabase.Callback sRoomDatabaseCallback = new RoomDatabase.Callback() {
        @Override
        public void onCreate(@NonNull SupportSQLiteDatabase db) {
            databaseWriteExecutor.execute(() -> {
                WordDao dao = INSTANCE.dao();
                dao.deleteAll();

                Word word;

                word = new Word(getResources.getString(R.string.app_name), "perevod slova", 1); dao.insert(word); // HERE the "getResources" command is unavailable.
                });
            }
        };
    }

Источник: https://ru.stackoverflow.com/questions/1252627/%D0%9A%D0%B0%D0%BA-%D0%BF%D1%80%D0%BE%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C-context-%D0%B2-%D0%BA%D0%BB%D0%B0%D1%81%D1%81-roomdatabase-callback-%D0%B2-%D0%B0%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%82%D0%BD%D0%BE%D0%BC-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B5-%D1%87%D1%82%D0%BE%D0%B1%D1%8B

Тебе может это понравится...

Добавить комментарий