财神彩票 > 互联网资讯 > LG或在IFA 2019上发布新款智能扬声器财神彩票:

原标题:LG或在IFA 2019上发布新款智能扬声器财神彩票:

浏览次数:60 时间:2020-02-01

据外媒报道,根据LG新申请的一份外观设计专利,描述了四种设备外形设计(从ModelA到ModelD)。

背景描述

最近整理模块化以后的项目中的 common 模块时,发现一个问题:
当初拆分业务 module 的时候,为了省事儿,直接把不同模块公共依赖的 model 放到了 common 模块里,这样导致跟业务 module 维护自己业务的初衷有点背离,而且会让 common 模块比较臃肿,那么现在需要把这些公用的 model 放回到相应的业务 module 里,就会面临一个问题,不同module的model怎么进行传递?

财神彩票 1

WechatIMG42.jpeg

IFA2019即将于9月6日开幕,韩国知识产权局(KIPRIS)也公布了LG新款智能扬声器的外形设计。其中ModelA不禁让人回想起了亚马逊Echo和GoogleHome的旧塔式设计。

方案

module1里面把ModelA进行gson序列号化

ModelA model = new ModelA("xiaoming", "male");
Gson gson = new Gson();
Bundle bundle = new Bundle;
bundle.putString("modelA", gson.toJson());

module2 里面把传递的json string再反序列化回来

Intent intent = getIntent();
Gson gson = new Gson();
ModelB model 
 =gson.fromJson(intent.getStringExtra("modelA", ModelB.class);

这样轻松解决了问题~~

这时可能会有小伙伴问了,ModelA 和 ModelB本来就实现了Parcelable 接口,为什么不直接使用intent.getParcelableExtra(),这里就就涉及到了class cast的问题,ModelA 和 ModelB是分布在不同的module,package name 和 class name都是不一样的,强行转换是会报 cast exception的哦~

这个方法是很简单,但是帮我解决了实际问题,如果有小伙伴有更好的方法,欢迎交流~

本文由财神彩票发布于互联网资讯,转载请注明出处:LG或在IFA 2019上发布新款智能扬声器财神彩票:

关键词:

上一篇:郑州机场开通“一证乘机”模式财神彩票

下一篇:中国男篮惜败波兰 魅族李楠与教练同名被网友炮