Android Генерация кода аннотации - Android Классы - PullRequest
3 голосов
/ 21 февраля 2020

Когда я начал создавать свою первую аннотацию генерации кода, я обнаружил, что не могу сгенерировать классы Android, такие как SharedPreferences, так как я начинаю с модуля Java Library для расширения AbstractProcessor. Я использую kotlinpoet для создания моего класса, но мне нужно создать свойство типа SharedPreferences.Editor, которое, похоже, не поддерживается. Я пытаюсь что-то вроде следующего:

val editorProperty = PropertySpec.builder("editor", android.content.SharedPreferences.Editor)

, но это не удается, так как пакет android недоступен. Кто-нибудь знает обходной путь для этого или это просто невозможно?

1 Ответ

2 голосов
/ 21 февраля 2020

Вы можете просто использовать

PropertySpec.builder("editor",ClassName("android.content", "SharedPreferences.Editor"))

как kotlin Поэт до c говорит - Type names are dumb identifiers only and do not model the values they name.

...