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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions