使用Android架构模板

使用Android架构模板

项目介绍

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

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

aac-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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/2357.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小白怎么系统的自学计算机科学和黑客技术?

我把csdn上有关自学网络安全、零基础入门网络安全的回答大致都浏览了一遍,最大的感受就是“太复杂”,新手看了之后只会更迷茫,还是不知道如何去做,所以站在新手的角度去写回答,应该把回答写的简单易懂,“傻…

Maven依赖加载不进来? 依赖加载失败? 你值得掌握如何排查的方法

本文目录前言1. 确认是否添加了spring-boot-starter-web依赖2. 如果添加了spring-boot-starter-web依赖,刷新以后还飘红?3. 确认父项目加spring-boot-dependencies了吗?3.1 如果是因为没加spring-boot-dependencies3.2 如果已经加了spring-bo…

22张图带你了解IP地址有什么作用

了解IP地址 1、IP地址的格式 在IP协议的报文中,可以得知IP地址是有32个比特,IP地址在计算机中是以二进制的方式处理的,如果全部以二进制的形式来表示,使用跟表达都非常的困难,所以为了人类方便记忆,采用了…

TCP/UDP协议

写在前面 下面我们继续说我们传输层的协议,这个协议我们重点看TCP协议,注意TCP是我们经常使用的额,而且也是我们在面试最容易被问到的,所以我们要重点分析,下面是一张图,让我们回忆一下我们知识点到协议的哪一层了. 再谈端口号 我们知道端口号(Port)标识了一个主机上进行通信的…

字符串的反转以及巧用反转 ------关于反转,看这一篇就足够了

目录 一.本文介绍 二.反转字符串 1.题目描述 2.问题分析 3.代码实现 三.反转字符串 II 1.题目描述 2.问题分析 3.代码实现 三.反转字符串中的单词 I 1.题目描述 2.问题分析 3.代码实现 四.反转字符串中的单词 III 1.题目描述 2.问题分析 3.代码实现 五.仅仅反…

【Python入门第三十五天】Python丨文件打开

在服务器上打开文件 假设我们有以下文件,位于与 Python 相同的文件夹中。 demofile.txt Hello! Welcome to demofile.txt This file is for testing purposes. Good Luck!如需打开文件,请使用内建的 open() 函数。 open() 函数返回文件对象&#xff…

Linux驱动开发——串口设备驱动

Linux驱动开发——串口设备驱动 一、串口简介 串口全称叫做串行接口,通常也叫做 COM 接口,串行接口指的是数据一个一个的顺序传输,通信线路简单。使用两条线即可实现双向通信,一条用于发送,一条用于接收。串口通信距…

基于uniapp+u-view开发小程序【技术点整理】

一、上传图片 1.实现效果&#xff1a; 2.具体代码&#xff1a; <template><view><view class"imgbox"><view>职业证书</view><!-- 上传图片 --><u-upload :fileList"fileList1" afterRead"afterRead"…

C语言蓝桥杯刷题:修剪灌木

题目链接 解题思路&#xff1a; 本题需要注意的是树是白天长&#xff0c;然后爱丽丝傍晩对某棵树进行修剪&#xff0c;也就是说树高度是可能在白天达到最大值而在傍晩变成0。我一开始也有一个误区&#xff0c;以为是要修剪的那棵树当天就变成0而不能生长&#xff0c;其实是先…

vue后台管理系统

后面可参考下&#xff1a;vue系列&#xff08;三&#xff09;——手把手教你搭建一个vue3管理后台基础模板 以下代码项目gitee地址 文章目录1. 初始化前端项目初始化项目添加加载效果配置 vite.config.js2. 使用路由安装路由配置路由配置别名和跳转安装pathvite.config.jsjsco…

C++类和对象(上篇)

目录 1.类的定义 2.类的访问限定符及封装 2.1类的访问限定符 2.2封装 3.类的作用域 4.类的实例化 5.类的大小 6.this 指针 1.类的定义 class className {// 类体&#xff1a;由成员函数和成员变量组成}; // 一定要注意后面的分号 class为定义类的关键字&#xff0c;Clas…

Golang每日一练(leetDay0012)

目录 34. 查找元素首末位置 Find-first-and-last-position-of-element-in-sorted-array &#x1f31f;&#x1f31f; 35. 搜索插入位置 Search Insert Position &#x1f31f; 36. 有效的数独 Valid Sudoku &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 …

VsCode SSH远程连接服务器【内网穿透公网连接】

文章目录1.前言2.VS code的安装和设置2.1 VS code的下载安装2.2 OpenSSH的启用2.3 为VS code配置ssh2.4 局域网内测试VS code的ssh连接2.5 Cpolar下载安装3.Cpolar端口设置3.1 Cpolar云端设置3.2 Cpolar本地设置4.公网访问测试5.结语1.前言 记得笔者小时候看电视&#xff0c;看…

【安全与风险】密码学介绍

密码学介绍密码历史密码换位&#xff08;Transposition&#xff09;与置换&#xff08;Substitution&#xff09;替换密码&#xff08;Substiution Cipher&#xff09;凯撒密码 &#xff08;100BC 公元前100年&#xff09;移位密码破坏替换密码维吉尼亚密码现代密码学核心原理从…

TCP三次握手/四次挥手

TCP三次握手 任何基于TCP的应用&#xff0c;在发送数据之前&#xff0c;都需要由TCP进行“三次握手”建立连接示意图 第一次握手&#xff1a;客户端PC发送一个SYN位置1&#xff08;SYN1代表请求服务端建立连接&#xff09;的TCP报文发送给要建立TCP连接的Server&#xff0c;此…

23种设计模式

参考链接&#xff1a; 【狂神说Java】通俗易懂的23种设计模式教学&#xff08;停更&#xff09;_哔哩哔哩_bilibili 23种设计模式【狂神说】_狂神说设计模式_miss_you1213的博客-CSDN博客 1. 单例模式 参考链接&#xff1a; 【狂神说Java】单例模式-23种设计模式系列_哔哩哔哩…

Linux(网络基础---网络层)

文章目录0. 前言1. IP协议1-1 基本概念1-2 协议头格式2. 网段划分2-1 基本概念2.2 IP地址分五大类2-3 特殊的IP地址2-4 IP地址的数量限制2-5 私有IP地址和公网IP地址2-6 路由0. 前言 前面我们讲了&#xff0c;应用层、传输层&#xff1b;本章讲网络层。 应用层&#xff1a;我…

GPT-4是个编程高手,真服了!

上周给大家发了一个GPT-4教数学的介绍&#xff0c;很多人都被震撼了&#xff0c;感觉有可能在教育行业引发革命。它在编程领域表现如何&#xff1f;先不说能否替代程序员&#xff0c;这个还有待更多的测试和反馈&#xff0c;我想先试试它能不能像教数学那样教编程。我找了个Jav…

Docker的可视化界面工具

Docker的可视化界面工具1. Portainer1.1 Introduction1.1.1 Official1.2 Download And Deploy1.3 Dashboard1.3.1 Dashboard2. Shipyard2.1 Introduction2.1.1 Character2.1.2 Official2.2 Download And Deploy2.2.1 脚本下载镜像2.2.2 执行脚本2.2.2 查看下载的镜像2.3 Dashbo…

“工作三年,跳槽要求涨薪50%”,合理吗?

如果问在TI行业涨工资最快的方式是什么&#xff1f;回答最多的一定是&#xff1a;跳槽&#xff01;前段时间&#xff0c;知乎上这样一条帖子引发了不少IT圈子的朋友的讨论 &#xff0c;有网友提问 “程序员跳槽要求涨薪50%过分吗&#xff1f;”截图来源于知乎&#xff0c;如侵删…
最新文章