Android网络请求的架构之路

来源:互联网 发布:太阳能热水器 知乎 编辑:程序博客网 时间:2024/06/17 08:47

             做开发的都知道,在之前我们使用网络请求时要么使用第三方库,volley,xUtils啊等一些,要么就是自己基于android原生的进行封装,早些时间,我们做了一个项目,封装了httpClient,写了几个方法作为整个项目的网络请求,可是,到了后期,谷歌突然宣布,使用httpUrlConnnection替代HttpClient,于是,一场代码修改的风波起来了,于是这次,我们为了抵御以后,或许多少年的风波再起,就进行了一次重构之路。

说到底,还是基于谷歌原生的HttpUrlConnection进行封装,但是这次封装在上一次封装上考虑了更多,也更加解耦,首先,我们定义一个网络访问的接口,关于里面实现的方法,根据自己的情况来定夺吧,我这里写一个伪代码

public interface HttpInterface{

void succ(String msg);

void error(String msg);

}

声明以上代码只供参考,如有需求根据情况而定,首先我们写一个类初始化好httpUrlConnection的相关工作,并对外提供一个初始化的方法,然后根据情况,把网络访问出现的情况给以上两个接口中方法赋值,然后在,需要调用接口的时候,调用这个封装类并传入,相关的接口,关于数据的处理,我们只需要在接口回调的地方进行JSON解析等处理,这样,即使后期,他又变更了网络请求,也对我影响不大,当然,这里只是简单的处理,如果想设计一个好的方案还是需要做很多事情的,这里只是简单说下思路。

如果想真正的去架构整个网络请求还是需要很多工作要处理

1) 写一个存放网络请求的map集合,处理各种类型的参数

2)写一个类,把所有的接口调用方法全部写到这个类中,然后在调用时,传递所需参数,实现回调接口

后期的数据的处理就是自己的事情了,这是我的一点点的想法,希望各位多多补砖。


0 0
原创粉丝点击