《基于android的餐饮位置服务系统开发本科学位论文.doc》由会员分享,可在线阅读,更多相关《基于android的餐饮位置服务系统开发本科学位论文.doc(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业论文 题目:基于Android的餐饮位置 服务系统开发 毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明本论文(设计)作者完全了解*学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图
2、书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名: 指导教师签名: 日期: 日期: 注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.
3、文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它中文摘要随着智能手机的快速普及,为了让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应
4、用系统的功能拓展到手机终端上,让手机能够通过移动网络以及互联网访问Web网站并处理各种各样的业务。因此,智能手机的应用软件及其需要的服务将有广阔的发展前景。本课题选取一个基于Android的餐饮位置服务系统作为实例研究,该系统通过Android手机定位当前用户位置,并在地图显示用户位置和附近的餐馆美食商铺,还可根据用户选择的餐饮位置生成路线。本系统分为服务端和客户端。服务端负责管理餐饮信息,如发布最新的餐饮资讯。手机客户端通过地图定位可以寻找附近的餐馆美食,并可以查看该餐馆美食的简介、图片等操作。餐馆美食的位置可以通过手机上的GPS定位并显示在地图上,系统可以为用户生成路线地图,为消费提供参考
5、。在手机客户端上用户还可以查看最新的团购信息,系统通过团购网站的开放式接口绑定了最新的团购信息,用户可以通过手机订购自己喜欢的商品,这样不再需要付出邮费或者其他就能够享受到团购的优惠。关键字:Android ASP.NET LBS Development of Food and Beverage Location Service System Based on AndroidAbstractWith the rapid spread of smart phones, in order to allow users to query the services provided by the In
6、ternet anytime, anywhere. An efficient way is to expand the functionality of the application system to the mobile terminals to allow mobile phones to access the Web through mobile networks and the Internet and deal with a variety of business. Therefore, the smart phone applications and the service w
7、ill have broad prospects for development.The location service system based on the Android as a case study of the system through the Android phone to locate the current location of the user, and map showing the location of the user and nearby restaurants gourmet shops, also generate routes the user t
8、o select dining locations. The system is divided into server and client. The server is responsible for managing food and beverage information, such as the release of the latest dining information. In thr map , the phone client can find nearby restaurants cuisine, and you can view the profiles, pictu
9、res and other operations of the restaurant food. The location of the restaurant food on the cell phone GPS positioning and display on the map, the system can generate a route map for the user, provide a reference for the consumer. On the phone client user can also view the latest information of Web
10、open interface bound to the latest buy, users can order their favorite products to the mobile phone, so you no longer need to pay postage or other able to enjoy the discount of buy.Keywords: Android ASP.NET LBS 目录第一章 绪论11.1 本课题国内外研究动态及意义11.2课题所研究的内容和要解决的问题21.3论文构成2第二章 相关技术和基础知识32.1 Android开发介绍32.2 A
11、SP.NET开发技术52.3 CSS技术5第三章 系统的需求分析和总体设计73.1 系统设计模式73.2 需求分析和总体设计73.3 数据库设计10第四章 系统详细设计和实现144.1 系统架构144.2 公共方法的创建154.3 存储过程的创建184.4系统运行的总流程图194.5系统界面的创建224.6 本章小结37第五章 结束语385.1 系统总结385.2 未来工作展望38参考文献39附录40致 谢4141第一章 绪论Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最
12、初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。在如今这个智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。这款软件包括了操作系统、用户界面和应用程序,即智能手机工作所需要的全
13、部软件。本文就在分析讨论Android手机软件开发技术原理的基础上,开发出能为用户提供更好的基于Android平台的餐饮位置服务系统1。1.1 本课题国内外研究动态及意义 Android是由以Google为首的OHA(Open Handset Alliange)推出的一款开放的嵌入式操作系统平台,国内外基于Android的应用程序开发正处于一个蓬勃增长时期。Android平台是由Google与开放手机联盟合作开发的一个开放性的移动开发平台,它采用Linux内核,独特的Dalvik 虚拟机,集成特有的地图模块、快捷的XML布局方案、轻量级的SQLite数据库、高效的2D、3D绘图方案以及多媒体技
14、术等等,它具有强大的网络访问功能,集成3G网络与WiFi、蓝牙等无线网络技术,并且可以对开发者之间的功能模块进行无缝继承与共享。Android平台的优势是系统的开源和免费,Android的开源能够提供给开发人员更大的创新空间,开发人员也能深入操作系统底层,从而能够更好的适应硬件;而免费能吸引更多的开发者来构建一个成熟的Android“生态链”。Android SDK为开发人员使用Java为语言编写了该平台下的应用程序提供了必要的工具和API。据Informa预测,2012年,安卓手机销量将超过诺基亚塞班手机,届时安卓将成为全球最大的智能手机平台。谷歌表示目前安卓手机每日平均激活量为20万部,销
15、售速度加速上涨。此外,谷歌通过OHA联合众多厂商进行系统研发,不断更新版本,将系统应用推广到更多的终端产品中,确保用户体验持续改善2。1.2课题所研究的内容和要解决的问题本论文主要研究的重点是Android手机的开发,研究内容有: 第一,手机定位用户位置,并在地图上显示用户当前位置和附近所有的餐馆美食店铺。 第二,系统为用户指定消费地点提供路线参考。 第三,用户可以在地图上查看某个店铺的具体消费信息,如名称、地址、人均消费、图片等。 第四,用户可以添加新的餐馆美食店铺,并为系统提供名称、地址、人均消费、评论等信息,该信息会上传服务器,审核通过后会分享给其他用户。 第五,用户可以查看本地的团购信
16、息。拟解决的主要问题:为用户掌握附近的餐饮信息提供详细的参考,并为用户前去消费提供路线参考。1.3论文构成本文分为五章:第一章主要介绍课题研究背景及当前发展状况,说明选题意义和原因,并介绍了本文主要研究工作。第二章介绍了系统中使用的相关技术,如Android 手机开发的简介和工作流程、Java技术、ASP.NET技术等等。第三章是系统的总体设计:主要介绍系统整体的开发思想与系统的需求分析,以及数据库的设计。第四章为系统详细设计和实现:介绍了系统开发的详细步骤,对本系统采用的服务端和客户端的开发模式进行详细描述。第五章对全文进行了总结,归纳了本文的主要论点和研究工作,系统特色,并对以后的研究方向
17、进行了进一步的展望。第二章 相关技术和基础知识2.1 Android开发介绍谷歌与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。Android是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。Android引入了一个全新的机制-应用程序生命周期(Life Cycle)。多数情况下,一个Android
18、应用运行在一个独立的Linux进程中,应用进程的生命周期(存活时间)不是由进程自己控制,而是由Android系统决定的3。影响应用生命周期的主要因素包括:该进程对于用户的重要性,以及当前系统中还剩多少可用内存。Android应用程序的构成如图2-1所示:图2-1 Android应用程序的构成Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Envi
19、ronment)。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的Android SDK。同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具4。简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。第一,Java SDK第二,Eclipse第三,Android SDK第四,ADT2.1.1 Android SDK 介绍Android SDK是用于Android开发的软件包、软件框架、硬件平台、操作系统等建立应用软件工具的集合。Andr
20、oid Developer 是谷歌(Google)公司推出的手机开发平台。与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。Android是一个对第三方软件完全开放的平台,因为Android手机系统的开放性和服务免费,开发者在为其开发程序时拥有更大的自由度,同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。Android S
21、DK主要是以Java语言为基础,用户可以使用Java语言来开发Android平台上的软件应用。通过SDK提供的一些工具将其打包成Android平台使用的apk文件,然后用SDK中的模拟器(Emulator)来模拟和测试软件在Android平台上运行情况和效果5。2.1.2 ADT介绍ADT为Android开发工具(Android Development Tools)简称,是在强大的、集成的环境Eclipse IDE中构建Android应用程序插件。ADT扩展了Eclipse的功能,让您快速建立新的Android项目,创建一个应用程序的用户界面,加上Android框架的API组件、调试应用程序使
22、用Android SDK工具,以便APK分发给应用程序。ADT提供了开发指导、以及工具的集成和自定义XML编辑器 使用Eclipse开发插件ADT会给你的一个令人难以置信的开发Android应用环境6。2.2 ASP.NET开发技术ASP.NET构架是可以用Microsoft(R)公司最新的产品 Visual S开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.NET强大化软件支持的一小部分。ASP.NET可完全利用.Net架构的强大,安全,高效的平台特性。ASP.NET是运行在服务器后端编译后的普通语言运行时代码,
23、运行时早绑定(Early Binding),即时编译,本地优化,缓存服务,零安装配置,基于运行时代码受管与验证的安全机制等都为ASP.NET带来卓越的性能7。ASP.NET构架是可以用Microsoft公司最新的产品 Visual S开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。因为ASP.NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。ASP.NET同时也是language-independent语言独立化的,所以,用户可以选择一种最适合用户的语言来编写用户的
24、程序,或者把用户的程序用很多种语言来写,现在已经支持的有C#(C+和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.NET8。2.3 CSS技术CSS(Cascading Style Sheet,可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。CSS也是目前Web开发中最为成熟和可靠的表现技术。XHTML/CSS/DOM三大标准清晰地划分出了页面中的结构/表现/行为,清晰地划分出页面的这三个部分。通过应用CSS来完全控制页面的表现,可以完全将页面的结构和表现分离开,实
25、现页面的结构和表现最大限度的重用。最终带来的好处有这些: 第一,HTML文件和CSS文件达到了最简化,文件尺寸相比基于table布局实现相同的表现效果会小很多。 第二,实现了高度重用的单个CSS文件可以控制多个HTML文件的布局和表现,维护和改版起来非常容易,也非常容易做到换肤等效果。 第三,这样的页面更能受到搜索引擎的青睐9。 2.4软件开发工具和调试设备的选择在本系统的开发中使用了以下的开发工具:第一,Microsoft Visual Studio 2010第二,Microsoft SQL Server 2008第三,Eclipse Java EE IDE for Web Develope
26、rs Android 应用程序真机调试有设备:摩托罗拉XT502、三星 i9003、HDC A9100、摩托罗拉ME525 Defy,设备详细信息如下:摩托罗拉XT502设备详细信息:第一,操作系统:Android OS 2.2第二,主屏尺寸:3.2英寸 480x320像素第三,机身内存:256MB RAM三星 i9003设备详细信息:第一,操作系统:Android OS 2.2第二,主屏尺寸:4英寸 800x480像素第三,机身内存:478MB RAM HDC A9100 设备详细信息:第一,操作系统:Android OS 2.3.4第二,主屏尺寸:4.3英寸 800x480像素第三,机身内
27、存:478MB RAM 摩托罗拉ME525 Defy 设备详细信息:第一,操作系统:Android OS 2.2第二,主屏尺寸:3.7英寸 854x480像素第三,机身内存:512MB RAM 第三章 系统的需求分析和总体设计3.1 系统设计模式本系统的设计模式是采用客户端和服务端,即Android手机是该系统的客户端,服务端和客户端之间的关系如图3-1所示:图3-1 服务端和客户端之间的关系l 客户端:Android手机客户端,是用户端手持设备,用户通过安装在手机上的“Android的餐饮位置服务系统”应用程序使用系统的各种功能。l 服务端:服务端是为客户端服务的,服务的内容是向客户端提供数
28、据来源和保存客户端数据。如接受客户端的请求,并返回相应的数据。3.2 需求分析和总体设计本系统开发的目的主要是针对个人手机用户,为他们的日常生活提供便捷、有效、易用的餐饮参考工具。服务端包含8个功能如下:第一,查看店铺信息第二,添加店铺信息第三,修改店铺信息第四,删除店铺信息第五,登录系统第六,退出系统第七,处理客户端请求客户端包含4个功能如下:第一,查看附件店铺第二,查看本地团购信息第三,分享店铺第四,应用程序说明将各个部分的功能联系起来构成系统总的模块划分结构图,如下图3-2所示:图3-2 系统总的模块划分结构3.2.1 服务端设计服务端上设计了一个后台管理模块。后台管理模块仅有管理员能够
29、使用,管理员通过该模块对整个系统进行各项管理,管理的内容包括店铺信息的添加、删除、修改和查询,让数据和文件的更新可以快速进行,使得客户端内容能够得到及时更新和调整。在店铺信息管理页面中集成了谷歌地图功能,管理员可以方便的查看店铺的地理位置,用例图如图3-3所示。管理员可操作的内容包括以下几点:第一, 管理员可以进行后台登陆第二, 管理员可以修改自己的密码第三, 管理员可以查看店铺信息第四, 管理员可以添加店铺信息第五, 管理员可以修改店铺信息第六, 管理员可以删除店铺信息第七, 管理员可以查看商铺地图第八, 管理员可以退出系统图3-3 用例图3.2.2 Android客户端设计在Android
30、手机客户端上用户打开应用程序后,可以操作的内容如下:第一, 查看附件的店铺地图第二, 查看店铺详细信息第三, 获取当前位置到店铺的路线第四, 查看本地团购信息第五, 查看本地团购详细信息第六, 分享店铺第七, 查看应用程序说明用例图如下图3-4所示:图3-4 用户用例图3.3 数据库设计数据库在本系统中起着非常重要的作用,数据库设计的好坏将直接影响到系统的效率和实现的效果。数据库是系统的核心和基础。它把系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使系统可以方便、及时、准确地从数据库中获得所需的信息。数据库设计是本系统开发和建设的重要组成部分。本系统包含六个表,有角色表
31、、省份表、图片表、店铺类型代码表、管理员表、店铺表。每个表都用作存放基本信息,所以数据库的设计符合第一范式,即表中的每个属性都是不可再分的。数据库的逻辑设计即是表结构和表关系的设计,这里给出数据库E-R图和数据库字典。E-R图如下图3-5所示:图3-5 基本 E-R 图第一,角色表:该表用于保存用户角色的信息,如表3-1所示:表3-1角色表名称类型是否为空备注role_IDintno角色编号codenvarchar(10)yes角色代码namenvarchar(50)yes角色名inserttimedatetimeyes插入时间第二,省份表:该表用于保存省份的信息,以便于系统维护,如表3-2所
32、示:表3-2省份表名称类型是否为空备注zip_code_IDintno编号setnamenvarchar(50)yes区分代码codenvarchar(10)yes代码namenvarchar(50)yes名称inserttimedatetimeyes插入时间第三,店铺类型代码表:该表用于保存店铺类型的信息,用户区分不同的店铺,如表3-3所示:表3-3店铺类型代码表名称类型是否为空备注mall_code_IDintno编号setnamenvarchar(50)yes区分代码codenvarchar(10)yes代码namenvarchar(50)yes名称inserttimedatetimey
33、es插入时间第四,图片表:该表用于保存图片的信息,如表3-4所示:表3-4图片表名称类型是否为空备注photo_IDintno编号FK_keyintno外键titlenvarchar(255)yes标题captionnvarchar(2000)yes内容photo_pathnvarchar(255)yes大图片路径photo_small_pathnvarchar(255)yes小图片路径flagbityes是否可用inserttimedatetimeyes插入时间第五,管理员表:该表用于保存管理员的信息,如管理员id,管理员名,密码,邮箱,注册时间等,如表3-5所示:表3-5管理员表名称类型是
34、否为空备注admin_user_IDintno编号admin_user_namenvarchar(30)no管理员名passwordnvarchar(255)no密码(MD5)续表3-5管理员表名称类型是否为空备注sexnvarchar(1)yes性别roleintyes角色IDflagbityes是否可用inserttimedatetimeyes插入时间第六,店铺表:该表是数据库中最关键的一个表,用于存储店铺的所有信息,如表3-6所示:表3-6 店铺表名称类型是否为空备注mall_IDintno编号MASK_IDuniqueidentifieryes掩码app_user_IDintno创建人
35、IDtype_IDintno店铺类型IDserver_scoresintyes服务分数taste_scoresintyes口味分数envi_scoresintyes环境分数namenvarchar(50)no名称addressnvarchar(255)yes地址telnvarchar(50)yes电话cpifloatyes人均消费zipcodevatchar(6)yes邮编Latitudefloatyes维度Longitudefloatyes经度zip_IDintyes省份IDremarknvarchar(255)yes简介flagbitno是否可用inserttimedatetimeyes插
36、入时间第四章 系统详细设计和实现4.1 系统架构本系统的架构由用户界面(Android客户端),SQL SEVER数据库,系统接口构成。Android客户端向服务端的系统接口发送数据请求,服务端根据请求调用相应的数据库处理类检索数据库内容,并返回相应数据。返回的数据采用XML结构化数据的方式封装,发送给Android客户端,Android客户端接收数据,并调用XML数据的解析类进行数据解析。用户界面指Android客户端的用户界面,用户在Android客户端上可以进行查看店铺,查看地图等操作。数据库负责存储店铺信息和管理员数据,管理员可以数据库的数据进行维护。系统接口是接受和返回Android
37、客户端的请求,系统接口通过调用系统内部编写好的类和方法实现对数据库的调用。本系统的系统架构图如图4-1所示:图4-1 系统架构图4.2 公共方法的创建公共方法是系统经常要使用的方法,是为系统更加灵活了,和实现代码的复用提供很大的方便。系统用到的公共方法如下: public class myClass / / 弹出对话框 / / 弹出内容 public static void showDialog(string str) / / MD5加密 / / 需要加密的字符串 / 加密后的字符串 public string toEncrypt(string password) / / 记录日志 / pub
38、lic static string write_log(string content) /写入日志-文件夹Files public static string write_log(string File_name, string line_text) / / 获取文件名称中的扩展名 / / / public static string getExtension(string fileName)/写入日志-文件夹Files 用覆盖方式写入日志 public static string write_log(string File_name, string line_text,string mode
39、) / 生成缩略图 / / 源图路径(物理路径) / 缩略图路径(物理路径)和 文件名 / 缩略图宽度 / 缩略图高度 / 生成缩略图的方式 / 返回错误 error ,errot = 1 上传成功 =0 失败 public static int MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height, string mode) / / 检测文件类型 / / 文件类型数组 / 需要检查的文件名 / public static bool CheckExt(string ExtStr,
40、string fileExt) / / 删除路径中的所有文件 / / public static void DelAllFile(string path) File.Delete(fileName); 4.3 数据库处理类的创建数据库处理类是专门连接数据库的一个类,里面封装了所有对数据库读写的操作,这样我们在使用到数据库的数据时,只需要调用相应的类方法即可。关键代码如下: /管理员登陆验证 public int pr_login_admin_check ( string username, string password ) . /密码修改 public string pr_admin_use
41、r_update ( int app_user_ID, string password ) . /获取管理员信息 public DataSet pr_admin_user_select_by_admin_user_ID ( int admin_user_ID ) . /获取店铺信息 public DataSet pr_mall_select_all ( ) . /获取店铺代码 public DataSet pr_mall_code_select_all( ) . /获取省份代码 public DataSet pr_zip_code_select_all() /删除店铺public string pr_mall_delete( int mall_ID ). /添加店铺