码迷,mamicode.com
首页 > 移动开发 > 详细

Android 网络层的封装

时间:2015-07-21 14:49:36      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:android   网络   管理   

因为项目需要封装了其网络层,主要对其原来的模式进行改进,使用的回调的方式来进行网络的访问和返回结果的处理,还有就是在View层和网络层之间加了一个中间层,用来分配各种网络请求,这样就可以方便的调度和管理。

我就不拿原项目的代码来演示,自己写了一个demo,首先是最底层,处理最基本的Http协议,里面包含一个execute方法,用来Post或者Get获取数据,这里为了方便我只写了一个Get,可以根据具体需要进行改成Post或者其他方法:




可以看到这个execute方法的参数是String url和Map<String,String> map,这样我们就需要一个POJO来构造这些参数:




接下来是一个工厂类,这里用到了简单工厂模式,可以根据不同的参数很方便的创造出POJO的实例:




接下来是中间层,所有的网络方法都需要经过这里才能调用底层协议,在这里进行各种网络方法的调度和管理:





自己定义回调接口,一般来说就是进行Success处理和Error处理,还可以进一步抽象:



最后就是在主函数中进行调用,这里调用的是运行在子线程中的方法,只需要构造好Callback回调函数,简单
调用即可:

		final NetworkPOJO request = NetworkFactory.creategao();	//构造POJO

		btn.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				Network.postOnThread(request, new Callback() {
					@Override
					public void onSuccess(String json) {
						text.setText(json);
					}
					@Override
					public void onError() {
						text.setText("Error");
					}
				});
			}
		});

这样View层和底层中间就多了一个中间层,提供运行在不同线程的各种调用方法,使用时对其回调方法进行实现就可以了,最大的有点就是方便调度和管理。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 网络层的封装

标签:android   网络   管理   

原文地址:http://blog.csdn.net/woshifano/article/details/46984729

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!