Android车机IVI动态倒车辅助线代码绘制

在这里插入图片描述

起因

Android车机开发,倒车影像已经成为了最低配置。有的同学会使用图片序列帧方式运行,但是细节和图片成正比。标定更是一张张对比非常费劲,所以推荐使用opengl绘制的方式,只需要传入相关参数,验证即可。以下是我收集网上资料编写的demo示例,验证可行。方向盘角度为0的直线绘制和细节调整编译后的Android代码因为后续打算给公司同事商用,就不描述了。

参考

上面的图片是在windows电脑上运行的,并没有编译到Android,因为代码本身是c++的依赖很少,所以是可以编译到Android的,网上有很多教程。
代码基于开源代码ImGuizmo:https://github.com/CedricGuillemet/ImGuizmo(c++我也是菜鸟,就不在各位高手面前献丑了,大家可以研究下。)
倒车原理参考文章:https://blog.csdn.net/weixin_38140931/article/details/89214903

  • 如果想编译成为Android的apk,通过jni通讯(不支持快速启动)可以参考这位大神:
    https://github.com/PShocker/ImGuiJniRoot
    https://pshocker.github.io/2022/04/15/Android%E5%8F%AF%E6%89%A7%E8%A1%8C%E6%96%87%E4%BB%B6imgui%E7%BB%98%E5%88%B6/
  • 如果想编译成 android系统bin(支持快速启动5s内),可以参考官方aosp文章,编译到evs代码中,这种商用比较多:
    https://source.android.google.cn/docs/devices/automotive/camera-hal?hl=zh-cn

工具IDE:
VS2022

思路如上,如果需要c++源码demo源码(抱歉,需要请我喝杯咖啡后,留下邮箱,下班后回复。望担待!)

在这里插入图片描述

### Android车机系统的相关信息与开发 #### 什么是Android Auto? Android Auto 是由谷歌开发的一种智能车载系统,旨在将用户的 Android 手机与汽车的娱乐系统无缝连接。它支持多种功能,包括应用程序集成、音乐播放、导航以及通信服务[^1]。 #### Desktop Head Unit (DHU) 为了方便开发者在没有实际硬件的情况下进行测试和调试,谷歌提供了 **Desktop Head Unit (DHU)** 工具作为 Android Auto 的模拟环境。该工具可以在开发者的桌面上运行,帮助验证应用程序的功能性和兼容性。此外,DHU 还能够模拟不同屏幕分辨率和多语言设置,从而确保应用能够在多样化的环境中稳定工作。 #### 车载信息娱乐系统(IVI) 从更广泛的意义来看,Android汽车行业中的应用主要集中在车载信息娱乐系统(In-Vehicle Infotainment, IVI)领域。这类系统涵盖了仪表盘显示、多媒体播放、导航等功能,并且不会直接影响到车辆的核心驾驶控制系统。因此,对于大多数 Android 程序员而言,他们专注于设计和优化这些非核心但至关重要的用户体验组件[^2]。 #### 应用程序兼容性 随着技术的进步,Google 不断引入新的 API 来增强 Android 平台的能力。例如,在最新版本中增加了来自 OpenJDK 的一些实用接口,涉及文件操作(NIO)、数据流处理及加密等领域。值得注意的是,即使是在较旧版本的操作系统上部署的应用也能享受到部分新特性带来的便利,因为它们可以通过 Google Play 系统更新机制推送到数以亿计的支持设备之上[^3]。 #### 实际案例分析 假设一名开发者正在使用 Windows 11 操作系统配合 Android Studio 和 Java 编程语言构建一个简单的 HelloWorld 类型项目,则他可能需要关注如何配置 manifest 文件来适配特定需求场景。比如下面这段 XML 配置展示了两个 Activity 定义方式及其属性设定: ```xml <application> <activity android:name="c.b.a.A" android:configChanges="orientation|keyboardHidden|navigation" android:exported="false" android:screenOrientation="behind" android:windowSoftInputMode="adjustResize|stateHidden"/> <activity android:name="c.b.a.B" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent"/> </application> ``` 上述代码片段定义了两个活动(Activity),分别设置了方向变化响应策略(configChanges), 导航栏隐藏行为(screenOrientation), 输入法窗口调整模式(windowSoftInputMode)以及其他视觉效果(theme)[^5]. ### 结论 综上所述,针对 Android 车机系统的开发不仅涉及到基础框架的理解运用,还需要考虑跨平台一致性维护等问题。利用好官方提供的各类资源和服务将是成功的关键所在。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写点啥呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值