基于android平台手机茶百科开发毕业设计_第1页
基于android平台手机茶百科开发毕业设计_第2页
基于android平台手机茶百科开发毕业设计_第3页
基于android平台手机茶百科开发毕业设计_第4页
基于android平台手机茶百科开发毕业设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要随着智能手机一步步走进普通人的生活,它将成为人们获取信息的主要设备。因此,手机的应用服务将会有很大的发展空间,手机茶百科软件就是其中的一项。Android平台提供给用户非常方便的茶百科查询功能,这将为茶百科查询服务的设计与实现提供了更好的平台。另外,Android平台基本上是免费的,所以能够有效降低软件的成本,最终让每个用户能够自由地获取信息,也为手机茶百科查询服务的普及做出贡献。本文对目前应用的Symbian、WindowsMobile、MacOSX和RIM等平台的现状进行了分析与比较。进而研究分析了Android平台的系统架构和组件模型,接着解析了Android中的重要API和应用构成。主要应用了数据库,碎片,图片缓存等技术,在此基础上,基于Android平台设计和开发手机茶百科查询软件。本系统界面友好、操作便捷,具有良好的可扩展性和可维护性;系统经过测试,可以稳定运行,能够满足手机用户的基本需求。关键词:智能手机;Android;茶百科;Intent;布局AbstractWiththeMobilePhoneentersintothelivestepbystep,itwillbecomethemaindevicetoobtaininformation.ServicesofmobilePhonewillhavegreatdevelopmentspace,chabaikeinquiresisoneofthem.Androidplatformoffersusersveryconvenientchabaikeinquiresthefunction,Thiswillbeforchabaikeinquiresthedesignandimplementationofserviceprovidesabetterplatform.Inaddition,Androidplatformisbasicallyfree,socaneffectivelyreducethesoftwarecosts,Finallyleteachuserwillbefreetogetinformation,Alsoforthepopularizationofmobilephonechabaikeinquirestheservicecontribution.ThispaperdiscussesthepresentapplicationofSymbian,WindowsMobile,MacOSXandRIMsituationofsuchplatformareanalysedandcompared.FurtherresearchandanalysisoftheAndroidplatformsystemarchitectureandthecomponentmodel,thenanalyzestheimportantAndroidAPIandtheapplicationform,withIntentandlifecyclemechanism,onthisbasis,designanddevelopmentofmobilephonechabaikeinquiresthesoftwarebasedontheAndroidplatform.Thissystemfriendlyinterface,Convenientoperation,Hasgoodexpansibilityandmaintainability;aftertestofsystem,canstableoperation,Tomeetthebasicneedsofmobilephoneusers.Keywords:mobilephone,Android,chabaike,Intent,Layout目录TOC\o"1-3"\u1引言 11.1开发背景 11.2研究意义 11.3研究现状 11.4研究目的与内容 21.5论文组织结构 22.相关技术概述 32.1开发工具 32.1.1Android开发环境介绍 32.1.2开发需要的工具 32.2数据库系统 42.3所用技术 43.统需求分析 53.1功能需求分析 53.2性能需求分析 64.系统设计 74.1功能模块设计 74.2数据库设计 74.2.1概念模型的设计 74.2.2逻辑模型的设计 94.3用户界面设计 105.系统实现 135.1Android开发平台搭建 135.2系统框架 135.3功能模块实现 165.3.1欢迎界面 165.3.2首页界面模块 175.3.3抽屉实现部分 216.系统测试 266.1测试目的 266.2测试方案 266.3测试步骤及结果 267.总结 28参考文献 29致谢 301.引言1.1开发背景随着移动通信的发展以及互联网向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,windowsMobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开放性很强的平台。[6]Android是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android平台的开放性等特点既能促进技术(包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。经过多年的发展,第三代数字通信(3G)技术获得了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google与包括中国移动、摩托罗拉在内的三十多家技术和无线应用的领军企业组成的开发联盟为此于2007年11月推出了一个专为移动设备设计的软件平台———Android。Android最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,Android里面具有非常丰富的图形系统,对多媒体的支持功能和非常强大的浏览器。1.2研究意义随着移动互联网的发展,基于Android平台3G手机的应用软件也越来越流行,这给用户带来相当大的方便,无论何时何地,用户都可以随时拿出手机查询自己所需的信息,换言之,我们可以很方便的掌握天下事。“茶百科”就是一款基于Android手机平台的查询软件,对于那些热爱茶文化的人们可以通过此软件来获取茶文化信息。本课题的意义在于通过开发一款“茶百科”手机应用软件,可以熟练应用Android平台提供的应用程序接口,掌握Android平台上的各种应用。1.3研究现状据Gartner最新数据显示,2010年第二、三季度全智能手机销售继续大幅度增长,其中第三季度安卓占全球智能手机市场的25.5%,仅次于塞班,成为第二大智能手机系统。2010第二、三季度与去年同期相比,增度分别是15.4%及22%,增势迅猛。而塞班系统较09年的市场份额,尽管终端销量有大幅度提升,但增势下滑10%,形势非常严峻。其他操作系统的表现则要平稳很多。[6]安卓是首款开源代码的操作系统,采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改安卓的SDK软件包。系统的开源性使其具有良好的拓展性,一方面,为众多移动应用开发者提供了良好的系统性平台,有利于移动应用的集合;另一方面,终端厂商可以针对自身的特殊需要“定制化开发”。与此相比,尽管2010年2月,塞班基本完成开源工作,但由于代码臃肿,用户界面设计缺失,塞班的开源并无实际意义,错失发展良机。据Informa预测,2012年,安卓手机销量将超过诺基亚塞班手机,届时安卓将成为全球最大的智能手机平台。谷歌表示目前安卓手机每日平均激活量为20万部,销售速度加速上涨。我们认为,安卓在全球市场的成长壮大,塞班市场份额不断下跌已成不争事实。安卓操作系统发展迅猛主要得益于免费、开源和良好产业运作策略,这三点为安卓在智能手机市场赢得更多的发展机遇。系统的免费让更多的厂商加入,推动了份额的上升;代码的开源让更多的开发者进入应用开发;应用的丰富吸引了更多用户选择,这也是谷歌值得众多厂商学习的地方。此外,谷歌通过OHA联合众多厂商进行系统研发,不断更新版本,将系统应用推广到更多的终端产品中,确保用户体验持续改善。1.4研究目的与内容本软件是基于Eclipse的开发环境,Android手机平台,运用Java语言,从网络上获取茶百科信息,依托网络数据建立茶百科信息数据库,。开发出针对使用Android平台的茶百科系统。本课题的目的在于掌握Java手机应用开发技术和移动软件平台开发技术。在以Java语言为基础,结合Android移动开发平台,并利用Android提供的SDK,完成在Android平台上运行的“茶百科”查询软件,形成一款具有一定功能的手机应用软件。研究内容有(1)了解Android应用程序的设计和开发过程;(2)使用多种组件进行Android平台3G手机茶百科软件的开发。1.5论文组织结构本文第1章分析了移动互联网Android开发背景,意义,介绍了Android的研究现状以及研究的目的与内容。第2章概述了Android的相关技术,开发环境,需要下载的软件,及数据库系统还有所用的相关技术。第3章提出了系统需求分析,包括功能需求分析和性能需求分析两大方面。第4章对“茶百科”软件进行了系统设计首先是功能模块设计,其次是数据库设计,最后是界面的设计。第5章对“茶百科”软件如何实现进行了详细描述,从搭建Android开发平台开始,然后介绍了系统框架,最后描述了功能模块的具体实现。第6章对系统进行测试,说明了测试目的,给出了测试方案,测试步骤及结果。2.相关技术概述2.1开发工具2.1.1Android开发环境介绍Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的JavaSDK(其中包括JRE:JavaRuntimeEnvironment)。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的AndroidSDK。同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。以下是对Android开发所需工具的具体介绍:(1)Java语言:java语言是一种可移植性,跨平台,具有良好的封装性言,Android中的应用是用java语言编写的。(2)Dalvik虚拟机:Dalvik虚拟机是Android程序的虚拟机,是Andr中Java程序的运行基础。其指令集基于寄存器架构,执行其特有的文件格式——dex字节码来完成对象生命周期管理、堆栈管理、线程管理、安全异常管理、垃圾回收等重要功能。它的核心内容是实现(libdvm.so),大体由C语言实现。依赖于Linux内核的一部分功能——线程机制、内存管理机制,能高效使用内存,并在低速CPU上表现出的高性能。每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。(3)Eclipse:Eclipse是著名的跨平台开源集成开发环境。最初主要用Java语言开发,目前亦有人通过插件使其作为C++、PHP、Android等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。(4)JRE:是JavaRuntimeEnvironment,即Java运行环境,简称JRE如果你运行Java程序,下载并安装它即可。如果你要自行开发Java软件,请下载JDK,在JDK中附带有JRE。(5)AndroidSDK:AndroidSDK指的是Android专属的软件开发工具包。(6)ADT:使用Eclipse进行android应用开发需要给Eclipse装ADT件,这样Eclipse就可以和androidsdk建立连接。2.1.2开发需要的工具(1)Eclipse下载网址:/downloads/index.html(2)JavaDevelopmentKit(JDK)下载网址:/technetwork/java/javase/downloads/index.html(3)AndroidSDK下载网址:/sdk/index.html(4)ADT下载网址:/adt/index.html下载好以上软件工具,才能搭建Android开发环境,从而进行Android应用程序的开发。2.2数据库系统在Android系统开发中,存储数据时使用Android自带的数据库——SQLite数据库。SQLite是轻量级的、嵌入式的、关系型数据库,目前已经在iPhone、Android等手机系统中使用,SQLite可移植性好,很容易使用,很小,高效而且可靠。SQLite嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。从外部看,它并不像一个RDBMS,但在进程内部,它却是完整的,自包含的数据库引擎。本数据库支持功能如下:(1)自动建表,支持属性来自继承类:可根据注解自动完成建表,并且对于继承类中的注解字段也支持自动建表。(2)自动支持增删改,增改支持对象化操作:增删改是数据库操作的最基本单元,不用重复写这些增删改的代码,并且添加和更新支持类似于hibernate中的对象化操作。(3)查询方式灵活:支持android框架提供的方式,也支持原生sql方式。(4)查询结果对象化:对于查询结果可自动包装为实体对象,类似于hibernate框架。(5)查询结果灵活:查询结果支持对象化,也支持结果为List<Map<String,String>>形式,这个方法在实际项目中很实用,且效率更好些。2.3所用技术(1)欢迎界面(view+viewpager),使用ViewPager+view来实现屏滑动。我们可以用一个容器来形容ViewPager,在ViewPager中存放多个view,然后在Activity中添加view存放在list集合中然后用适配器,来实现屏幕的滑动。(2)UI中首页上方Tab,和其对应Fragment;点击ListView对应的Activity(3)侧滑界面(Fragment+ViewPager+DrawLayout+Activity),其中DrawLayout是指抽屉效果,当用户点击时出现抽屉的效果。(4)获取网络数据,HTTP联网下载数据,Json解析数据,HTTP是web浏览器和服务用来交换信息的一种Internet应用协议,该协议允许用户使用一个客户端程序通过URL在web服务器上检索文本、图像、声音等信息。JSON,全称是JavaScriptObjectNotation,是一种轻量级的数据交换格式,主要用于跟服务器进行交换数据。(5)本地数据库存储SQLite,在Android中,相关的SQLite数据库的库文件已经被放入Android系统平台的底层库文件,因此,我们可以直接通过相关的API来调用,从而实现数据库的各种功能。(6)xml布局,xml文档是文本文件,在这用来存储布局文件。(7)PullToRefresh下拉更新下载,下拉页面的时候,页面会更新加载据。3.统需求分析3.1功能需求分析经过分析,“茶百科”应用的功能需求是这样的:1.首页界面:在首页界面有头条、百科、咨询、经营、数据五个业务需求页面,用户可以在这五个页面中获得茶信息。⑴头条:是关于茶的最新信息,用户能获得最新的茶信息。⑵百科:是关于茶的各种信息,用户可以随便看。⑶咨询:是关于茶的一些做法,存储方法等信息,提供给用户咨询。⑷经营:是关于茶叶买卖如何经营的信息,提供给用户学习。⑸数据:是关于茶的一些经营统计数据信息,让用户了解。2.抽屉界面:在这个页面可以进行搜索,,我的收藏,浏览记录,版本信息,意见反馈等功能实现。⑴搜索:用户希望快速得到某年或者某类茶的信息,进行搜索显示。⑵我的收藏:用户查看了某条茶信息,觉得很好,进行收藏。⑶分享:用户查看了某条信息,觉得很好,分享给一些社交应用上的好友。⑷版本信息:让用户了解该应用的版本信息。⑸意见反馈:用户有意见或建议可以在此进行反馈。⑹浏览记录:用来保存用户都浏览过哪些界面,方便用户回看。根据这些业务需求,可画出功能模块流程图如图3-1所示:导航栏导航栏数据详细显示欢迎界面首页界面抽屉界面查询我的收藏版本信息意见反馈百科经营头条数据咨询更多收藏分享图3-1功能流程图“茶百科”软件只是一款便于用户查找有关茶的信息的应用软件,经过功能流程的分析,可得出其功能需求如下:1、首页界面:这里面包含头条、百科、咨询、经营、数据五个页面。头条是显示茶的最新信息内容,百科是显示茶的各种信息内容,咨询是显示茶的一些做法,存储方法等内容,经营是显示茶叶买卖如何经营内容,数据时显示茶的一些经营统计数据内容。然而这些功能需求的目的都是为了用户能够方便的获取查看和茶有关的信息。2、抽屉界面:在这个页面可以进行搜索,显示搜索结果,可以查看自己的收藏内容,可以查看版本信息,显示版本信息页面,进行意见反馈,显示提交结果。3.2性能需求分析为了保证软件能够长期、安全、稳定、可靠、高效地在Android设备上运行,本系统应该满足以下性能需求。(1)实用性原则“茶百科”软件应该充分利用手机的2G/3G网络,为本软件提供信息支持,充分考虑用户获取信息等待的心理需求,在简洁实用的基础上对软件界面层级进行布局。(2)可扩张性和可维护性原则为适应将来的发展,该“茶百科”软件应该具有良好的可扩展性和可维护性。系统设计尽可能模块化、组件化,由于Android设备分辨率的各不相同,使软件可灵活配置,适应不同的的Android终端设备。系统的可扩展性应包括能接纳已有的系统和在今后系统软硬件扩展时,能有效地保护已有的资源建设。当用户的需求有所改变时,可以对其快速的配置改变,以应对用户的需求,有一个较好的应用平台——Android设备,能容易地安装和卸载。系统易于扩充升级,既能满足当前业务的需求,将来的需求改变升级也被考虑在内。(3)安全可靠性原则本软件是基于手机设备使用的,其安全性与其他的应用软件是一样的,本软件不会残留用户任何的隐私信息。(4)易用性原则本软件是Android平台上的软件,自然保留了Android软件的应用性原则,平易近人,不需要额外学习,看到任何一个界面都不会不知所措,会有不同含义的图标进行提示下一步操作,保证用户使用时不会迷路。4.系统设计4.1功能模块设计系统的功能可以用以下的功能模块图来描述如图4-1所示: 导航栏导航栏数据详细显示欢迎界面首页界面抽屉界面查询我的收藏版本信息意见反馈百科经营头条数据咨询更多收藏分享图4-1功能结构图1、欢迎界面:欢迎界面是由三张图片构成,可以滑动,当滑到最后一个面时,点击立即体验时,进入首页界面。2、首页界面:这里面包含头条、百科、咨询、经营、数据五个页面,当你点击哪个标题就跳到对应的页面或者侧面滑动页面就指向对应的标题。在有网络的情况下才可以获取到网络的数据内容(标题,内容,时间,图片),可以对内容收藏,当要刷新这些页面,下拉页面时,就会更新页面内容。3、抽屉界面:在首页的右上方有个抽屉按钮,点击这个按钮,就向左弹出一个页面,就像拉开抽屉一样,所以称为抽屉,在这个页面可以进行搜索,搜索和茶有关的信息,可以查看收藏夹,查看版本信息,进行意见反馈。4.2数据库设计4.2.1概念模型的设计在本应用软件中,有三个地方需要存储数据,第一处是:头条、百科、咨询、经营、数据这五个界面中的内容需要存储数据,它们都需要存储title(标题)、source(数据来源出自哪里)、description(内容描述)、wap_thumb(图片)、create_time(创建时间)、nickname(名称)、category(种类,是指数据为头条,百科,资讯,经营,数据,用于区分是哪一种数据),所以该处取名为:Maindata。第二处是:头条这个界面的网络图片显示需要存储关于图片数据,有title(标题)、name(名称)、link(连接)、content(内容)、image(图片1)、image_s(图片2),所以该处取名为:Viewpagerinfo。第三处是:在抽屉界面中我的收藏那里需要保存数据,有title(标题)、source(数据来源出自哪里)、description(内容描述)、wap_thumb(图片)、create_time(创建时间)、nickname(名称),所以该处取名为:Collect。根据以上分析可以得出以下实体:1、Maindata实体:其属性有title、source、description、wap_thumb、create_time、nickname、category,如图4-2所示:图4-2Maindata实体图2、Viewpagerinfo实体:其属性有title、name、link、content、image、image_s,如图4-3所示:图4-3Viewpagerinfo实体图 3、Collect实体:其属性有title、source、description、wap_thumb、create_time、nickname,如图4-4所示:图4-4Collect实体图4.2.2逻辑模型的设计根据概念模型的设计可以建立三个逻辑表Maindata,Viewpagerinfo和Collect,分别存储主要数据、动态图片数据和收藏数据。Maindata表该表主要存储头条、百科、咨询、经营、数据这五个界面中的内容,它包含的字段有title、source、description、wap_thumb、create_time、nickname、category,如下表4-1所示:序号字段字段说明字段类型字段位数1id编码varchar302title标题文本503source出处文本504description内容描述文本505wap_thumb图片文本506create_time创建时间文本507nickname名称文本508category种类文本50表4-1Maindata表2、Viewpagerinfo表该表主要存储头条这个界面的网络图片显示(图片数据),它所包含的字段有title、name、link、content、image、image_s,如下表4-2所示:序号字段字段说明字段类型字段位数1id编码varchar302title标题文本503name名称文本504link连接文本505content内容文本506image图片1文本507image_s图片2文本50表4-2Viewpagerinfo表3、Collect表该表主要存储抽屉界面中我的收藏中的数据,它所包含的字段有title、source、description、wap_thumb、create_time、nickname,如下表4-3所示:序号字段字段说明字段类型字段位数1id编码整型42title标题文本503source出处文本504description内容描述文本505wap_thumb图片文本506create_time创建时间文本507nickname名称文本50表4-3Collect表4.3用户界面设计1、欢迎页面从第一个界面向左滑动进入第二个界面,再向左滑动进入第三个页面,然后点击“立即体验”进入带导航的首页,如图4-5所示:图4-5欢迎界面图2、首页界面左图为头条模块的首页,右图为抽屉界面可以实现搜索,以及收藏夹,如图4-6,图4-7所示图4-6首页图图4-7抽屉界面图3、抽屉界面(1)在抽屉界面中的搜索功能出现的界面与我的收藏界面图如图4-8,图4-9所示。图4-8搜索界面图图4-9我的收藏界面图(2)在抽屉界面中还有显示收藏夹,版本信息,意见反馈界面设计图如图4-10所示图4-10意见反馈图5.系统实现5.1Android开发平台搭建Android开发平台搭建步骤:(1)先到各个网站把所需的工具下载下来:JDK,Eclipse,AndroidSDK,ADT(2)双击Eclipse解压后目录中的eclipse.exe然后启动,选择Eclipse菜单中的Help->InstallNewSoftware->选项卡上的AvailableSoftware,点击右侧的“Add”输入/android/eclipse/后确定,然后在“Workwith”下拉菜单中选择刚才输入的网址。过一会就会出现一个DeveloperTools选项,勾上以后点击Next以后Eclipse会自动网上查找Android开发工具插件,然后找到AndroidDDMS和AndroidDevelopmentTools,选中这两个点击Finish,Eclipse就会自动下载并安装Android插件了,最后会提示重启Eclipse。[1](3)重启后选择Eclipse菜单中的Windows->Preferences在左侧的Android项目中SDKLocation中填入AndroidSDK解压后的目录,然后点击Apply。(4)在Windows系统变量中的path变量中添加一个值,该值指向解压后的AndroidSDK目录下的tools文件夹。5.2系统框架在程序开发阶段,首先确定“Android平台茶百科软件”的工程名ChaBaiKe,跟据程序模块设计的内容,建立ChaBaiKe工程。ChaBaiKe工程结构图如5-1所示:图5-1工程图1在工程中我们可以看到应用程序目录结构(1)src,在这个包内放的是源代码;(2)gen,是自动生成的res资源文件类R;(3)assets,是放置的资源文件不再R类中生成;(4)bin,是编译后的class文件等目录;(5)libs,是存放项目中的第三方类库;(6)res包,在这个包中放的是xml布局文件、图片和其他格式文件等;(7)AndroidManifest.xml这个清单文件很重要,需要在这个文件中注册所用的四大组件(Activity、Service、IntentReceiver、ContentProvider),声明应用包名和应用版本号,用户权限使用声明,硬件访问声明,还有指定编译环境SDK版本信息等,不然应用程序运行不了。src包中所涉及的内容如图5-2所示:图5-2工程图2在src包下建了以下这些包:com.example.chabaike:放的是各种Activity代码,来实现页面操作和跳转;com.example.chabaike.basic:存放获取数据来源的路径;com.example.chabaike.basice.modle:存放类内容;com.example.fragments:存放侧滑内容;com.example.pulltorefresh:存放下拉刷新内容;com.example.services:存放后台下载服务内容;com.example.sqlite:建立数据库包;com.example.utils:存放工具类包。res包中所包含的内容如图5-3所示:图5-3工程图3在res包中含有很多包,带有draeable字样的包都是存放图片的,因为不同的手机分辨率不同,所以得分类,一般图片都放在drawable-hdpi中,layout包中放的是xml布局文件。menu包是放设置菜单的xml文件,带有values包是存放设置样式文件,不如布局中图片颜色的设置,最重要的是存放屏幕高宽的适配文件。为了使源代码文件的结构更加清晰,ChaiBaiKe工程设置了多个命名空间,分别用来保存用户界面、数据库、后台服务和工具实体的源代码文件,源代码文件的名称以及说明如表5-1所示。包名称文件名说明com.example.chabaikeAdviceFeedBackActivity.java“设置页面”的Activitycom.example.chabaikeBMapUtil.java从view中得到图片com.example.chabaikeIndexActivity.java展示首页头条com.example.chaibaike.basice.modelData.java列表数据类com.example.fragmentsDataFragment.java在数据里添加Listviewcom.example.fragmentsManageFragment.java在经营里添加Listviewcom.example.serviceUpdataApkService.java启动服务下载APKcom.example.sqliteDBHelper.java创建数据库建表com.example.utilsHttpUtils.java连接网络实现下载表5-1ChaBaiKe工程的文件用途说明Android的资源文件保存在/res的子目录中。其中res/drawable/目录保存的是图片xml文件,res/drawable-hdpi/目录下存放的图片资源,res/layout/目录下保存的是布局文件。以下是资源目录,文件及说明表5-2所示:资源目录文件说明drawablebutton_style.xmlUI中按钮控件美化cycle.xml美化UI控件的圆角设置rounded_edittext.xml文本输出的圆角设置drawable_hdpibutton_down.png这个文件夹里是工程里所用的图片,如有表示按钮,导航等,此处不一一例举了。button_on.pngic_logo.pnglogo.pnglayoutloadingpage1.xml设置首页界面布局more.xml显示搜索页面的布局mycollect.xml显示我的收藏布局item.xml显示图片和文字布局valuesstyles.xml主题样式XML文件strings.xml保存字符串的XML的文件xmlAndroidManifest.xml授权注册清单文件表5-2ChaBaiKe工程的文件用途说明5.3功能模块实现5.3.1欢迎界面欢迎界面是由三张图片构成,可以滑动。这是由fragment和viewpager实现布局,图片上的圆点跟着图片的滑动而变化这是在Activity中的代码实现的,然后从最后一张图片点击跳转进入头条首页界面。下面是实现上述功能的代码及效果图如图5-4,图5-5所示:图5-4跳转前图图5-5跳转后图5.3.2首页界面模块首页界面:有头条、百科、咨询、经营、数据五个界面,都包含网络获取数据,下拉更新内容,返回和收藏功能,由欢迎界面进入的首页,首页界面上方有个三张图片的动画效果,在这个页面,可以上下滑动,点击每个列表,你可以进入具体的茶信息页面,在这个页面,点击收藏,会弹出土司(就是弹出一条通知提示用户的)告知收藏成功,点击返回,回到头条界面,然后进行其他页面操作,可以点击那些标题进入其他页面,也可以侧滑页面进入。1、网络获取数据网络获取数据:判断是否有网络,在有网络的情况下,获取那些关于茶的信息。在没有网络的情况下如效果图5-6所示,在有网络的情况下如效果图5-7所示:图5-6无网络图图5-7有网络图实现网络获取数据功能,首先根据服务端给的接口,实现联网,以下是接口路径与网络下载实现代码。2、下拉更新内容下拉更新:在有网的情况下,下拉页面,更新页面数据。当用户想看更多的信息时,就需要更新页面,所以在这做了下拉的功能,下拉更新时的效果图如图5-8所示:图5-8下拉效果图实现下拉更新的部分代码如下:3、返回返回:返回上一级页面。当进入二级页面浏览完页面信息时,需要返回上一级页面时,实现这个返回界面时的效果图如图5-9,图5-10所示:图5-9返回前图图5-10返回后图实现返回功能的部分代码如下4、收藏收藏:把需要的茶信息收藏到我的收藏中,便于下次直接查看。当用户看到感兴趣的茶信息时,为了下次方便找出来,所以进行收藏在我的收藏里出现,这部分也就是使用数据库存储数据,实现的效果图如图5-11,图5-12所示:图5-11收藏进行图图5-12显示收藏图实现数据存储的功能代码如下5.3.3抽屉实现部分抽屉界面:包含搜索、我的收藏、地图查询、版本信息和意见反馈功能模块。点击抽屉按钮,向左弹出一个抽屉页面,在这个页面上有搜索、我的收藏、地图查询、版本信息和意见反馈,再点击抽屉按钮,退出此页面。实现抽屉效果,我们需要在布局文件中用DrawerLayout布局,然后在代码中实现监听事件,效果图如图5-13所示:图5-13抽屉实现效果图抽屉实现的代码为drawerLayout.openDrawer(Gravity.RIGHT);//打开抽屉搜索设置关键字,搜索存入数据库中的内容,先判断输入的是否是关键字,如果是就显示相关的页面,如果不是就会弹出土司告诉用户没有找到你要搜索的内容显示效果图如图5-14、图5-15所示:图5-14搜索成功图图5-15搜索失败图设置关键字是根据内容的汉字,数字设置,实现的代码如下我的收藏点击我的收藏,显示收藏的内容,我的收藏效果图如图5-16所示:图5-16收藏效果图我的收藏部分是数据库实现部分,以下是存储收藏表:3、地图查询地图查询功能,是用了百度地图,实现定点,查询用户要找的茶叶店,点击地图查询,进入百度地图,可以查找附近的茶叶店,地图查询的效果图如图5-17:图5-17地图查询效果图实现地图功能的部分代码如下:版本信息版本信息是显示这个应用软件版本权限信息,点击,显示版本信息,但这只是一个静态页面,实现的效果图如图5-18所示:图5-18版本信息效果图实现这个页面的代码如下5、意见反馈意见反馈是用户对软件提出的意见,进行提交然后得到反馈,但是由于能力有限,只做了个页面,页面的显示效果如图5-19所示,及代码实现如下:图5-19意见反馈效果图6.系统测试6.1测试目的确认系统的功能是否达到预期要求,确认系统是否能够完成预定的功能,系统数据库是否有较高的安全性,确认是否屏幕适配。6.2测试方案启动不同尺寸的虚拟机按照使用流程依次测试,看看是否达到预期的效果。6.3测试步骤及结果⑴启动Android虚拟机在工程名为ChaBaiKe上点击右键,然后选择“RunAs”,然后选择”AndroidApplication”.Android虚拟机启动的比较慢,需耐心等待。如下图6-1所示:图6-1虚拟机显示图⑵根据测试流程,可以得到测试结果,以下是测试结果的部分截图。如下图6-2所示:图6-2测试结果图通过逐步的测试,结果是符合需求的,也达到了预期的效果。7.总结经历了数月,基于android平台3G手机“茶百科”软件终于被我完成了。在这一过程中很艰辛,因为经常出错,一直在编写代码,调试程序中度过的。由于对JAVA的浓厚兴趣,对android的好奇,这让我选择的了android,从一开始什么都不懂,然后一直慢慢摸索着,上网百度各种android方面的资料,新技术,又向老师寻求帮助,就这样慢慢的完成了这款手机版的“茶百科”软件系统。在这个过程中我学会了很多知识,比如在Windows系统下的Android环境搭建,Intent,Activity,Service,ContentProvider,四大组件之间的关系和运用,还有SQLite数据库的使用等,在这里我想声明下,不管学习什么,我们都要学会利用现有的资源去解决问题,在书籍上,网络上,或向老师,学霸们寻求答案,这点非常重要。在Android平台以及在该平台上开发手机“茶百科”查询软件上做了大量的工作,但因个人能力有限,还有很多问题需要解决,比如代码实现的不够优化,在整个工程的构思方面也不够全面,用户操作还不够灵活,还有扩展的地方像“茶购买”等给用户带来更好体验与方便的模块,现在我对未来可以进行的工作做出以下几点展望:(l)本文实现的“茶百科”查询客户端是基于Android平台进行开发的,但是还未能真正解析Android的精髓,系统的界面设计也不是很完善,对Android平台进一步研究,能够使系统在设计方面更加快捷和完善。(2)本系统中“意见反馈”这个功能还没有实现,只是做了个静态页面,在这方面这些问题会逐步得到解决,相信基于Android平台的“茶百科”软件会有很好的应用前景。参考文献[1]

欧阳零.Android核心技术与实例详解(第2版)[M].北京:电子工业出版社,2013.4.

[2]

李宁.Android开发权威指南[M].北京.人民邮电出版社,2011.9.

[3]

李刚.疯狂Android讲义[M].北京:电子工业出版社,2011.7.

[4]

杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010.8.

[5]

Android

SDK开发范例大全[M].北京:机械工业出版社,2010.6.

[6]

景保玉.2010中国移动应用开发现状与趋势大调查[J],2011年01月12日.

[7]

韩万江.软件工程案例教程[M].机械工业出版社,2008

[8]

王向辉,张国印,沈洁.Android应用程序开发[M].清华大学出版社,2010年3月.

[9]

刘卫国,姚昱禹.Android的架构与应用开发研究[J].中南大学:信息科学与工程学院

计算机系统应用

2008-11:110-112.

[10]

陈璟,陈平华,李文亮.Android内核分析[J].广东工业大学计算机学院

实践与经验,2009:112-115.

[11]Roger

S.Pressman,郑人杰,马素霞.软件工程:实践者的研究方法(原书第7版)[M]2011.05.

[12]

王世江,盖索林.Google

Android开发入门指南(第2版)[M].人民邮电出版社2009.11.

[13]

王国辉.Java

Web

开发实战宝典[M].清华大学出版社

2010.01.

[14]

袁国忠、纳德尔曼(Greg

Nudelman),Android应用UI设计模式,人民邮电出版社

2013.12.

[15](美)EdBumette.Android基础教程[M].北京:人民邮电出版社2010.05. 致谢本课题的设计和论文撰写过程中,我的指导老师:付老师给于了极大的帮助,为我提供了大量的相关资料。周老师对学术的严谨和精益求精的工作作风给我留下了深刻的印象,受益匪浅。在做毕业设计这几个月时间里,老师在总体设计思想上给予了许多重要的实际指导,拓展了我的思路,使得我得以完成了任务。在此,我对周老师的指导表示衷心的感谢。同时,我也衷心的感谢信息学院四年来对我的精心栽培,良好的校园环境、精良的师资队伍、浓厚的校园文化都让我深深怀念,都为我进入社会提供了莫大的帮助。最后,再次感谢我的指导师和曾经帮助过我的所有老师,衷心地感谢为评阅本论文而付出宝贵时间和辛勤劳动的老师们!基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究HYPERLINK"/detail.htm?

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论