移动开发中的通信架构(一)
2011-09-16 10:33
148 查看
移动开发,或者其他大部分软件开发,我们程序员做的无非三件事情:获取数据、显示数据、获取用户事件并做相应反馈。而且移动开发之中,由于网络环境的不稳定,获取网络数据就成为很多应用的瓶颈。本文将试图构建一个稳定,高效,通用的移动开发通信框架。
本文基于J2ME环境编写,也可以非常方便的移植到其他平台。
下面根据我的思路,一步一步的分析如下:
1.只要做过移动开发的人,就知道,通信肯定是会放在一个单独的线程中完成的。不解释理由……
2.通信吗:无非就是请求(Request,StructRequest),发送请求、获取响应(HttpHandler,HttpClient),然后就是得到的响应结果(Response,StructResponse)
3.通信的结果无非就两种:成功、失败,成功的话,应该通知UI线程(HttpListener),完成数据的绘制。失败的话,情况就比较多了,就像一句话说的,美女都一个样,但是丑的,各有各的丑法。那么,通信失败的大部分失败情况,都可以由HttpListener检测并反馈给UI线程。但是如果是没有响应呢? 程序就卡死在哪里?显然不行,这个时候就需要一个计时器性质的监听器了(HttpMonitor),在通信超时的情况下,放弃本次通信。
下面展示整个框架的类图(自己都觉得类图丑的很,拿不出手……)
第一篇就先写到这里,给大家一个整体的印象,下一篇分析请求块,并上传源码。
ps:记得看到好文章好顶……
本文基于J2ME环境编写,也可以非常方便的移植到其他平台。
下面根据我的思路,一步一步的分析如下:
1.只要做过移动开发的人,就知道,通信肯定是会放在一个单独的线程中完成的。不解释理由……
2.通信吗:无非就是请求(Request,StructRequest),发送请求、获取响应(HttpHandler,HttpClient),然后就是得到的响应结果(Response,StructResponse)
3.通信的结果无非就两种:成功、失败,成功的话,应该通知UI线程(HttpListener),完成数据的绘制。失败的话,情况就比较多了,就像一句话说的,美女都一个样,但是丑的,各有各的丑法。那么,通信失败的大部分失败情况,都可以由HttpListener检测并反馈给UI线程。但是如果是没有响应呢? 程序就卡死在哪里?显然不行,这个时候就需要一个计时器性质的监听器了(HttpMonitor),在通信超时的情况下,放弃本次通信。
下面展示整个框架的类图(自己都觉得类图丑的很,拿不出手……)
第一篇就先写到这里,给大家一个整体的印象,下一篇分析请求块,并上传源码。
ps:记得看到好文章好顶……
相关文章推荐
- 移动开发中的通信架构(四)
- 移动开发中的通信架构(五)
- 网络通信,服务器架构,音视频开发,网络安全,移动互联网
- 移动开发中的通信架构(六)
- 简述移动端IM开发的那些坑:架构设计、通信协议和客户端
- iOS开发那些事-移动平台架构设计
- 移动应用开发—— 如何搭建开发大型的应用架构?
- 《BREW进阶与精通――3G移动增值业务的运营、定制与开发》连载之82――BREW应用间通信之共享文件
- iOS开发移动平台架构设计
- 一种新的基于Windows Mobile平台的移动开发N层架构(第四部分)
- 一种新的基于Windows Mobile平台的移动开发N层架构(第五部分)
- 【Android开发经验】移动设备的“声波通信/验证”的实现——SinVoice开源项目介绍(三)
- 移动应用开发—— 如何搭建开发大型的应用架构?
- 【Android开发经验】移动设备的“声波通信/验证”的实现——SinVoice开源项目介绍(一)
- Android-IOS移动开发技术-1:XMPP JID 和通信原语有3种:message、presence和IQ
- 人人网移动开发架构
- 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程第14门课程:Android软硬整合设计与框架揭秘: HAL&Framework &Native Service &App&HTML5架构设计与实战开发
- 一种新的基于Windows Mobile平台的移动开发N层架构(第六部分)
- 一种新的基于Windows Mobile平台的移动开发N层架构(第九部分)
- 移动应用开发—— 如何搭建开发大型的应用架构?