- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android架构之三:简单工厂模式优化网络请求
Android也架构之三:简单工厂模式优化网络请求
很悲催,我们在《Android也架构之二:单例模式访问网络》 用httpConnect的方式去访问网络,而且能够正常获取数据了,可是老板能,技术出生,他要求我重新用httpClient去获取获取网络数据,童鞋们,是不是头快爆炸了?你是否也遇见过这样的或者类似这样的情况呢?
拥抱变化,让我们冲现在开始吧,上一篇文章《Android也架构之二:单例模式访问网络》中,我们学会用了单例模式,单例模式一般解决的是和程序相关的问题,和业务逻辑无关,今天开始,我们就开始学习和业务相关的设计模式,拥抱变化,让业务和需求的变化放马过来吧。。。。
今天,通过这篇文章,你讲学习到以下这些知识点:
1、学会用简单工厂模式,基于api接口开发的工作模式,接口的特点是可插拔,不会影响到客户端数据。
2、学会用httpclient框架请求http数据,涉及到android的httpclient框架的细节知识点,比如httpclient自动重连机制,连接自动释放等
3、学会在子线程如何更新主线程的android基础知识
首先我们来看一下项目的目录结构:
刚才说了,基于接口开发应该是可插拔的,就是说无论服务端(http包下的类)是怎么变化,都不会影响到客户端(clientActivity)的使用,服务端添加或者修改功能的时候不能修改客户端(clientActivity)代码。
我们首先来看下AndroidManifest.xml的代码,很简单
[html] view plaincopy
?xml version=1.0 encoding=utf-8?
manifest xmlns:android=/apk/res/android
package=com.yangfuhai.simplefactory
android:versionCode=1
android:versionName=1.0
uses-sdk android:minSdkVersion=8 /
application
android:icon=@drawable/ic_launcher
android:label=@string/app_name
activity
android:name=.ClientActivity
android:label=@string/app_name
intent-filter
action android:name=ent.action.MAIN /
category android:name=ent.category.LAUNCHER /
/intent-filter
/activity
/application
uses-permission android:name=android.permission.INTERNET /
uses-permission android:name=android.permission.ACCESS_NETWORK_STATE /
/manifest
里面主要是添加了访问网络的权限[html] view plaincopy
uses-permission android:name=android.permission.INTERNET /
uses-permission android:name=android.permission.ACCESS_NETWORK_STATE /
接下来我们来看下布局文件main.xml,也非常简单。就一个textview用来显示网络的http数据
[html] view plaincopy
?xml version=1.0 encoding=utf-8?
LinearLayout xmlns:android=/apk/res/android
android:layout_width=fill_parent
android:layout_height=fill_parent
android:orientation=vertical
TextView
android:layout_
文档评论(0)