Android 项目必备(四十五)-->2023 年如何构建 Android 应用程序

Android 是什么

Android 是一种基于 Linux 内核并由 Google 开发的开源操作系统。它用于各种设备包括智能手机、平板电脑、电视和智能手表。

目前,Android 是世界上移动设备使用最多的操作系统; 根据 statcounter 的一份最近 12 个月的样本报告;Android 的市场份额为71.96%。

Kotlin

Kotlin 是由 JetBrains 开发的一种编程语言。由谷歌推荐,谷歌于 2017 年 5 月正式宣布 Kotlin 作为 Android 开发语言。它是一种与 Java 兼容并可以运行在 JVM 上的现代编程语言这使得它在 Android 应用程序开发中的采用速度非常快。
在这里插入图片描述
不管你是不是 Android 新手,你都应该把 Kotlin 作为你的首选,不要逆水行舟 Google 在 Google I/O 2019上宣布了这种做法。有了Kotlin,你将可以使用所有现代语言的特性包括协程的强大功能和使用为 Android 生态系统开发的现代库。

学习资料 :

Jetpack Compose

Jetpack Compose 是 Android 推荐的用于构建原生 UI 的现代工具包。它简化并加速了 Android 上的 UI 开发。
在这里插入图片描述
Jetpack Compose 是 Android Jetpack 库的一部分。使用 Kotlin 编程语言轻松创建原生用户界面。此外,它还与其他 Android Jetpack 库,例如 LiveData 和 ViewModel集成,以便更轻松地构建响应式和可维护的 Android 应用程序。

一些主要功能包括:

  1. 声明式用户界面;
  2. 可定制的小部件;
  3. 易于与现有代码集成;
  4. 实时预览;
  5. 改进的性能。

学习资料:

Material Design

Material Design 是一个适应性强的指南、组件和工具系统。支持用户界面设计的最佳实践。在开源代码的支持下,Material Design 简化了设计人员和开发人员之间的协作,并帮助团队快速构建精美的产品。
在这里插入图片描述
学习资料:

Clean Arch

它基于通过将软件划分为层来实现职责分离。
在这里插入图片描述

特征

  1. 独立于框架
  2. 可测试
  3. 独立于用户界面
  4. 独立于数据库
  5. 独立于任何外部机构
  6. 依赖规则

Android 中的 Clean Arch
在这里插入图片描述

学习资料:

Presentation Layer 的架构模式

架构模式是一种更高级别的策略。旨在帮助设计软件架构,其特点是在可重用框架内为常见架构问题提供解决方案。架构模式类似于设计模式,但它们的规模更大并且解决更多的全局问题。例如系统的整体结构、组件之间的关系以及数据的管理方式。

  • MVC
    刚接触编程,相信第一个遇到的框架就是 MVC ,不管你经意还是不经意写出来的 Android 程序他就是 MVC 框架,只不过是 MVC 框架的某一个变种(最混乱的那种)。Android 系统本身就根据 MVC 建造的。

mvc.jpg

  • MVP
    MVP 全称:Model-View-Presenter ;MVP 是从经典的模式 MVC 演变而来,它们的基本思想有相通的地方:Controller/Presenter 负责逻辑的处理,Model 提供数据,View 负责显示。
    mvp.jpg

  • MVVM
    MVVM 是 Model-View-ViewModel 的简写。它本质上就是 MVC 的改进版。MVVM 就是将其中的 View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。
    MVVM 模式中,一个 ViewModel 和一个 View 匹配,它没有 MVP 中的 IView 接口,而是完全的和 View 绑定,所有 View 中的修改变化,都会自动更新到 ViewModel 中,同时 ViewModel 的任何变化也会自动同步到 View 上显示。
    在 Android 中 DataBinding 帮助我们实现 MVVM,在 XML 进行数据绑定,增加了 XML 的重量,不再像以前那样仅仅是布局,均衡了各部分的职责。
    MVVM.png

  • MVI
    MVI 与 MVVM 很相似,其借鉴了前端框架的思想,更加强调数据的单向流动和唯一数据源,架构图如下所示
    在这里插入图片描述

不管是 MVC、MVP、MVVM 还是 MVI,主要就是 View 和 Model 之间的交互关系不同

  • MVI 的核心是 数据的单向流动
  • MVI 使用kotlin flow可以很方便的实现 响应式编程
  • MVI 整个 View 只依赖一个 State 刷新,这个 State 就是 唯一可信数据源

学习资料:

依赖注入

依赖注入是一种软件设计模式,它允许客户端从外部源获取其依赖项,而不是自己创建它们。它是一种用于在对象及其依赖项之间实现控制反转 (IoC) 的技术。

学习资料:

模块化

模块化是一种软件设计技术,它允许您将应用程序划分为独立的模块,每个模块都有自己的功能和责任。

模块化的好处:

  • 可重用性
  • 严格的可见性控制
  • 可定制的交付
  • 可扩展性
  • 易于维护
  • 易于测试
  • 架构改进
  • 改善协作
  • 构建时间

网络

序列化

图片加载

react及线程管理

本地存储

测试

自适应布局

在这里插入图片描述

性能优化

在这里插入图片描述

应用内更新

在这里插入图片描述

应用内评论

在这里插入图片描述

辅助功能

在这里插入图片描述

安全

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/duoduo_11011/article/details/130392268