移动互联网开发课程设计报告学生姓名:余安慧学号:031440407专业:计算机科学与技术班级:0314404设计题目:茶百科学年学期:2016年秋季学期指导教师:张华目录一、设计题目....................................................................................................................................1二、设计目的....................................................................................................................................1三、设计原理及方案........................................................................................................................11使用的软件工具和环境............................................................................................................12需求分析与概要设计................................................................................................................23数据库设计................................................................................................................................34详细设计和关键问题................................................................................................................5四、实现效果..................................................................................................................................13五、设计体会..................................................................................................................................16参考文献.............................................................................................................................................................171一、设计题目茶百科二、设计目的随着智能手机一步步走进普通人的生活,它将成为人们获取信息的主要设备。因此,手机的应用服务将会有很大的发展空间,手机茶百科软件就是其中的一项。Android平台提供给用户非常方便的茶百科查询功能,这将为茶百科查询服务的设计与实现提供了更好的平台。另外,Android平台基本上是免费的,所以能够有效降低软件的成本,最终让每个用户能够自由地获取信息,也为手机茶百科查询服务的普及做出贡献。本文对目前应用的Symbian、WindowsMobile、MacOSX和RIM等平台的现状进行了分析与比较。进而研究分析了Android平台的系统架构和组件模型,接着解析了Android中的重要API和应用构成。主要应用了数据库,碎片,图片缓存等技术,在此基础上,基于Android平台设计和开发手机茶百科查询软件。本系统界面友好、操作便捷,具有良好的可扩展性和可维护性;系统经过测试,可以稳定运行,能够满足手机用户的基本需求。通过设计开发茶百科安卓客户端,综合训练安卓系统开发能力,进一步提升对安卓程序开发及运行的理解和认识,复习、巩固java语言的基础知识,进一步加深对java语言的理解和掌握,搭建一个完整的安卓开发环境。为学生提供了一个既动手又动脑,独立实践的机会,开发出界面与功能都有特色的安卓应用软件。三、设计原理及方案1使用的软件工具和环境(1)PC计算机(2)JDK安装包:JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库(3)Eclipse安装包:是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境(4)AndroidSDK安装包:AndroidSDK指的是Android专属的软件开发工具包(5)ADT插件:使用Eclipse进行android应用开发需要给Eclipse装ADT件,这样Eclipse就可以和androidsdk建立连接22需求分析与概要设计“茶百科”应用的功能需求是这样的:1.首页界面:在首页界面有头条、百科、咨询、经营、数据五个业务需求页面,用户可以在这五个页面中获得茶信息。⑴头条:是关于茶的最新信息,用户能获得最新的茶信息。⑵百科:是关于茶的各种信息,用户可以随便看。⑶咨询:是关于茶的一些做法,存储方法等信息,提供给用户咨询。⑷经营:是关于茶叶买卖如何经营的信息,提供给用户学习。⑸数据:是关于茶的一些经营统计数据信息,让用户了解。2.抽屉界面:在这个页面可以进行搜索,,我的收藏,浏览记录,版本信息,意见反馈等功能实现。⑴搜索:用户希望快速得到某年或者某类茶的信息,进行搜索显示。⑵我的收藏:用户查看了某条茶信息,觉得很好,进行收藏。⑶分享:用户查看了某条信息,觉得很好,分享给一些社交应用上的好友。⑷版本信息:让用户了解该应用的版本信息。⑸意见反馈:用户有意见或建议可以在此进行反馈。⑹浏览记录:用来保存用户都浏览过哪些界面,方便用户回看。根据这些业务需求,可画出功能模块流程图如图1所示:图1功能模块流程图“茶百科”软件只是一款便于用户查找有关茶的信息的应用软件,经过功能流程的分析,可得出其功能需求如下:1、首页界面:这里面包含头条、百科、咨询、经营、数据五个页面。头条是显示茶的最新信息内容,百科是显示茶的各种信息内容,咨询是显示茶的一些做法,存储方法等内容,经营3是显示茶叶买卖如何经营内容,数据时显示茶的一些经营统计数据内容。然而这些功能需求的目的都是为了用户能够方便的获取查看和茶有关的信息。2、抽屉界面:在这个页面可以进行搜索,显示搜索结果,可以查看自己的收藏内容,可以查看版本信息,显示版本信息页面,进行意见反馈,显示提交结果。3数据库设计在本应用软件中,有三个地方需要存储数据。第一处是:头条、百科、咨询、经营、数据这五个界面中的内容需要存储数据,它们都需要存储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,如图2所示:图2Maindata实体图2、Viewpagerinfo实体:其属性有title、name、link、content、image、image_s,如图3所示:4图3Viewpagerinfo实体图3、Collect实体:其属性有title、source、description、wap_thumb、create_time、nickname,如图4所示:图4Collect实体图54详细设计和关键问题在程序开发阶段,首先确定“Android平台茶百科软件”的工程名MyTea,跟据程序模块设计的内容,建立MyTea工程。MyTea工程结构图如5所示:图5工程结构图在工程中我们可以看到应用程序目录结构(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包中所涉及的内容如图6所示:6实现技术:(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下拉更新下载,下拉页面的时候,页面会更新加载据。详细设计:1.欢迎界面欢迎界面是由三张图片构成,可以滑动。这是由fragment和viewpager实现布局,图片上的圆点跟着图片的滑动而变化这是在Activity中的代码实现的,然后从最后一张图片点击跳转进入头条首页界面。下面是实现上述功能的代码及效果图如图7,图8所示:7图7跳转前图图8跳转后图82.首页界面模块首页