Skip to content

IceRock KMM Learning -> Library -> MokoLibs addition #29

Description

@anton6tak
  • moko-paging: просмотр примера, скачивание, тест, добавление в свою вьюмодель, разбираться с ld, которые используются в примере. Довольно много инфы для усваивания (мб что-то где-то можно подсократить)
  • moko-units: Не очень понятно, зачем нужны UnitFactory и TableUnitIte.
  • moko-units: Как переопределять TableUnitItem.itemId - не сразу понимаешь что это может быть как itemViewType и как itemUniqueId и как itemContentHash. Когда использовать TableUnitItem и CollectionUnitItem или вообще CustomItem без moko-units
  • Сначала надо добавить Recycler View с adapter, сделанным с помощью moko-units, потом уже делать Pagination.
  • Следуя примеру, дошел до места, где происходит создаение UnitFactoryImpl: unitFactory, там используется переиспользование методов, в которых возвращаемым типом является TableUnitItem. Долго буксовал с тем, что не понимал, как получить экземляры этих типов. Скачал либу, начал ковырять пример, разбираться, где хранятся классы. Они генерятся moko-units в android-app, через некоторое время, понял что добавил в mpp/androidMain/res/layout - туда разметку header и элементов засунул. но генерации в mpp нет. Когда перенес в android-app свои файлы разметки - moko сгенерил units, все получилось.
  • Работая с moko-permissions, натолкнулся на viewModelScope, он есть у viewmodel из moko-mvvm. Так вот непонятно, какой диспетчер по умолчанию используется в этом scope.
  • При вызове метода provide permissions постоянно вылетала ошибка: java.lang.IllegalStateException: can't resolve permission without active window. Оказалось, я неправильно инициализировал permission provider. По примеру проинициализировал его, теперь работает, не вылетает (Может быть, следует это место прописать детальнее, чтобы ни у кого в будущем не возникало тут проблем)
  • Чтобы в UnitFactory передавать тип Color и на нативе получать Color нужно подключить moko-graphics
  • К некоторым библиотекам (например paging, units) было бы хорошо увидеть конкретный пример использования, как выглядит реальный кейс (речь о, например, скриншоте какого-то экрана, где используется либа)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions