android新闻浏览客户端app(附件)
摘要: 4摘要:2008年android系统首次推出,短短几年光景已经成为全球第一大智能手机操作系统。同时移动互联网的快速发展也在改变着人们的阅读习惯。本文首先分析了选题意义和背景,然后简单描述了设计的新闻客户端系统的功能,及构建系统所需的各项技术,包括android平台本身的技术,github上常用的开源组件和传统的web开发所需的前端技术如html、css、js、jquery和xhEditor等插件,以及由jsp/servlet搭建的服务器端技术。最后,实现了一个在手机客户端可以进行新闻阅读,后台管理员在web端可以进行新闻编辑管理的CS与BS混合系统。
目录
引言
引言:近几年,人们的阅读习惯在随着互联网和移动互联网的高速发展正在悄然发生着变化。也就几年前自己还是初中生的时候,主要还是在PC或者电视上节目上阅读新闻获取资讯,那时候智能机的概念刚刚兴起,市场上有一些像诺基亚N70这样的智能机。虽然也可以在一些手机门户网站阅读新闻,但毕竟当时手机的硬件条件和现在的cpu动辄4核甚至8核的配置不可比拟,没有那么多的客户端软件,所以并非主流。但也就几年光景,android和IOS已经完全占领了移动互联网的市场,现在手机客户端的软件种类之多只有我们想不到的而没有做不到。而强大的客户端可以做出的炫酷效果相比几年前手机浏览器带来的阅读体验更是提升了不止一个量级。
选题背景
选题目的及意义
国内外研究现状
2013年1月25日,腾讯宣布旗下新闻客户端下载量突破1亿。
2013年4月24日,搜狐宣布旗下新闻客户端下载量突破1亿。
2013年5月13日,新浪宣布旗下新闻客户端下载量突破4200万。
2013年7月9日,网易宣布旗下网易新闻客户端用户量突破1.2亿。
当前市场上主流的新闻客户端,大都提供了包含文字、图片、视频多媒体等展示方式,并且都涵盖了ios、android和Windows phone三大平台,但大都只提供了评论功能,并没有对这部分数据进行深入挖掘与利用。而多媒体资源的传输相较于我国较为缓慢的网速,用户体验并不友好。
系统分析及开发平台应用技术简介
系统简介
实现一个B/S、
*好棒文|www.hbsrm.com +Q: ^3^5^1^9^1^6^0^7^2^*
C/S混合的系统,在浏览器端可以实现新闻的添加、编辑。而在手机客户端用户可以实现浏览新闻、评论新闻、收藏新闻,提供搞笑图片版块,抓取的是9gag网的数据。而新闻的数据来自自己后台的服务器,需由管理员在web后台管理页面进行编辑添加。服务器端在数据库取数据后转换成json[1,2]数据后以接口的形式提供给手机客户端存取访问并显示在界面上。后台服务器使用tomcat,数据库使用mysql,服务器端语言使用jsp/servlet,手机客户端开发环境使用eclipse+adt插件开发。整个系统侧重点在手机客户端的功能与展示,在手机客户端,使用了包括Volley[3,4]、AndroidPullToRefresh[5]、SmoothProgressBar[6]在内的十多个开源组件。在web客户端,仅是简单的管理员进行新闻编辑管理功能,使用了富文本框插件xhEditor。
2.2系统需求分析
2.2.1 新闻模块需求分析
2.2.1.1 文字描述
新闻模块既为本客户端的主体模块,用户可以在新闻模块获取最新的资讯。其中新闻将以“焦点”、“国内”、“国际”、“军事”、“体育”、“科技”、“汽车”、“财经”、“游戏”、“女性”十个版块来分类。系统设计为了简便,每条新闻只是从属于一个分类版块,不支持一条新闻属于多个分类。新闻的列表项包括以下几个部分,“标题”、“摘要”、“来源”、“发布时间”和在每个列表项左侧的“新闻图片”。
2.2.1.2 模块用例图
图1新闻模块用例图
2.2.2 图片模块需求分析
2.2.2.1 文字描述
现在的商用的新闻客户端大都提供了纯图片的新闻版块或者类似“轻松一刻”这样的搞笑图片版块,毕竟不是每个用户都有耐心看冗长而大多是文本的新闻,而且图片带给用户的感官刺激更为明显。本模块抓取的是全球知名搞笑网站9gag(中文名“9笑网”)的数据,提供了热点(Hot)、潮流(Trending)和新鲜(Fresh)三个板块供用户浏览。
2.2.2.2 模块用例图
图2 图片模块用例图
2.2.3 用户模块需求分析
2.2.3.1 文字描述
以前传统的新闻浏览客户端并没有用户模块功能,但现在市场上的商用APP,无一例外都是有用户模块功能的。一方面是因为互联网时代用户量为王,有了用户模块应用可以和用户绑定得更紧密,增加用户粘性,为用户提供其他类型的更多的服务。另一方面,有了用户模块用户间才能进行更多的互动比方点赞、分享,另外还有收藏、订阅这些根据用户个人定制的功能,这样极大地提高了用户体验。
2.2.3.2 模块用例图
图3 用户模块用例图
2.2.4 管理员模块需求分析
2.2.4.1 文字描述
虽然本系统主要侧重的是客户端的功能,因为新闻是来自本地的数据库而不是从网络抓取,所以提供了后台管理员进行登陆,编辑管理新闻的模块。
2.2.4.2 模块用例图
图4 管理员模块用例图
2.2.5 web后台模块需求分析
2.2.5.1 文字描述
现在网络传输数据一般使用两种类型格式的数据,XML和JSON。因为这两种数据类型都是跨平台的,如果哪天你的个人应用要扩展到IOS、WindowsPhone或者其它手机平台甚至是PC平台,这两种数据类型都是可以满足要求的。相比XML,JSON更为轻量而且数据量较小,并且解析也更为简便,所以本系统使用了JSON作为服务器与客户端交互的数据格式。服务器以url方式为客户端提供访问接口,回传json字串给客户端使用。
2.2.5.2 模块时序图
图5 web后台模块时序图
2.3 系统ER图
图6 系统ER图
2.4 系统类图
2.5 平台开发技术简介
2.5.1 android单线程模型[7,8]
Android的单线程模型包括两个重要的点。
第一,当一个application启动,系统创建一个称为"main"的线程(UI线程)。这个线程非常重要,因为它处理着事件分派,包括drawing事件。因此,不可以在UI线程里执行那些耗时的操作,比方在网络下载数据或者查询数据库,因为耗时操作会堵塞用户界面的响应,产生ANR问题(application not responding),造成非常差的用户体验。
其次,因为UI线程处理着包括drawing事件,所以要和android UI toolikit交互,而android UI toolkit又是非线程安全的,所以不可以在UI线程外的线程里操作UI。
目录
引言
引言:近几年,人们的阅读习惯在随着互联网和移动互联网的高速发展正在悄然发生着变化。也就几年前自己还是初中生的时候,主要还是在PC或者电视上节目上阅读新闻获取资讯,那时候智能机的概念刚刚兴起,市场上有一些像诺基亚N70这样的智能机。虽然也可以在一些手机门户网站阅读新闻,但毕竟当时手机的硬件条件和现在的cpu动辄4核甚至8核的配置不可比拟,没有那么多的客户端软件,所以并非主流。但也就几年光景,android和IOS已经完全占领了移动互联网的市场,现在手机客户端的软件种类之多只有我们想不到的而没有做不到。而强大的客户端可以做出的炫酷效果相比几年前手机浏览器带来的阅读体验更是提升了不止一个量级。
选题背景
选题目的及意义
国内外研究现状
2013年1月25日,腾讯宣布旗下新闻客户端下载量突破1亿。
2013年4月24日,搜狐宣布旗下新闻客户端下载量突破1亿。
2013年5月13日,新浪宣布旗下新闻客户端下载量突破4200万。
2013年7月9日,网易宣布旗下网易新闻客户端用户量突破1.2亿。
当前市场上主流的新闻客户端,大都提供了包含文字、图片、视频多媒体等展示方式,并且都涵盖了ios、android和Windows phone三大平台,但大都只提供了评论功能,并没有对这部分数据进行深入挖掘与利用。而多媒体资源的传输相较于我国较为缓慢的网速,用户体验并不友好。
系统分析及开发平台应用技术简介
系统简介
实现一个B/S、
*好棒文|www.hbsrm.com +Q: ^3^5^1^9^1^6^0^7^2^*
C/S混合的系统,在浏览器端可以实现新闻的添加、编辑。而在手机客户端用户可以实现浏览新闻、评论新闻、收藏新闻,提供搞笑图片版块,抓取的是9gag网的数据。而新闻的数据来自自己后台的服务器,需由管理员在web后台管理页面进行编辑添加。服务器端在数据库取数据后转换成json[1,2]数据后以接口的形式提供给手机客户端存取访问并显示在界面上。后台服务器使用tomcat,数据库使用mysql,服务器端语言使用jsp/servlet,手机客户端开发环境使用eclipse+adt插件开发。整个系统侧重点在手机客户端的功能与展示,在手机客户端,使用了包括Volley[3,4]、AndroidPullToRefresh[5]、SmoothProgressBar[6]在内的十多个开源组件。在web客户端,仅是简单的管理员进行新闻编辑管理功能,使用了富文本框插件xhEditor。
2.2系统需求分析
2.2.1 新闻模块需求分析
2.2.1.1 文字描述
新闻模块既为本客户端的主体模块,用户可以在新闻模块获取最新的资讯。其中新闻将以“焦点”、“国内”、“国际”、“军事”、“体育”、“科技”、“汽车”、“财经”、“游戏”、“女性”十个版块来分类。系统设计为了简便,每条新闻只是从属于一个分类版块,不支持一条新闻属于多个分类。新闻的列表项包括以下几个部分,“标题”、“摘要”、“来源”、“发布时间”和在每个列表项左侧的“新闻图片”。
2.2.1.2 模块用例图
图1新闻模块用例图
2.2.2 图片模块需求分析
2.2.2.1 文字描述
现在的商用的新闻客户端大都提供了纯图片的新闻版块或者类似“轻松一刻”这样的搞笑图片版块,毕竟不是每个用户都有耐心看冗长而大多是文本的新闻,而且图片带给用户的感官刺激更为明显。本模块抓取的是全球知名搞笑网站9gag(中文名“9笑网”)的数据,提供了热点(Hot)、潮流(Trending)和新鲜(Fresh)三个板块供用户浏览。
2.2.2.2 模块用例图
图2 图片模块用例图
2.2.3 用户模块需求分析
2.2.3.1 文字描述
以前传统的新闻浏览客户端并没有用户模块功能,但现在市场上的商用APP,无一例外都是有用户模块功能的。一方面是因为互联网时代用户量为王,有了用户模块应用可以和用户绑定得更紧密,增加用户粘性,为用户提供其他类型的更多的服务。另一方面,有了用户模块用户间才能进行更多的互动比方点赞、分享,另外还有收藏、订阅这些根据用户个人定制的功能,这样极大地提高了用户体验。
2.2.3.2 模块用例图
图3 用户模块用例图
2.2.4 管理员模块需求分析
2.2.4.1 文字描述
虽然本系统主要侧重的是客户端的功能,因为新闻是来自本地的数据库而不是从网络抓取,所以提供了后台管理员进行登陆,编辑管理新闻的模块。
2.2.4.2 模块用例图
图4 管理员模块用例图
2.2.5 web后台模块需求分析
2.2.5.1 文字描述
现在网络传输数据一般使用两种类型格式的数据,XML和JSON。因为这两种数据类型都是跨平台的,如果哪天你的个人应用要扩展到IOS、WindowsPhone或者其它手机平台甚至是PC平台,这两种数据类型都是可以满足要求的。相比XML,JSON更为轻量而且数据量较小,并且解析也更为简便,所以本系统使用了JSON作为服务器与客户端交互的数据格式。服务器以url方式为客户端提供访问接口,回传json字串给客户端使用。
2.2.5.2 模块时序图
图5 web后台模块时序图
2.3 系统ER图
图6 系统ER图
2.4 系统类图
2.5 平台开发技术简介
2.5.1 android单线程模型[7,8]
Android的单线程模型包括两个重要的点。
第一,当一个application启动,系统创建一个称为"main"的线程(UI线程)。这个线程非常重要,因为它处理着事件分派,包括drawing事件。因此,不可以在UI线程里执行那些耗时的操作,比方在网络下载数据或者查询数据库,因为耗时操作会堵塞用户界面的响应,产生ANR问题(application not responding),造成非常差的用户体验。
其次,因为UI线程处理着包括drawing事件,所以要和android UI toolikit交互,而android UI toolkit又是非线程安全的,所以不可以在UI线程外的线程里操作UI。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wljs/740.html