我对使用Android KTX和Anko的优缺点有些困惑。因为这两个库都试图实现相同的最终目标,它们之间的界限变得有点模糊,在某些情况下,这两个库都提供了相同的功能。
如果您能帮助我澄清每个库的任务和用例,我将非常感谢。
提前致谢!
如果您能帮助我澄清每个库的任务和用例,我将非常感谢。
提前致谢!
包含自我推销: 既然你在谈论Anko,如果Anko布局引起了你的注意,但是你在使用它们时遇到了困难(特别是与自定义或第三方视图交互时),我建议你检查Splitties中的Views DSL,它比Anko布局更灵活,非常轻量级。其他模块也可能会对您感兴趣。我开始这个项目是为了利用Kotlin功能在我的工作和家庭Android项目中。
虽然你没有询问,但这是我的Anko协程看法:
我觉得bg { … }
扩展很令人困惑。我更喜欢使用带有Android构件的kotlinx.coroutines,使用launch
、withContext
等,以及Dispatchers.IO
。
然而,Anko协程监听器(例如可以挂起的onClick
)在我看来并不是一个坏主意。
FrameLayout
子类),然后可以在xml中预览它。这就是我在Splitties Views DSL中所做的。如果您需要更深入的建议,可以在Kotlin的Slack或Twitter DM上向我提问。 - Louis CADAnko是由JetBrains开发的Kotlin库。它与Android KTX共享目标,旨在使Android开发人员的生活更轻松,并使您的代码更易读和使用。Android KTX和Anko类似但又不完全相同。
Anko和Android KTX之间的区别
它们有共同的目标,但考虑到不同的范围。KTX的任务是为Kotlin用户带来惯用的API。KTX不打算向现有的Android API添加新功能。Anko的范围更广,这使得它具有创新和创建新功能的灵活性。
何时决定使用Anko或Android KTX
一般来说,Anko和Android KTX涵盖Android API的不同部分,您可以在项目中同时使用两者。单独调查每个库并在项目中根据需要使用即可!