Мультиплатформенный мобильный контекст Kotlin в CommonMain
Привет, в настоящее время я изучаю разработку KMM и застрял на части контекста.
Я хочу создать класс, который будет обеспечивать безопасное хранение данных. Я создал
ожидаемый менеджер классов и два
действительных менеджера классов для iOS и Android. Что касается Android, для платформы и всех других доступных инструментов требуется
Контекст.
Я хочу использовать этот
Менеджер для хранения и чтения значений в CommonMain. Однако из этой общей части проекта не предоставляется
Контекст.
Как мне этого добиться?
Это код:
ожидайте класс TokenStore(контекст: Любой) { весело getToken(): Строка? весело saveToken (токен: строка) } импортировать com.liftric.kvault.KVault фактический конструктор класса TokenStore (контекст: любой) { частное хранилище val = KVault("com.example.keystoreexample") настоящее развлечение getToken(): String? { val token = store.string("ACCOUNT_TOKEN") return if (токен != null) { println("

Токен был найден.\nЗначение: $token") жетон } еще { println("

В хранилище токенов нет токена.") нулевой } } настоящее развлечение saveToken(токен: String) { if (token == "") println("

Токен не был предоставлен.\nОстерегайтесь этого.") если (store.existsObject("ACCOUNT_TOKEN")) { valexistObject = store.string("ACCOUNT_TOKEN") print("Объект

уже находится в хранилище токенов.\nЗначение токена: $existingObject") если (store.clear()) { println("

Все значения в Token Store были удалены.") } еще { println("

Возникла проблема с удалением объектов из хранилища токенов.") } } еще { println("

Объект под этим ключом еще не сохранен в базе данных.") } if (store.set("ACCOUNT_TOKEN", токен)) { println("

Токен был добавлен в хранилище токенов.") } еще { println("

Возникла проблема с вставкой токена в хранилище токенов.") } } } импортировать android.content.Context импорт com.liftric.kvault.KVault фактический конструктор класса TokenStore (частный контекст val: Any) { частное хранилище val = KVault (контекст как контекст) настоящее развлечение getToken(): String? { val token = store.string("ACCOUNT_TOKEN") return if (токен != null) { println("

Токен был найден.\nЗначение: $token") жетон } еще { println("

В хранилище токенов нет токена.") нулевой } } настоящее развлечение saveToken(токен: String) { if (token == "") println("

Токен не был предоставлен.\nОстерегайтесь этого.") если (store.existsObject("ACCOUNT_TOKEN")) { valexistObject = store.string("ACCOUNT_TOKEN") print("Объект

уже находится в хранилище токенов.\nЗначение токена: $existingObject") если (store.clear()) { println("

Все значения в Token Store были удалены.") } еще { println("

Возникла проблема с удалением объектов из хранилища токенов.") } } еще { println("

Объект под этим ключом еще не сохранен в базе данных.") } if (store.set("ACCOUNT_TOKEN", токен)) { println("

Токен был добавлен в хранилище токенов.") } еще { println("

Возникла проблема с вставкой токена в хранилище токенов.") } } } Я хочу использовать его, например, здесь:
пакет com.example.keystoresample // CommonMain импорт TokenStore Приветствие класса { частная платформа val: Platform = getPlatform() частный val token = TokenStore(context).getToken() // Где я могу его получить? веселое приветствие(): String { return "Привет, ${platform.name}!\nЗначение токена:\n$token" } } Думаю, я многое попробовал.