System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种软件开发过程中代码复用方案,特别涉及一种跨平台开发的链路跨平台方案。
技术介绍
1、现有的广泛普及的手机系统包括:android和ios,在进行链路(将车机hu和手机互联,手机将屏幕内容和音频传输给车机,车机显示手机屏幕内容,并可以通过操作车机屏幕反向控制手机)手机sdk(以下简称 linkmobilesdk)技术方案设计的时候,通常linkmobilesdk都是android、ios平台分别开发;某些linkmobilesdk有部分api可能采用c/c++开发,一定程度上实现跨平台共享。
2、上述解决方案中,分平台开发方式的设计、开发、测试的工作量比较大,后期的维护及变更成本也比较高;c/c++开发调试难度较大,专业开发人员比较少,后期维护和修改困难。
3、针对上述问题,我们在开发过程中发现android和ios平台存在很多相同功能点和业务逻辑,如果能把这些相同的功能点和逻辑复用,可以节约很多设计、开发、测试的工作,同时,降低后续的维护和更新成本。需要设计一套高复用,高内聚,可扩展易维护的架构。
技术实现思路
1、本专利技术所述的链路跨平台方案是基于高级语言kotlin的手机跨平台开发框架kotlin multiplatform mobile(kmm)现有的能力,结合 linkmobilesdk的实际特点和需求以及android和ios平台的特性,对 linkmobilesdk进行划分,以达到节约很多设计、开发、测试的工作,同时,降低后续
2、本专利技术所述的链路跨平台方案,将linkmobilesdk划分为两部分:跨平台共享部分、平台第一差异部分、平台第二差异部分,其中,
3、跨平台共享部分封装了通讯协议接口、数据通道接口、数据处理分发接口、序列化接口、网络数据接收和发送接口、传输安全接口、日志接口等接口。
4、平台第一差异部分封装了适用于android系统的应用程序编程接口,提供给android系统手机的app层调用,还封装了连接和通讯接口,用于获取 android系统手机的系统相关信息及硬件相关功能;
5、平台第二差异部分封装了适用于ios系统的应用程序编程接口,提供给 ios系统手机的app层调用,还封装了连接和通讯接口,用于获取ios系统手机的系统相关信息及硬件相关功能。
6、优选的,所述连接和通讯接口包括:usb连接,wifi连接等。
7、优选的,所述链路跨平台方案工作流程为:
8、首先手机和车机(hu)通过平台第一差异部分或平台第二差异部分建立 usb或者wifi连接,进行初始化;
9、手机app通过应用程序编程接口调用跨平台共享部分的通讯协议将数据组装成数据包,再经过传输安全加密,然后通过数据处理分发从相应通道发送给车机;
10、linkmobilesdk根据当前连接方式使用连接和通讯接口收发数据;
11、车机收到数据后作出相应数据返回,手机从连接和通讯接口取到数据,经过通讯协议接口拆出数据包,通过传输安全接口解密后,交给数据处理分发接口分发给相应通道,部分数据需要序列化接口从字节数组转为实体类使用,对于关键地方用日志接口打印记录日志。
12、优选的,linkmobilesdk根据当前连接方式决定使用usb或者socket 收发数据。
13、本专利技术的有益效果包括:
14、1.基于kmm跨平台框架,在其有限的api库的支持上进行扩展、补充和设计,在跨平台共享部分中实现了通讯协议接口、数据通道接口、数据处理分发接口、序列化接口、网络数据接收和发送接口、传输安全接口、日志接口等linkmobilesdk主要且重要的功能接口。
15、2.大部分平台相关功能未放到kmm框架的平台差异部分实现,而是在跨平台共享部分的上层分别实现了平台第一/二差异部分,kmm框架的平台差异部分只实现了几个简单的接口。这样能在充分复用功能点和业务逻辑的同时,兼顾linkmobilesdk的效率和稳定性,也便于后期手机系统适配。
16、3.linkmobilesdk分层结构清晰,代码复用率高,节约成本,灵活性和扩展性强。链路效率和稳定性高。跨平台共享部分同时还可以提供给第三方进行二次开发。
本文档来自技高网...【技术保护点】
1.一种链路跨平台方案,包括:跨平台共享部分、平台第一差异部分、平台第二差异部分,其中,
2.如权利要求1所述的链路跨平台方案,其特征在于,所述连接和通讯接口包括:USB连接,Wifi连接。
3.如权利要求1所述的链路跨平台方案,其特征在于,所述链路跨平台方案工作流程为:
4.如权利要求1所述的链路跨平台方案,其特征在于,链路根据当前连接方式决定使用USB或者Socket收发数据。
【技术特征摘要】
1.一种链路跨平台方案,包括:跨平台共享部分、平台第一差异部分、平台第二差异部分,其中,
2.如权利要求1所述的链路跨平台方案,其特征在于,所述连接和通讯接口包括:usb连接,wifi连接。
...【专利技术属性】
技术研发人员:曾斌,张荣,殷公正,冯磊,
申请(专利权)人:摩斯智联科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。