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

架构设计

采用分层架构:清晰分离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

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

活动的生存周期

碎片的声明周期

服务的声明周期

相关推荐
YB137512 小时前
jetpack compose 副作用 SideEffect
android·kotlin
CHB14 小时前
uni-app x 蒸汽模式 性能测试基准报告 Benchmark【Android版】
android·ios·uni-app
带娃的IT创业者15 小时前
拆掉那堵墙:LibrePods 如何让 AirPods 在 Android 上重获新生
android·开源项目·airpods·librepods·生态解锁
_阿南_17 小时前
flutter 展示的字体突然奔放了
android·flutter·ios
文人sec20 小时前
MySQL事务与索引做了什么?
android·笔记·mysql
刘洋浪子20 小时前
AndroidStudio保存日志菜单
android
朱涛的自习室20 小时前
从 Prompt 到 Graph:AI 工程的进化史
android·前端·人工智能
2501_9327502621 小时前
Android 中 Serializable 与 Parcelable 的对比与选择
android
FungLeo1 天前
Flutter 两个反直觉布局坑:ListTile 水波纹 / VerticalDivider 踩坑实录
android·flutter
157092511341 天前
ViewBinding与DataBinding区别与选型
android