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

架构设计

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

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

活动的生存周期

碎片的声明周期

服务的声明周期

相关推荐
Minilinux201814 小时前
Android系列之 屏幕触控机制(一)
android·屏幕触控·andorid touch·viewroot
冰语竹14 小时前
Android学习-随笔(安装后设置路径)
android·学习
有位神秘人15 小时前
Android中获取当前屏幕的宽高工具类
android
Yang-Never15 小时前
Open GL ES -> 应用前后台、Recent切换,SurfaceView纹理贴图闪烁问题分析解决
android·开发语言·kotlin·android studio·贴图
liujun351215915 小时前
camera开发,我对预览请求的理解
android
无法长大15 小时前
Mac M1 环境下使用 Rust Tauri 将 Vue3 项目打包成 APK 完整指南
android·前端·macos·rust·vue3·tauri·打包apk
一只程序熊15 小时前
uniappx 配置 uni.chooseLocation 地图
android·uni-app x
Yang-Never16 小时前
Android 应用启动 -> Android 多种方式启动同一进程,Application.onCreate() 会多次执行吗?
android·java·开发语言·kotlin·android studio
2501_9160088916 小时前
iOS 开发助手工具,设备信息查看、运行日志、文件管理等方面
android·ios·小程序·https·uni-app·iphone·webview
TheNextByte116 小时前
如何在Android上恢复已删除的文件
android·gitee