当前位置: 首页 > news >正文

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文件记录设计决策和实现细节
http://www.dtcms.com/a/550785.html

相关文章:

  • 网站开发公司专业网站建设布为网
  • 福州高端网站建设公司免费网站素材下载
  • 博客网站推广法怎么自己的电脑做网站
  • 内网穿透的应用-无需公网IP!群晖NAS+CPolar打造家庭数据中心的远程文件传输方案
  • Java 开发 - Java 继承后成员的隐藏与重写
  • 网站搭建素材群医疗公司logo设计图片
  • 流量对于网站盈利网站关键词百度搜不到
  • 站长之家官网查询学校微网站模板下载
  • 广州网站建设信科网络鄞州网站建设公司
  • 网站内容规范东台网站制作
  • 回溯专题:子集/全排列问题
  • 国产固态硬盘趋势下,天硕工业级SSD接口指南赋能高效部署
  • HOSVD(高阶奇异值分解):高维数据的“解剖术”
  • 用rp怎么做网站导航菜单wordpress文章插广告
  • 怎么做公司网站优化网站建成
  • 智源研究院发布悟界 Emu3.5,开启多模态世界大模型新纪元
  • RAG_向量
  • 如何做网站收录求个a站
  • 南山建网站公司公司网站建站模板模板
  • 光伏项目如何高效施工?
  • 万年历网站做移动互联网网站建设
  • ROS2使用pixi在win10中的安装
  • 没后台的网站怎么做优化专业网站优化哪家好
  • 绍兴建设网站深圳市城乡和建设局网站首页
  • 做网站月薪10万温州网页制作
  • RTNETLINK answers: File exists问题分析
  • 网站建设 前沿文章iis 网站没有上传权限
  • 怎么用服务器做局域网网站网站推广排名收费
  • 镇江久一信息技术有限公司天津seo网站排名优化公司
  • Origin绘制美观的极坐标面积图