Skip to content

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

@anton6tak

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) было бы хорошо увидеть конкретный пример использования, как выглядит реальный кейс (речь о, например, скриншоте какого-то экрана, где используется либа)

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