毕业论文查重

互联网资讯客户端设计与实现

1.1 开发背景
Android是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android平台的开放性等特点既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定特色化产品,因此,它具有很大的市场发展潜力。采用Java语言,从网络上的开放的新闻接口获取数据,设计出针对使用Android平台的资讯客户端,实时掌控的手机应用程序。
1.2 开发意义
随着科技的发展,手机作为一种非常重要的通讯工具,其功能越来越强大,相对电 视、互联网络等方式,手机凭借它可以随时随地获取和处理信息的优势,逐渐成为人们获取信息的一种重要手段。
Android平台资讯客户端软件的开发可以进一步扩大时事新闻的覆盖面,让广大公众能够随时随地方便且快捷地获取最新的新闻资讯信息,了解新闻时事,本软件的广泛使用,尤其是在传授知识、普及教育方面起着非常重要的作用。Android系统,它已经给全球手机市场带来了革命性的变化,显著的改变了市场格局,研究它,了解它的各个组件,及工作原理,发展它,将是非常有意义的。所以,基于Android平台,开发一个上述的新闻阅读器,也将是一个非常有意义的选题。
1.3 课题研究现状
目前市场研究机构Worldpanel发布了全球主要的国家智能手机操作系统在去年Q4内的分布报告,报告指出了谷歌的Android继续保持着增长的势态,但是增幅已经明显放缓了。而在另一个方面,苹果iOS操作系统在全球只能手机市场上均有下滑,个别国家的降幅甚至高达10.3%。最新统计数据中显示,Android操作系统将继续领跑全球市场,包括美国、澳大利亚、中国、意大利、英国、德国、西班牙等所占的市场比例都已经超出50%,并且还将继续呈现上涨的趋势。而在苹果iOS操作系统方面,最大的市场份额所占比的国家依旧是美国,数值为43.9%;紧随美国的则是澳大利亚,数值为35.2%;而在中国方面,市场份额也从21.2%下降到了19%;在意大利,iOS所占的市场份额更是从23.1%猛降至12.8%[1]。从上面的数据可以看出,Android手机软件的开发具有巨大的发展前景,在Android系统上开发出一款手机新闻客户端软件所支持的用户量也是相比较于其他系统多出很多的。
    Google与开放手机联盟联合开发了 Android操作系统,这个联盟由摩托罗拉、高通、宏达电、中国移动和 T-Mobile 等在内的多家无线应用和技术的领军企业组成。Google通过与设备制造商、开发商、运营商和其他有关各方结成深层次的合作关系,希望借助建立开放式、标准化的移动移动电话软件平台,在移动产业内形成一个开放性的生态系统,这将是开发Android软件的一个契机,Android平台的开发在将来必定大放异彩[2]。
1.4 论文组织结构
论文共有6章,
第一章:主要介绍了该设计选题的背景来源,以及当前国内外Android系统研发现状以及该毕业设计的论文组织结构。
第二章:本章主要介绍了Android的体系组成、Android的简介、Android的开发环境Android—SDK、Android开发所用的java语言、Android开发下的数据库SQLite以及Android开发工具Eclipse。
第三章:该章主要介绍了用户需求分析,以及系统数据的组成。
第四章:对软件的总体框架进行一个设计与介绍。
第五章:详细叙述软件的设计和实现,包括服务器搭建,底部导航搭建,侧滑菜单搭建以及新闻中心模块的设计。
第六章:对软件的优缺点进行一个客观的评价。 

第2章 开发环境介绍
2.1 什么是Android
Android是一堆perisian ,便于控制特定的设备,它包括一个操作系统,中间件和一些主要的应用程序。在Android SDK的beta版本提供Java语言采用了Android应用开发工具和API的必然推进Android平台。
特点:
1、使用原始和替换应用程序框架支持的组件;
2、Dalvik的方便传输设备优化的虚拟机基于开源的WebKit enjin;
3、采空区bersepadu;
优化的图形库包括定制的2D图形库,基于OpenGL ES 1.0;
4、我的SQL是用于存储结构化数据;
5、多媒体支持,包括定期的音频,视频和静态图像格式(如MPEG4,H.264 , MP3,AAC ,AMR ,JPG,PNG ,GIF);
6、电话技术,GSM;
7、Bluetooth蓝牙,EDGE,3G,和WiFi;
8、摄像头,GPS ,指南针,和督促;
Persekitaran丰富的开发,包括设备模拟器,调试工具,内存和分析宪章persekitaran成就和Eclipse插件开发bersepadu;
Pakej的Android连同天井套pakej的请愿书流传,包括电子邮件客户端, SMS程序简洁订单,日历,地图,采空区,维修程序熟人。使用Java语言Pakej露台请求。
2.2 Eclipse简介
2.3 Tomcat服务器简介
2.4 SQLite数据库的简介
SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的 SQL 数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下,只要确保 SQLite 的二进制文件存在即可开始创建、连接和使用数据库。在于个人使用 SQLite 的体验中, SQLite 最大的优点就是高度便携,在一些小型单机应用做数据存储是十分有优势的[3]。经过总结 SQLite 特点有以下几方面:
1、轻量级 
使用 SQLite  只需要带一个动态库,就可以享受它的全部功能,而且那个动态库的尺寸想当小。 
2、独立性 
SQLite 数据库的核心引擎不需要依赖第三方软件,也不需要所谓的“安装”。 
3、隔离性 
SQLite 数据库中所有的信息(比如表、视图、触发器等)都包含在一个文件夹内,方便管理和维护。 
4、跨平台 
SQLite 目前支持大部分操作系统,不至电脑操作系统更在众多的手机系统也是能够运行,比如:Android。 
5、多语言接口 
SQLite 数据库支持多语言编程接口。 
6、安全性 
SQLite 数据库通过数据库级上的独占性和共享锁来实现独立事务处理。这意味着多个进程可以在同一时间从同一数据库读取数据,但只能有一个可以写入数据。
2.5  JAVA语言简介
 

第3章 系统分析
3.1 系统开发的目标
1.了解Android系统下应用程序的构思和开发过程。
2. 采用MVC框架模式开发制作,引用自己已有知识的同时结合XML语言界面设计、Google Android API研究、photoshop的按钮控件设计、SQLite数据库搭建等技术的运用,使协同工作系统尽可能的安全与完善。
该客户端采用JAVA语言编写,通过工具Eclipse编写逻辑代码,Apache Tomcat7.0作为应用程序的服务器,其次运用Android内嵌的SQLite数据库实现用户数据的存取。
3.2 系统需求分析
3.2.1 用户需求分析
用户所需的知识新闻时事的实时推送和浏览,以及对自己感兴趣的资讯分类进行浏览,评论,转发或者其他功能。同时可以通过下拉实现该时段的新闻的最新更新。
3.2.2 功能需求分析
新闻详情WebView的使用,html模板和javascript的动态交互。快速敏捷开发,综合使用了Xutils、SlidingMenu(侧拉菜单)、Jpush(极光推送)、sharesdk(社会分享)、pullTorefush(下拉刷新)Zxin(二维码生成)等开源项目。屏幕适配,解决市面上各种手机分辨率适配的问题。
3.3系统可行性分析
3.3.1 经济可行性
在开发任一手机端应用程序,都不约而同受到人力资源和经济资源上的约束。所以我们必须要进行必要的经济可行性分析,以避免财力物力和做不出来给自己带来不必要的麻烦。资讯客户端的需求即浏览时事新闻,而如今的通信技术的发展,4G网络的出现以及WIFE的普及,所以没必要再担心流量的费用。增加了该客户端的经济可行性。
3.3.2 技术可行性
因为只需开发一个资讯客户端,所以自身所掌握的能力和技术并不要求很高端。在其中,用到最多的就是数据交换以及数据库技术,指的是服务器与客户之间用到的数据交换,以及Android系统下的解析数据以及用户界面的设计,这些都可以通过学习参考文献来进行实现。
3.3.3 操作可行性
第4章 软件的总体框架
该软件的开发,建立在MVC模式下。严格进行布局控制,对页面间的跳转等问题做了大量处理。软件总体框架图如图4.1:

 
图4.1 软件总体框架图
 
 第5章 软件的详细设计与实现
在软件开发之前,我对软件的界面、功能模块、数据展示进行了构思。因为之前没有具体的开发经验,所以造成一些扩展功能无法实现,如智慧服务模块、政要指南模块、高级设置模块。这些本应是一些软件在运营到后期,添加上的扩展功能,由于自己能力有限,所以暂时没有开发。本设计主要针对新闻中心模块进行开发。通过新闻中心,展示各个栏目的新闻。在界面上,我对整体的色调采用白色搭配红色进行UI显色,看起来美观大方。在设计的布局中,我深刻认识到,动手去做的重要性。在基础框架搭建中,有多种框架进行结合搭建,给自己在软件的开发中带来了很多麻烦,占用了软件开发的很多时间。布局界面设计好后就是数据的展示了,通过Tomcat服务器进行数据的提供。
5.1 服务器搭建
由于新闻客户端是一款展示数据类的手机软件,所以该软件特别的依赖服务器。在本项目设计中,我使用Tomcat服务器来为新闻客户端提供数据。
在开发中,设计一个数据库来存放新闻数据,虽然内容上不是太多,但在展示软件功能和性能已经足够。如果要让新闻客户端软件获取到服务器上的内容,首先把数据源导入到服务器中。如图5.1:
 
图5.1 数据导入服务器
既然有了服务器,那么我们就需要一个既定的网址,由于目前新闻客户端软件是在开发测试中,所以只能在模拟器上运行。那么对于访问服务器地址需要一定的了解:1.在真机上访问的IP模板是:192.168.12.74;原始模拟器IP:10.0.2.   GenyMotion(目前是面上最流向的Android模拟器):10.0.3.2。
开发服务器页面如图5.2:
 
图5.2 开发服务器页面
5.2 底部导航搭建
现在Android手机应用软件很多都加入了底部导航。这是一个软件设计的流行趋势,所以本软件设计中也加入了底部导航。目前底部导航设计有多种:. Radio Group+Fragment;Tab Host+Activity;Radio Group+ViewPager; RadioGrou p+自定义的Pager。
在本设计中,采用了RadioGroup + Fragment技术。RadioGroup是一些可选择的控件的载体,比如RadioButton就是我们在页面常见的单选框。根据RadioGroup的选择状态来改变界面的转换,整体效果突出,比较好的展现出页面的流畅性。而且在RadioGroup和Fragment的契合度,在一些相关资料中给出了高度的评价。综合多方面的考虑,本设计认为采用RadioGroup + Fragment来进行底部导航的框架是比较适合的。不过,在进行页面间切换时也会出现很多的问题,比较突出的问题是:当我们去滑动页面进行页面间的切换时,底部导航的RadioGroup并没有进行切换。这里就要出现一个新的技术点:滑动监听事件。当我们用手指点击屏幕并进行滑动时,对页面进行一个滑动点击事件的监听,当页面改变时,底部导航RadioGroup会监听到页面发生了改变,那么底部导航RadioGroup就可以做出相应,进行相应的切换。另外一个问题就是,由于我们已经设置了底部导航和左侧侧滑菜单,所以,在这里我们不在需要页面响应我们手指的操作,进行左右滑动。那么解决这个问题,就要了解事件的消费了。在Android程序框架中,事件的传递是从外向内传,事件的消费是从内向外传。如果想取消掉页面的左右滑动的事件,那么在滑动事件未传递到页面时给中断掉就好了。
对于这种设计是从大环境下需求而得出的结果。目前主流的技术就是这种,由于新闻中心布局的特殊性,在后期界面间进行转换时,运用这种方法较为方便。在页面布局中也是很有特色的利用RadioGroup + Frame5.3侧滑菜单搭建
本软件的设计中,加入了一层侧滑菜单的框架。仔细观测一下不难发现,现在市场上主流的应用程序都有侧滑菜单。如腾讯QQ,很明显的侧滑菜单。节省了很多界面空间。首先,需要认识一下SlidingMenu侧滑菜单第三方库工程。侧滑菜单库工程是一些技术大牛为我们封装好的可以直接使用的工具库,更加方便我们的开发。在我们使用时,需要集成到我们的工程中。在集成中,我们需要把原始Activity继承的父亲改为Sliding Fragment Activity,把方法onCreare前的修饰符protect改为public,也就是把该方法的使用范围从本工程使用,改为公用的方法。引用好侧滑菜单后,我们就要对侧滑菜单进行一系列的设置比如:模式位置(侧滑菜单是从左边还是右边出来)、侧滑菜单的打开方式:全屏幕还是边缘性打开、分割性的样式和宽度、侧滑菜单的打开宽度(侧滑菜单的偏移量)。侧滑菜单设置好后,我们就可设置侧滑菜单里的具体展示样式,一般是一个个的条目。通过这些条目可以展示一些相应的栏目,效果比较人性化。在布局页面搭建时,难度较高,只要是对条目的展示和条目所要对用的栏目的适配。其页面搭建如图5.4:

5.4.1  界面的搭建
本软件的开发是以新闻中心为中心开发的。新闻中心是本毕业设计的核心模块。通多底部导航可以进入到新闻中心模块。打开新闻中心模块后会会显示当前的主页面新闻展示。新闻模块布局相当复杂,对于界面设计和数据的连接,接下来详细叙述。
通过向右滑动新闻中心页面,页面左侧会出现一个左侧列表,显示新闻模块的几大功能分别是:新闻、专题、组图、互动栏目。由于开发时间和自身能力的不足,我只开发了新闻栏目和组图栏目,对于专题和互动模块后期自己水平提高后,再进行开发。打开新闻中心默认打开的是新闻栏目,其界面显示如图5.5:
5.4.2 新闻栏目的框架
是在底部导航框架的基础上来搭建的,而底部导航在搭建时又集成了SlidingMenu侧滑菜单,所以新闻栏目框架也可以说是搭建周期侧滑菜单SlidingMenu上的。所以,通过对侧滑菜单里条目的改变可以更改新闻中心栏目的页面的变化。这里使用了SlidingMenu和Fragment技术结合使用,是目前市场上主流界面搭建技术。Fragment早期是运用在平板上的,因为平板屏幕很大,每次翻整页的内容耗时,而且给用户体验不太好,在Android4.0以后,在智能手机中引入了Fragment,Fragment可以在一个Activity页面上展示不同的页面内容,大大降低了Activity的创建节省了内存,使得代码量减少,调理清晰。更重要的是,使得应用的运行更加流畅,给用户以更好的体验。其主要设计代码如下:
 工作中: 如果viewpager的界面非常非常复杂,很多大图片,直接使用不带缓存的FragmentStatePagerAdapt  如果Viewpager界面不十分复杂,可以使用带缓存的FragmentPagerAdapter
新闻栏目的布局也是相当的复杂,首先整个界面是建立在Linearlayout线性布局下。最顶部标题栏是一个Linearlayout线性布局,左侧是一个Button,用于点击打开侧滑菜单的。中间是TextView,用于显示当前栏目的名称。接着一个框架的引用,主要是一个导航,显示新闻中心模块中新闻的种类如:中国、国际、体育等新闻专题。导航条下面是一个轮番显示图片的viewpage,是一个自定义控件的使用,该控件可以显示开发者认为的当前新闻中比较中要的主题,用来显示中心新闻。Viewpage下面是一个ListView可以分条目显示内容。ListView可以进行上下滑动,当点击每个条目时可以调转到相应的新闻详细界面。
5.4.3 新闻中心数据的建立
进行联网查询服务器时,从服务器获取数据实际上从从存放在服务器的数据库表进行查询内容。后台的服务是整个软件的核心内容,主要是用户在进行页面间的操作时,手台的服务可以根据用户的点击的操作来进行识别,通过把这些操作转化为相应的语句,把这些语句传递给服务器后,服务器根据这些操作语句可已经进行各种操作,然后把节后返回给我们的应用软件。从而使得测序界面能显示相关的新闻资讯,来满足用的看新闻的需求。在数据中我建立了两张表,分别是:新闻的类别表t_category 表、新闻的内容表t_news表。这两张表的创建如下所示:
第6章 软件优缺点
在新闻客户端开发过程中,我遇到了很多问题。有很多开发相反的知识了解太少,以至于在开发软件,有部分没用没有完成。扩展性的模块没有做出开发,感觉到自己能力的有限。但在以后的学习中,我会尽量开发完这款软件的。
该软件的有点:界面美观大方,操作简单,用户能容易的掌握使用方式。该新闻客户端的功能很明确,通过新闻中心来展示该类新闻,简洁明了。新闻中心界面比较酷炫,能给用户更好的体验。目前,程序运行还是比较流畅,基本能满足用户的需求。
该软件的缺点:由于该软件的复杂性,在程序运行时可能会出现意想不到的错误。具体错误,我还在查找中。还有就是在新闻客户端打开时,由于代码没有进行很好的优化,获取数据时速度有一些慢。给用户的不好的使用体验。整个项目中,还有扩展模块没有进行开发,软件功能比较单一,体验度比较差。
所以,在后期的开发中,我会尽量改进这些不足。开发好一款实用,用户体验好的新闻客户端。
 

分享到:更多 ()

抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址