使用Android架构模板

Posted Calvin880828

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Android架构模板相关的知识,希望对你有一定的参考价值。

使用android架构模板

项目介绍

为了方便开发者引入最新的Android架构组建进行开发,Google官方给我们引入了一个架构模板,方便我们快速进入开发。

github地址:
https://github.com/android/architecture-templates


该模板遵循官方架构指南
https://developer.android.com/topic/architecture/recommendations

这个模板包含了下面常用的组件

  • Room Database

https://developer.android.com/training/data-storage/room

  • Dependency injection with Hilt

https://developer.android.com/training/dependency-injection/hilt-android

  • Jetpack ViewModel

https://developer.android.com/topic/libraries/architecture/viewmodel

  • UI using Jetpack Compose and Material3

https://developer.android.com/jetpack/compose
https://developer.android.com/jetpack/androidx/releases/compose-material3

  • Jetpack Navigation

https://developer.android.com/jetpack/compose/navigation

  • Reactive data layer

https://developer.android.com/topic/architecture/data-layer

  • Kotlin Coroutines and Flow

https://developer.android.com/kotlin/coroutines

  • Unit tests

https://developer.android.com/training/testing/local-tests

  • UI tests using fake data with Hilt

https://developer.android.com/jetpack/compose/testing

  • KTS gradle files

https://docs.gradle.org/current/userguide/kotlin_dsl.html

  • Version catalog

https://docs.gradle.org/current/userguide/platforms.html

  • A simple UI that shows a list of saved items and lets the user save new ones.

分支

现在存储库包含两个模板分支:

base— 反应式架构、Compose、数据库、单模块
multimodule— 在多个模块中实现的基本模板

要求

该项目包括一个customizer.sh重命名文件和包并清理所有内容的脚本。它适用于Linux和macOS(使用 bash 4 及更高版本)。在 Windows 上,您可以使用适用于 Linux 的 Windows 子系统。如果您发现脚本有任何兼容性问题,请提交错误。

用法

  1. 克隆存储库,可以选择一个分支。例如,检查base分支:
git clone https://github.com/android/architecture-templates.git --branch base
  1. 运行定制程序脚本:
bash customizer.sh your.package.name DataItemType [YourAppName]
  • your.package.name是您的应用 ID(应为小写)
  • DataItemType用于主应用实体、公开状态和数据库实体的名称(应为 PascalCase)。
    或者,您可以为您的应用程序指定一个名称(应该是 PascalCase)。
    这里可以理解为主业务实体,例如Contacts、Game、Moive等。
    注意:定制程序脚本需要 bash 4 及更高版本。
    在macos你应该安装bash最新版本:
brew install bash

50架构实战:架构设计文档模板

备选方案模板
1. 需求介绍

[需求介绍主要描述需求的背景、目标、范围等]

2. 需求分析[5W1H8C]

Who:需求利益干系人。
消息队列系统主要是业务子系统来使用,子系统发送消息或者接收消息。
When:需求使用时间。
当子系统需要发送异步通知的时候,需要使用消息队列系统。
What:需求的产出是什么。
需要开发消息队列系统。
Where:需求的应用场景。
开发环境、测试环境、生产环境都需要部署。
Why:需求需要解决的问题(与需求背景相关)
消息队列系统将子系统解耦,将同步调用改为异步通知。

How:关键业务流程。
消息队列有两大核心功能:业务子系统发送消息给消息队列;业务子系统从消息队列获取消息。

[8C 指的是 8 个约束和限制,即 Constraints,包括性能 Performance、成本 Cost、时间 Time、可靠性 Reliability、安全性 Security、合规性 Compliance、技术性 Technology、兼容性 Compatibility]

性能:需要达到 Kafka 的性能水平。

成本:参考 XX 公司的设计方案,不超过 10 台服务器。

时间:期望 3 个月内上线第一个版本,在两个业务尝试使用。

可靠性:按照业务的要求,消息队列系统的可靠性需要达到 99.99%。

安全性:消息队列系统仅在生产环境内网使用,无需考虑网络安全;如消息中有敏感信息,消息发送方需要自行进行加密,消息队列系统本身不考虑通用的加密。

合规性:消息队列系统需要按照公司目前的 DevOps 规范进行开发。

技术性:目前团队主要研发人员是 Java,最好用 Java 开发。

兼容性:之前没有类似系统,无需考虑兼容性。

3. 复杂度分析


架构模板













以上是关于使用Android架构模板的主要内容,如果未能解决你的问题,请参考以下文章

用Kotlin创建第一个Android项目(KAD 01)

Android:Kotlin详细入门学习指南-基础语法

Android:Kotlin详细入门学习指南-高阶函数-基础语法

Android:Kotlin详细入门学习指南-高阶函数-基础语法

大事件:Kotlin 成了 Android 开发的官方语言

Android:Kotlin详细入门学习指南-类和对象(上)-基础语法