八一八Kanzi与Android这对好基友
来源: | 作者:汤国浩 | 发布时间: 2019-10-25 | 269 次浏览 | 分享到:
随着Android在汽车领域尤其是在车载娱乐系统方向使用的场景越来越多,Kanzi作为Android提高界面效果、提升界面开发效率的优质小伙伴,Android+Kanzi的组合被越来越多的整车厂和供应商采用。那么这对小伙伴是怎样打交道的呢?这一期就来给大家介绍下。

一、Kanzi On Android原理

我们先来了解下Kanzi On Android应用的基本知识。从Kanzi的kanzi_engine.jar源码中可以看到,KanziActivity继承自Android的Activity,渲染的KanziView继承自SurfaceView。实际上Kanzi开发的App在Android上运行时运行的线程有Android原生的界面渲染线程、Kanzi界面渲染线程和资源加载线程,其中主要的功能线程就是Android原生的界面渲染线程和Kanzi界面渲染线程。(由于Android原生的界面渲染线程与非Kanzi Android应用的界面渲染线程没有区别,这里就不做累述。)Kanzi界面渲染线程其实就是我们通常所说的Kanzi渲染主线程,其原理就是把Kanzi Studio中开发的界面渲染到KanziView(也就是SurfaceView)上。




弄清楚了Kanzi在Android上的运行原理,接下来的问题也就比较容易回答了
“Android上的Kanzi开发应该如何与Android端的业务开发相结合?”  
a、包含Kanzi界面的Android Activity的父类继承自KanziActivity;
b、在Android端进行业务逻辑开发;
c、在Kanzi端结合Kanzi Studio进行高效高质量的界面开发;
d、业务逻辑与界面间的数据交互以线程间通信的方式进行。

需要补充的是,由于Kanzi的SDK使用的开发语言是C++语言,如果需要在Android端使用Java调用Kanzi端的C++ API,需要使用JNI/Swig进行C++与Java的接口转换。

开发之前需要先把Kanzi工程导入Android Studio,我们来具体看一下。伴是怎样打交道的呢?这一期就来给大家介绍下。

二、如何将Kanzi工程导入Android Studio


在实际项目开发过程当中,界面开发和业务逻辑开发通常是同步进行,但界面开发(Kanzi端)通常使用的是Kanzi Studio和VS,业务逻辑开发(Android端)通常使用Android Studio,两者如何进行联调测试呢?
相关文章