安卓开发---写项目的注意事项

架构设计

采用分层架构:清晰分离UI、Domain、Data层

模块化拆分:按功能拆分为独立模块,提高编译速度和团队协作效率

避免内存泄漏,图片加载优化:Glide/Picasso的合理配置,生命周期感知

项目架构

在 Android 开发中,资源文件(colors、dimens、strings、styles)是应用设计和多语言/多设备适配的核心工具。在安卓开发中Value文件夹下colors,dimens,strings,styles的作用

colors.xml(颜色资源)​

统一管理颜色:避免硬编码颜色值

dimens.xml(尺寸资源)

适配不同屏幕:分离尺寸定义与布局文件

strings.xml(字符串资源)

避免硬编码文本

styles.xml(样式资源)​

统一按钮、文本等控件的视觉风格

menu存放项目菜单菜单

mipmap专门放图片,系统级优化:自动适配不同屏幕密度,避免图标模糊

res/

mipmap-ldpi/ # 低密度(已废弃)

mipmap-mdpi/ # 中等密度

mipmap-hdpi/ # 高密度

mipmap-xhdpi/ # 超高密度

mipmap-xxhdpi/ # 超超高密度

mipmap-xxxhdpi/ # 最高密度(主要用于应用商店展示)

mipmap-anydpi/ # 矢量图标(Android 8.0+)

drawable通用图形资源​

存放所有非图标图形资源:

按钮背景、界面装饰元素、状态选择器(如按下状态)、矢量图形(SVG转换的XML)

assets资产文件

大量文件/文件夹结构,需文件名路径访问

raw原始文件

通过R资源ID访问,文件会被原样打包(不编译),适合音频、视频、数据库等二进制文件,一般用于小文件

MyApplication类

在AndroidManifest.xml里面的application里面加上android:name=".MyApplication"。告诉系统MyApplication是应用的全局入口点,继承自 android.app.Application它会在应用启动时最先初始化

Caches

caches类是一个轻量级的数据持久化管理工具,封装成一个工具类有利于所有SharedPreferences操作自动处理线程同步,降低程序的耦合性。

build.gradle.kts用来放置依赖

AndroidManifest.xml

用来注册四大组件,和添加声明权限。

活动的生存周期

碎片的声明周期

服务的声明周期

相关推荐
千里马学框架1 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台1 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone1 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc1 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo1 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077001 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼1 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
AFinalStone1 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen1 天前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone1 天前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui