Android X 与架构

  • Android X 是什么?

Android X 替代了原有的支持库。Android X 的发布与 系统的发布独立开来,但也提供了向后兼容的能力。当然除了支持库之外,Android X 也包含了 Jetpack。

  • Jetpack 组件 是什么?

jetpack 是 AndroidX 组成部分,也就意味着它也是和平台接口独立开来的。独立的好处,在于可以按照自己的节奏去发版本,而不用受制于系统平台的发布。jetpack 是一套帮助你开发高质量 Android 应用的成熟解决方案,库,工具以及指导意见一应俱全。

  • Architecture components 是什么?

它是官方给出的架构设计方案,鲁棒性,可测试性,可维护性都得到了保证。同时针对 Android 中的那些痛点,给出了一些库。Data Binding — 声明式地将可观察的数据绑定到 UI 元素。Lifecycles - 管理 activity 和 fragmnet 的生命周期。LiveData - 当下层的数据库发生变化时通知视图。Navigation - 导航相关的都可以交给它。Paging - 根据数据源逐步地加载信息。Room - 流畅的 SQLite 数据库访问。ViewModel - 以对生命周期有所应对的方式管理 UI 相关的数据。 WorkManager - 管理后台任务。

  • 常见的架构原则有哪些?

关注点分离,不要把所有代码都扔在 Activity 或者 Fragment 里面。它们应该仅仅包含那么处理界面和操作系统交互的逻辑。通过模型驱动界面,其它的逻辑都应该在模型中,而这个模型的作用在于处理应用的数据,它与视图和应用组件独立开来,也就跳脱了生命周期的生老病死,管你应用组件销毁还是新建,我的数据一直在。

  • 有什么推荐的架构吗?

移动开发就是和数据打交道,不管你是本地的数据还是远程的数据都统一通过仓储区进行管理。但是存储区不直接和 Activity/Fragment 打交道。而是分离出了一个 ViewModel,由这个模型进行与视图相关的数据的管理,并且这个模型是具有生命周期感知能力的,不会傻傻地在视图已经被销毁的时候,去操作视图对象。

非典型前端coder wechat
想要随时Follow我的最新博客,可扫码关注我的公众号