浅谈android嵌入第三方sdk的二次封装原则

        由于android的开源特性,很多功能(例如网络请求,json解析等)可以在网上找到大把的工具,另外还有很多第三方sdk(例如,推送)已经大行其道。这些第三方框架以其调用方便,性能稳定等特性大受android程序猴子欢迎。虽然这些sdk内部封装的很好,调用也极其方便,所以很多人都不想在此基础上进行二次开发,以方便自己使用。这样造成的问题就是,一旦更换sdk,结果将是灾难性的大面积修改甚至重构。

       猴子不才,看到同事对那些第三方sdk的封装讲大大降低这一风险,于是偷偷总结一下,方便以后查看。现在以联网请求为例来分析这一封装方式的优越性。

       哥们采取的方法是,按照功能分层,最底层只负责将sdk中提供的功能进行封装调用:

public static RequestHandle post(String url, Map<String, Object> map,
                                 Callback callback) {

    StringEntity entity = MapParamsConverter.map2Entity(map);

    HttpRequestCallBack requestCallBack = new HttpRequestCallBack(callback);
    RequestHandle handler = mAsyncHttpClient.post(MyApplication.appContext, url, entity, "application/json", requestCallBack);
    return handler;
} 
       其中 mAsyncHttpClient是第三方的网络请求框架的实际工作层。

       上一层则是封装基本的公共参数,例如deviceid,token等,这部分代码涉及公司机密,也没什么技术性可言,就不粘贴了,这一层封装的用处是,将公共数据抽取,提高代码的重用性,毕竟代码是该被重用而飞被复制。

       再上一层则是,必要参数的封装,例如在登录接口,需要传递用户名,密码什么的。也没什么技术性可言。

      这样经过三层封装,好处就是,当底层的网络请求框架需要被换掉时,只需改动

RequestHandle handler = 你的请求框架的.post(MyApplication.appContext, url, entity, "application/json", requestCallBack);

      完全不需要管哪里调用网络请求,也不需要知道他究竟传给了什么参数,变化都被隔离在最底层的基本方法上。

     


      

      

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
千寻是一种微前端框架,可以将不同的子应用嵌入到同一个页面中,实现不同系统之间的无缝切换。而嵌入第三方外链可以进一步丰富页面内容,提供更多的功能和服务。 首先,千寻内部嵌入第三方外链可以增加页面的多样性和功能性。通过嵌入第三方外链,我们可以在千寻子应用中使用这些外链提供的服务和资源,例如嵌入高德地图的外链可以帮助我们在页面上显示地理位置信息,嵌入新闻或社交媒体的外链可以展示最新的动态和内容。这样可以提升用户体验,使得页面更加丰富和有吸引力。 其次,嵌入第三方外链可以简化开发流程和减少工作量。如果我们需要实现一些特定功能,而这些功能恰好已经有第三方提供了相应的解决方案,我们可以直接嵌入第三方外链来使用这些功能,而不需要从零开始开发。这样可以节省开发时间和精力,加快产品上线速度。 另外,千寻内部嵌入第三方外链还可以加强与外部系统的集成能力。有些企业的系统可能已经集成了一些第三方服务,嵌入这些外链可以让我们的子应用与这些外部系统无缝对接。这样可以实现数据的互通和共享,提高系统间的协作效率。 总的来说,千寻内部嵌入第三方外链可以丰富页面内容,提供更多的功能和服务,简化开发流程,加强与外部系统的集成能力。这样可以不仅提升用户体验,还能提高开发效率和系统间的协作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值