260 likes | 403 Views
基于 C/S 模型的 RSS 手机阅读器的设计与实现. 学 生: 何翔飞 指导老师: 丁月华. 1. 2. 3. 4. 5. 项目背景情况. 技术介绍. 系统架构. 关键问题. 功能展示. 内容安排. 项目背景 – 课题来源. 广州中间件研究中心手机报纸重点项目. 技术介绍 – RSS 现状.
E N D
基于C/S模型的RSS手机阅读器的设计与实现 学 生: 何翔飞 指导老师: 丁月华
1 2 3 4 5 项目背景情况 技术介绍 系统架构 关键问题 功能展示 内容安排
项目背景 –课题来源 • 广州中间件研究中心手机报纸重点项目
技术介绍 – RSS现状 RSS技术在西方发达国家,尤其是美国,已经达到了相当大的规模。据不完全统计,美国提供RSS内容的网站数目从2001年9月的1千余家激增至2004年9月的19万5千余家,短短的三年中增长了近150倍,市场的飞速发展令人瞩目。 在国内,一大批著名的有影响力的网站先后推出了RSS内容服务,对RSS市场的发展起到了很好的促进作用,
项目介绍–纯J2me手机的阅读器缺点 • 需要手动输入RSS地址,这对于手机操作是个相当繁琐的过程; • 缺乏真正的定制功能,收藏的功能需要依赖于手机的存储器的大小; • 对于处理多媒体信息十分欠缺,如图片信息,很影响页 面的美观; • 缺乏持久的内容管理 • 浏览速度不行 • 不能有效解决编码问题 • 无法浏览历史信息
项目介绍–项目设计目标 • 美观的界面 • 运行效率高 • 方便的内容管理 • 自定制RSS • RSS订阅排行 • 支持绝大多数RSS格式:RSS0.9X/RSS1.0/RSS2.0/OPML/Atom等;支持大多数信息编码:包括UTF8/GB2312/BIG5 • 分页浏览历史信息 • 方便的通过关键字查找相关的RSS
关键问题–手机端和服务器的交互 Web服务器上的对象序列化:实现java.io.Serializable 接口,而J2ME不支持类的序列化,因此使用了一种变通的方法进行通信, 我们只需要把要序列化的类的所有成员变量转变成二进制流传递到服务器,在服务器端再把这些二进制流还原成类的成员变量就可以了。
关键问题–手机端页面控制 Page-Frame-Element 页面控制采取策略模式: 1)Page作为页面元素的容器,负责整个页面的排版布局,计算每个控件 的坐标,而具体的画图工作(包括显示、滚动、换行、幻灯效果等)交给相应的页面元素(控件)自己完成。 2)数据显示线程监测到帧结束标志,则刷新屏幕。
关键问题–RSS的编码处理 在实际应用中,由于许多Http的连接头并没有包含charset值,因此需要再进行判断。
关键问题–RSS的图片处理 RSS2.0支持html格式的摘要内容,所以,我们需要从html里面提取<Img>标签的链接,并设置标记。 JMagick是一个开源的图片处理工具,这里用于图片的缩放。
关键问题–系统性能 • 数据库连接池,使得数据库端操作提速 • 手机端缓存:如果页面CACHE满,则按一定的策略(如FIFO)将某些页面置换出内存,没有则添加,Cache默认为10个页面。 • 服务器端缓存:服务端会缓存浏览页面,每次RSS更新任务启动以后会自动清除服务器端缓存。 • 统一资源管理 • 把多个文件合并成一个文件,那么资源文件的数量就会减少。比如对 于图片来说,将宽和高一样的图片组合在一张图片中,在程序中用到图片时再进行图片的分割。减少了IO的操作 。
创新点 • 提供了个性化的用户定制 • 有效解决了编码问题 • 手机端和服务器的交互,通过自定义通信格式,使用了一中有效的序列化对象方法,有效减少了GPRS的流量 • 支持多种格式的RSS,如RSS2.0,Atom等 • 支持OPML的导入 • 支持对历史数据的分页浏览
展望 • 没有对RSS种子进行有效的分类 • 对于多图片浏览时候的性能欠佳 • 对于图片的压缩处理效果不够完美 • 没有支持流媒体
Click to edit company slogan . Thank You !