天府美食(系统)-毕业论文_第1页
天府美食(系统)-毕业论文_第2页
天府美食(系统)-毕业论文_第3页
天府美食(系统)-毕业论文_第4页
天府美食(系统)-毕业论文_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

成都职业技术学院 毕业论文(设计)论文(设计)题目: 天府美食(系统) 学生姓名 专业班级 计算机软件技术 学生学号 系 计算机系 指导教师 20XX年X 月 X 日目 录摘 要2Abstract21.绪论41.1 项目开发背景41.2 项目开发的目的41.3 Android系统的发展历程41.4 Android系统的前景51.5 Android系统的架构62.系统设计92.1系统功能分析92.1.1主页功能模块102.1.2分类功能模块102.1.3附近功能模块102.1.4搜索功能模块112.1.5上传功能模块112.2系统流程图113.数据库设计123.1数据库的需求分析123.2数据库的表的建立134.详细设计144.1界面设计的设计144.1.1主页界面设计144.1.2分类界面设计164.1.3附近界面设计174.1.4搜索界面设计184.1.5上传界面代码204.2模块功能实现的代码214.2.1TabHost的实现214.2.2主页功能的实现234.2.3分类功能的实现244.2.4附近功能的实现244.2.5搜索功能的实现254.2.6上传功能的实现265.总结26致谢27参考文献:27摘 要在如今这个智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。这款软件包括了操作系统、用户界面和应用程序,即智能手机工作所需要的全部软件。Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,Android平台具有无限的吸引力。因为Android操作系统的流行和操作简单,所以我们制作了这款能在Android手机上使用的美食搜索软件天府美食。成都有“美食之都”之称,有许多脍炙人口的美食,然而很多人到成都却不知道有什么好吃的,也不知道哪里才有。白白错过了很多大饱口福的机会。为了更好的帮助大家找到成都的美食,我们就制作了这么一款能帮助大家寻找美食与交流的软件天府美食。关键词: Android,天府美食,智能手机AbstractPowerfulweapon in todays smartphone system, 2008, Google introduced a open source smartphone operating system called Android, it USES the Linux kernel, the open handset alliance members (smaller companies) is free to use and modify the SDK packages, the system of open nature make it has good expansibility. The software includes operating systems, user interface and application, namely the smartphone all the software you need. The biggest feature of Android is its open architecture, not only has very good development, debugging environment, but also support a variety of extensible user experience, including rich graphics, multimedia support and a powerful browser components. Therefore, for software professionals, Android has the infinite attraction.Because of the popularity of the Android operating system and the operation is simple, so we made this model can be used on an Android phone software - tianfu food delicacies. Chengdu has name of gourmet, there are many popular foods, but a lot of people to chengdu dont know whats so good, also dont know where is. Chance to be missed out on lots of big full the luck to eat STH delicious. In order to better help you find chengdu gourmet, we make so that can help you to find food and communication software - tianfu food.Keyword:Android,tianfu food,Smart Phone1.绪论1.1 项目开发背景随着计算机技术的发展和互联网时代的到来和飞速发展,我们已经进入了信息时代,也有人称为数字化信息时代,在这飞速发展的数字化时代中,信息资源的传递得到了巨大的发展。而Android操作系统在这个时代有飞速的发展,大多数人现在都使用的是android手机,因此开发一款专门用与介绍和指导品尝成都美食的软件是非常实用的。作为天府之国,四川省会,成都的美食与它的历史一样悠久。而到了成都想要品味四川美食的时候却找不到正宗的四川美食,品尝不到四川美食。作为旅游者的失落心情可想而知。而天府美食这款软件收罗了四川大部分的美食信息,从而方便了来川旅游、在川居住的朋友。1.2 项目开发的目的 随着信息化时代的飞速发展,生活水平的日益提高,人们对物质生活的需求越来越大。而爱吃、好吃、会吃的中国人在对吃的需求也越来越大,作为天府之国,川菜的故乡当然不能落后与人。而天府美食这款软件收罗了四川大部分的美食信息,从而方便了来川旅游、在川居住的朋友。1.3 Android系统的发展历程随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的 要求越来越高,而Symbian,Windows Mobile,IOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯的网络终端,这还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。 Google 为此在2007年11月推出了一个专为移动设备设计的软件平台Android。 2008年,在智能手机领域还是诺基亚的天下,Symbian系统在智能手机市场中占有绝对优势。在这种前提下,Google发布的Android 1.0系统并没有被外界看好,甚至言论称最多一年Google就会放弃Android系统。但是在发布系统之后不久就有一款搭载Android 1.0系统的手机现身,这款手机就是T-Mobile G1,手机是由运营商T-Mobile定制,台湾HTC(宏达电)代工制造。T-Mobile G1是世界上第一款使用Android操作系统的手机,手机的全名为HTC Dream。这款手机采用了3.17英寸480x320分辨率的屏幕,手机内置528MHz处理器,拥有192MB RAM以及256MB ROM。 在随后的2009年4月,Google正式推出了Android 1.5这款手机,从Android 1.5版本开始,Google开始将Android的版本以甜品的名字命名,Android 1.5命名为Cupcake(纸杯蛋糕),该系统与Android 1.0相比有了很大的改进。在2009年10月份,Google发布了Android 2.0操作系统,Google将Android 2.0至Android 2.1系统的版本统称为Eclair(松饼),同样是一种甜品名称。新系统与旧系统相比进行了较大的改进:Android 2.0版本的代表机型为NEXUS One(G5),这款手机为Google旗下第一款自主品牌手机,该机是由HTC代工生产。NEXUS One(G5)采用了一块3.7英寸触摸屏,分辨率提升至480x800。手机内置高通snapdragon QSD8250 1GHz处理器,拥有512MB RAM以及512MB ROM,手机运行非常流畅。NEXUS One(G5)拥有一枚500万像素的摄像头。 在这以后,Android便一直没有停下发展的脚步,在2011年1月,Google称每日的Android设备新用户数量达到了30万部,到2011年7月,这个数字增长到55万部,而Android系统设备的用户总数达到了1.35亿,Android系统已经成为智能手机领域占有量最高的系统。截止到2011年9月份,Android系统的应用数目已经达到了48万,而在智能手机市场,Android系统的占有率已经达到了43%。继续在排在移动操作系统首位。Google即将会发布全新的Android 4.0操作系统,这款系统被Google命名为Ice Cream Sandwich(冰激凌三明治)。2012年1月6日,谷歌Android Market已有10万开发者推出超过40万活跃的应用,大多数的应用程序为免费。Android Market应用程序商店目录在新年首周周末突破40万基准,距离突破30万应用仅4个月。在2011年早些时候,Android Market从20万增加到30万应用也花了四个月。1.4 Android系统的前景安卓系统的几大优势:开放性 Android跟Linux并不是一个概念,Android基于Linux,但更重要的是它提供了一个framework,基于这个,developer 可以轻松的开发各种应用程序,并且这些代码以及开发工具都是开放和免费的。 与 Google 应用的无缝结合如果现在一台电脑不能上网,那么简直就是一台废物,同样,如果一个手机不能上网,在 2、3 年之后,也会丢失一大部分价值(不需要上网的手机用户还会存在很长一段时间),而 Google 开发 Android 的目的也在于把手机和这些应用结合起来。 开发的易上手性Java 是最容易上手的,不像 Iphone,需要熟悉他的很多框架,以及 objective c(虽然学起来也并不难)。据 Google 称,基于安卓系统的几大优势,在其推出后的两个月内,程序员下载这个软件开发平台的次数已经高达 250000 多次。尽管在如此庞大的下载数量中只有一小部分开发者真正开始编写实际的应用程序,但却由此可以看出惊人的开发商兴趣。相比之下,Symbian 在操作系统推出一年后,其操作指南的下载次数只有 70000 次左右。 看起来“Google 手机”尽管宣传比较低调,但实际卖得还不错,前景很是被人看好。1.5 Android系统的架构图1-1Android架构图一、应用程序 Android 会同一系列核心应用程序包一起发布,该应用程序包包括 email客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA 语言编写的。二、应用程序框架 开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。 隐藏在每个应用后面的是一系列的服务和系统, 其中包括; 丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的web 浏览器。 内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据 资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。三、程序库 Android 包含一些C/C+库,这些库能被 Android 系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库: 系统 C 库 - 一个从 BSD 继承来的标准 C 系统函数库( libc ), 它是专门为基于 embedded linux 的设备定制的。 媒体库 - 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。 Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D 和 3D 图层的无缝融合。 LibWebCore - 一个最新的web 浏览器引擎用,支持Android 浏览器和一个可嵌入的web 视图。 SGL - 底层的 2D 图形引擎 3D libraries - 基于 OpenGL ES 1.0 APIs 实现;该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D 软加速。 FreeType -位图(bitmap)和矢量(vector)字体显示。 SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。四、Android 运行库 Android 包括了一个核心库,该核心库提供了JAVA 编程语言核心库的大多数功能。 每一个 Android 应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟 机实例。Dalvik 被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik 虚拟机执行(.dex)的 Dalvik 可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA 编译器编译,然后通过 SDK 中 的 dx 工具转化成.dex格式由虚拟机执行。 Dalvik 虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。五、Linux 内核 Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。2.系统设计2.1系统功能分析成都素有“美食之都”的美称,来成都除了旅游另外就是吃了。成都有众多的总所周知的美食,比如四川回锅肉、陈麻婆豆腐、夫妻肺片等等。虽然有这么多美食,但是能够找到这众多美食的人却不多。为此我们特点制作了这么一款及介绍与导航与一体的Android手机软件天府美食。为了方便用户,天府美食主要设计了五个大的模块。1. 主页模块2. 分类模块3. 附近模块4. 搜索模块5. 上传模块下面就这几个模块一一介绍:2.1.1主页功能模块主页功能模块设计的是展示十大热门美食,成都有众多的美食,在页面上不能是全部展示出来。我的设计就是展示当前最热门的十大美食,这十大美食都是在当前季节点击最多的美食,是符合当前饮食的最佳选择。当你在这个页面点击美食的时候就跳转到美食的详细信息,你能更好的了解这款美食到底在哪里,价格怎么样。味道是什么风格的,当然还有很重要的一个价格。同时你还能在这里看到其他人的评价,通过他人的评价你就知道这款美食具体怎么样,是否符合你的要求。如果你是想要去品尝这款美食,你还可以点击地址导航。地址导航会指导你怎么到达这个地方。是不是很方便快捷呢!2.1.2分类功能模块分类功能模块设计的是展示各种美食分类:干锅、火锅、小吃。你喜欢什么美食你就点击什么类型的美食,比如你喜欢干锅。你点击干锅进入下一个页面,然后就展示各种干锅。在这么多干锅中优先列出最好,最收欢迎的十款供你选择。点击你想查看的那款,进入到详细信息。2.1.3附近功能模块附近功能模块是根据百度地图提供的Api进行实施的,操作就和使用百度地图一般。首先进入附近页面的是根据GPS定位,在地图上显示你的位置,随后把你所在的周边有的美食店也展示在地图上,方便你查看周围有什么好吃的。你可以点击在地图上面标识的点子,然后会展示该店子的信息。你可以根据这些信息决定你是否要到这家店子用餐。附近功能模块还提供地点搜索和公交搜索功能,你想到哪个地方去或者你想乘坐哪一路公交车,只需要你输入你想要去的地方。地图就会把你搜索的地方显示出来,然后根据你所在的位置提供前往该地方的路线。你只需要选择一条你喜欢的路线就能方便的到达该地。2.1.4搜索功能模块搜索功能模块主要有两个功能:店名搜索和菜名搜索。如果你知道有那么一家店子,但是不知道店子的美食到底怎么样。这个时候你就可以选择店名搜索,搜索出来的是该店子的美食,点击一款你觉得不错的美食,就可以查看该美食的信息了。菜名搜索顾名思义是根据菜的名字进行搜索的,比如你搜索回锅肉,结果就出来在数据库中所有有的回锅肉,点击你喜欢的那一款查看详细信息。搜索功能模块是一个非常方便实用的功能。2.1.5上传功能模块上传功能做为本系统的一个特色功能具有拍照上传和直接上传两个功能。拍照上传:顾名思义拍摄美食的照片然后填写美食的信息:名字、价格、地址、类别、味道与服务。直接上传:只填写美食的信息。通过上传功能做到与其他人做一个简要的沟通,方便他人更好的寻找美食。提高美食的名气。发扬成都的美食文化。2.2系统流程图基于以上设计,该系统的具体流程图如图2-1所示:天府美食 首页 分类 附近 搜索店面显示地名搜索路线搜索食品搜索店名搜索 上传拍照上传直接上传图2-1系统流程图3.数据库设计3.1数据库的需求分析通过系统功能设计,我们还需要建立几个数据库。数据库的需求如下:1. 用户表:姓名,性别,年龄,手机,密码,邮箱。2. 食品信息表:食品Id,食品种类,菜名,地址,价格,推荐理由,图片,口味,发布人,发布时间,点击次数。3. 评论表:评论ID,食品ID,评论人,评论内容,评论时间4. 食品类别表:类别ID,类别名3.2数据库的表的建立用户表Serial numberColum name中文名字Data typekeyNU1uidintintpkAI2username 姓名Varchar(20)Not null3Sex性别Varchar(4)4age年龄Int 5Call phone手机Int6Pass word密码Varchar(20)Not null7e-mail邮箱Varchar(40)食品信息表Serial numberColum name中文名字Data typeKeyNU1sid食品IDIntpkAI2sclass食品种类Varchar()Not null3Dish name菜名Varchar (100)Not null4Address 地址Varchar (100)Not null5Price 价格Int Not null6comment推荐理由Varchar(200) Not null7image图片blob8dilicious口味Varchar(20)Not null9fname发布人Varchar(20)Not null10fbtime发布时间datatime11cnum点击次数int1 Not null评论表Serial numberColum name中文名字Data typeKey NU1cid评论IDintpkAI2SID食品IDintNot null3commentator评论人Varchar(20)Not null4Comment 评论内容Varchar(200)Not null5Time 评论时间Datatime Not null 食品类别表Serial numberColum name中文名字Data typeKey NU1kid类别IDintpkAI2Typename类别名Varchar(20)Not null4.详细设计4.1界面设计的设计一个软件的内容固然重要,但是如果没有一个好看而吸引的外表,哪怕有着再好的内容,有着再好的结构,相信整个软件的使用效果也会大打折扣,用户的使用兴致也会大减。就等于一个内涵丰富但却外表平庸的人在一个公共场所出现,是难以引起别人的注意的一样。人们称互联网经济为注意力经济,如何吸引大众的注意力,除了内容是一个重要的因素外,外观也同样起着举足轻重的作用。软件的外观非常重要,因此,UI设计在软件设计中将变的很重要。Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。LinearLayout:LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;如果是水平排列,那么将是一个单行N列的结构。如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个LinearLayout进行水平排列。LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例。加入一行只有一个文本框,那么它的默认值就为0,如果一行中有两个等长的文本框,那么他们的android:layout_weight值可以是同为1。如果一行中有两个不等长的文本框,那么他们的android:layout_weight值分别为1和2,那么第一个文本框将占据剩余空间的三分之二,第二个文本框将占据剩余空间中的三分之一。android:layout_weight遵循数值越小,重要度越高的原则。FrameLayout:FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。显示效果如下,第一个TextView被第二个TextView完全遮挡,第三个TextView遮挡了第二个TextView的部分位置。AbsoluteLayout:AbsoluteLayout是绝对位置布局。在此布局中的子元素的android:layout_x和android:layout_y属性将生效,用于描述该子元素的坐标位置。屏幕左上角为坐标原点(0,0),第一个0代表横坐标,向右移动此值增大,第二个0代表纵坐标,向下移动,此值增大。在此布局中的子元素可以相互重叠。在实际开发中,通常不采用此布局格式,因为它的界面代码过于刚性,以至于有可能不能很好的适配各种终端。RelativeLayout:RelativeLayout按照各子元素之间的位置关系完成布局。在此布局中的子元素里与位置相关的属性将生效。例如android:layout_below, android:layout_above等。子元素就通过这些属性和各自的ID配合指定位置关系。注意在指定位置关系时,引用的ID必须在引用之前,先被定义,否则将出现异常。RelativeLayout是Android五大布局结构中最灵活的一种布局结构,比较适合一些复杂界面的布局。TableLayout:TableLayout顾名思义,此布局为表格布局,适用于N行N列的布局格式。一个TableLayout由许多TableRow组成,一个TableRow就代表TableLayout中的一行。TableRow是LinearLayout的子类,它的android:orientation属性值恒为horizontal,并且它的android:layout_width和android:layout_height属性值恒为MATCH_PARENT和WRAP_CONTENT。所以它的子元素都是横向排列,并且宽高一致的。这样的设计使得每个TableRow里的子元素都相当于表格中的单元格一样。在TableRow中,单元格可以为空,但是不能跨列。4.1.1主页界面设计主页界面是使用线性布局LinearLayout进行布局的,在LinearLayout中嵌套LinearLayout来控制控件位置。TextView是用于控制文本的大小,颜色,样式的控件。在这里使用了TextView来控制标题字体的大小和颜色。而菜品的显示方式则是采用了ListView控件控制显示位置。ListView是列表控件,该控件是将所要展示的东西以列表的形式呈现。代码如下:主页界面代码: 在上面使用了ListView控件,但是在ListView控件不能控件列表内部的显示方式,为此还需要一个布局来空间列表内部的显示方式。在这里又使用了一个新的控件ImageView。该控件是控制图片大小和显示位置的控件,在这里是用于控制食品图片的显示大小和显示位置的。然后在下面仍然嵌套了一个LinearLayout来控制,美食信息的展示,美食信息是用TextView存放的。代码如下: 图4.1天府美食主页界面4.1.2分类界面设计分页的布局也是使用LinearLayout为主要布局方式。使用ListView做为显示美食分类列表的方式。 使用ListView当然也需要使用另外一个布局来控制美食分类信息的展示。在这里使用了ImageView来控制图片的显示,大小。使用TextView来控制分类字样的大小和颜色。 图4.2分类界面4.1.3附近界面设计附近界面采用的同样是线性布局,其中使用了百度地图提供的MapView控件,该控件是用于地图的显示。在这里把地图定位全图显示方便使用和查看,地图小了就显示的少了,所以要做成全屏的。用该控件需要导入百度地图提供的baidudituapi.jar包,并且使用百度地图还需要申请key。 图4.3附近界面4.1.4搜索界面设计搜索界面同样是LinearLayout来布局,里面嵌套两个LinerLayout一个用于搜索框的设置,一个用于选项的设置。搜索框是用EditT

温馨提示

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

评论

0/150

提交评论