Можем либо withcontext либо suspend функцию высшего порядка thread{}, я прав? А вообще вопрос касался этого предложения: "О том, как в корутине выполнять синхронный код так, чтобы не блокировать поток ...
Подскажи, о каком именно предложении в уроке идет речь, чтобы мне точно понимать. suspendCoroutine сам по себе не блокирует поток. В нем мы не должны писать блокирующий код. Можно только асинхронный с ...
(context.applicationContext as TaskComponentProvider) Вот application могу представить как TaskComponentProvider, но applicationContext хоть убей никак. Может в котлине какое-то отличие есть, тк ооп учил ...
The fragment will receive a TaskComponentDependenciesProvider object via context, which will provide a TaskComponentDependencies object. And under the hood, just App will provide AppComponent.
Давайте усложним создание объектов с точки зрения даггера. Добавим использование объекта Context.
Представим, что мы поменяли реализацию БД, и теперь нам нужен Context, чтобы создать объект ...
В этом уроке:
- разбираемся в коде урока 21 - теория по Intent и Intent Filter - немного о Context
На прошлом уроке (№ 21) мы создали приложение, которое содержит два Activity. Напомню, что для ...
... в том, что Database не знал, что получил App. Он думал, что работает с Context.
Урок 5 Когда компонент создает объект, он должен знать класс не только этого объекта, но и всех других, который используются ...
... fun create(@BindsInstance context: Context): AppComponent
}
}
Этот компонент умеет создавать Database, поэтому он справится с задачами TaskComponentDependencies.
Прописываем интерфейс ...
... interface AppComponentFactory {
fun create(@BindsInstance context: Context): AppComponent
}
}
Т.к. создание объектов TaskRepository и TaskApi переехало в сабкомпонент, то из компонента ...
... FileManager()
}
Попробуем использовать FileManager в классе Database:
Database.kt (:data)
class Database(
private val context: Context,
private val fileManager: FileManager
) ...