Android开发工作经历整理

一 车载软件方向

车载空调app开发

1功能介绍

车载空调屏幕系统通过 触控屏+智能交互 方式,提高驾驶员和乘客的操作便捷性,同时与整车系统深度集成,实现更智能的控温体验。

1.1空调页面

包含以下功能:

  1. 背景高斯模糊处理
  2. 前排空调控件:前排空调开关,自动,AC,急速制冷,内外循环,前挡风除霜,后挡风加热,对窗吹,对人吹,避人吹,同步,出风模式(对人吹,避人吹,自由风),风扇挡位
  3. 后排空调控件:后排空调开关,自动,对人吹,避人吹,文档调节,风量挡位调节
  4. 出风模式实现
  5. 按钮点击热区
  6. 页面下滑回弹
  7. 8s无操作页面隐藏
  8. 空调,座椅,香氛模块点击切换以及滑动切换


1.2座椅页面

包含以下功能:

  1. 座椅通风,加热,按摩模块切换
  2. 通风,加热,按钮强度,按摩区域切换
  3. 按摩区域动态显示与隐藏展示
  4. ui显示回弹



1.3香氛页面

包含以下功能:

  1. 实现以下功能:
  2. 香氛香型切换
  3. 香氛浓度切换
  4. 每个香型剩余量展示
  5. 背景图展示


2 使用的技术

2.1 编程语言与版本

  • Kotlin:项目主要开发语言,利用其空安全、协程、扩展函数等特性提高开发效率
  • Android SDK:针对车载Android系统开发

2.2 构建工具

  • Gradle:使用Kotlin DSL (build.gradle.kts) 管理项目依赖和构建配置
  • Android Gradle Plugin:支持Android特有的构建功能

2.3 MVVM架构

  • Model-View-ViewModel:采用Google推荐的MVVM架构模式
  • 关注点分离:UI逻辑与业务逻辑分离,提高代码可维护性

2.4 分层架构

  • UI层:Fragment/Activity负责界面展示和用户交互
  • ViewModel层:处理业务逻辑,管理UI状态
  • Repository层:管理数据来源,提供统一的数据访问接口
  • Manager层:处理与底层系统的交互

2.5 Flow API

  • Kotlin Flow:主要的响应式数据流处理方案
  • StateFlow:用于管理UI状态的热流实现
  • Flow操作符:使用distinctUntilChanged、combine、flatMapLatest等操作符优化数据流

2.6 Jetpack组件

  • ViewModel:管理UI相关数据,在配置变更时保持数据一致性
  • DataBinding:实现数据与UI的双向绑定,减少样板代码

2.7 Kotlin协程

  • CoroutineScope:结构化并发管理
  • Dispatchers:多线程调度(Main、IO等)
  • Suspend函数:非阻塞式异步编程

2.8 自定义并发工具

  • LastClickDebounceManager:防抖处理,优化用户快速连续操作
  • HandlerThread:后台线程处理,避免阻塞主线程

2.9 UI组件

  • AndroidX:使用最新的AndroidX库组件
  • ViewBinding/DataBinding:类型安全的视图绑定

2.10 图片加载与缓存

  • Glide:高效的图片加载库
  • LruCache:自定义的内存缓存实现(ImageCache类)

2.11 布局技术

  • XML布局:使用传统XML定义UI布局
  • 使用ViewStub:根据项目文档显示有ViewStub使用调研

2.12 CarService API

  • android.car库:与车载系统交互的官方API
  • CarPropertyManager:访问和控制汽车属性

2.13 CAN信号通信

  • DDSCanBridge:CAN信号桥接库,用于与汽车CAN总线通信
  • 自定义信号封装:针对不同功能模块(空调、座椅、香氛等)的信号封装

2.14 日志系统

  • Logger:自定义日志工具类
  • Timber:可选的日志库(项目文档中有提及)

2.15 错误处理

  • GlobalTryCatch:全局异常捕获和日志记录工具
  • SafeExecute:安全执行机制,防止异常导致应用崩溃

2.16 缓存与存储

  • SharedPreferences:通过PrefsManager进行管理
  • 内存缓存:针对不同类型数据的专用缓存实现

2.17 数据优化

  • 防抖机制:防止频繁操作导致性能问题
  • 信号缓存:减少重复查询和处理

2.18 UI优化

  • 延迟加载:按需加载UI组件和资源
  • 批量更新:优化UI刷新,减少绘制次数

2.19 核心库

  • android.car.jar:Android车载API
  • DDSCanBridge-v3.10.aar:CAN总线通信库
  • viewcover-release.aar:视图覆盖相关的UI库

2.20 支持库

  • AndroidX:Android支持库
  • Kotlin Coroutines:协程库

2.21 设计模式

  • 单例模式:大量使用object声明实现单例(如各种Manager类)
  • 观察者模式:实现状态监听和通知机制

2.22 编码规范

  • Kotlin编码规范:使用Kotlin的现代语法特性
  • 文档化:通过README文件记录设计决策和实现细节
相关推荐
洞窝技术7 小时前
前端开发APP之跨平台开发(ReactNative0.74.5)
android·react native·ios
qq_717410019 小时前
FAQ09934:相机prevew时候出现水印问题
android
望风的懒蜗牛9 小时前
android studio开发UniComponent<SurfaceView>组件
android·uni-app·android studio
奔跑吧 android10 小时前
【android bluetooth 协议分析 14】【HFP详解 2】【蓝牙电话绝对音量详解】
android·bluetooth·hfp·bt·ag
2501_9160074710 小时前
Fastlane 结合 开心上架 命令行版本实现跨平台上传发布 iOS App
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张11 小时前
iOS 26 内存占用监控 多工具协同下的性能稳定性分析实战
android·macos·ios·小程序·uni-app·cocoa·iphone
奔跑中的蜗牛66611 小时前
一次崩溃率暴涨 10 倍的线上事故:从“无堆栈”到精准定位,到光速解决
android
Digitally11 小时前
7 种方法:如何将视频从电脑传输到安卓手机
android·电脑·音视频
叶羽西11 小时前
Android15 Camera系统调试操作
android