




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计报告(论文)论文(设计)题目:基于Android的4S在线系统作者所在院系:计算机与遥感信息技术学院作者所在专业:软件工程作者所在班级:B12532作者姓名:贾豪东作者学号:20124053203指导教师姓名:贾振华 车冬娟完成时间:2016年5月北华航天工业学院教务处制摘 要近几年来,智能手机发展非常迅速,已成为当今人们最主要的通信娱乐工具。目前主流的智能手机操作系统有Windows Phone、iOS、Android三大系统。据Gartner的数据显示,在2015年第四季,iOS的占有率为17.7%,而Android则继续是占有率最高的系统,高达80.7%,而两个主流系统加起来,就占去所有智能手机的98.4%,比前一年同期96.4%要高。而Windows Phone只占1.1%。可见基于Android系统的应用市场还是相当大的。Android系统不仅市场占有率第一,而且Android系统还是开源免费的,这使得开发者开发一款应用的学习和经济成本大大降低。本软件就是Android平台上的一款小型应用,帮助用户解决生活中与汽车有关的问题,提供周边加油站、停车场、洗车店导航,保养比价,汽车资讯,自驾游等汽车周边服务。还提供用户咨询服务,解决用户在使用本应用中遇到的问题。本软件使用eclipse集成环境开发而成,采取了Java面向对象的编程语言,使用了MVC的编程模式。本软件界面友好、操作方便、具有良好的扩展和维护性。系统每个模块都经过了测试,能稳定运行,满足用户的需求。关键词:Android 智能手机 4S在线 JavaAbstractIn recent years, the smartphone is developing very quickly, it has become a modern peoples main communication and entertainment tool. The current mainstream operating system of smartphone are Windows Phone、iOS and Android. According to Gartner data show that in the fourth quarter of 2015, the iOS share of 17.7%, while Android is continue to share the highest system, as high as 80.7%, and the two mainstream system together, will take up 98.4% of all smartphones, 96.4% higher than the same period a year ago. While Windows Phone only accounted for 1.1%. Obviously, Android application market is considerable. Android market share not only the first, and the Android system is free, open source so that developers to develop an application cost greatly reduced. This software is a small application on the Android platform. To help users solve problems related to the car in the life. Provide the surrounding gas stations, parking lot, car wash navigation, maintain price comparison, car information, self-driving tour and other cars around services. Also provide consultation service for user, to solve problems of users in the use of this application. This software using the eclipse integrated development environment, take the Java object-oriented programming language, using the MVC pattern of programming. This software friendly interface, convenient operation, good extension and maintainability. Test after the system each module, stable operation, meet the needs of users.Key Words:Android SmartPhone 4S-shop-online Java 目 录摘 要IAbstractII第1章 绪论11.1课题研究现状分析11.2选题的目的及意义11.3课题研究的主要内容2第2章 系统需求分析32.1 问题的提出32.2 系统的设计目标32.3 可行性分析32.3.1 经济可行性32.3.2 技术可行性42.4 功能需求42.4.1 系统的主要功能42.4.2 系统的功能模块图5第3章 相关知识及技术介绍63.1 Android平台简介63.1.1 Android框架63.1.2 Android开发中的四大组件83.1.3 Android程序结构83.2 服务器端开发简介93.3 开发工具及环境配置简介103.3.1 开发工具介绍103.3.2 客户端开发环境配置103.3.3 服务器端开发环境配置103.3.4 数据库环境配置10第4章 系统总体概要设计124.1系统总体结构框架124.2 数据库的设计134.2.1 数据库E-R图134.2.2 数据库表的设计134.3 服务器功能设计164.3.1 服务器功能设计164.4 Android客户端功能设计174.4.1 客户端功能模块图174.4.2 客户端登陆注册功能设计17第5章 系统详细设计195.1系统界面195.2 客户端主要模块详细设计265.2.1 保养比价模块详细设计265.2.2 加油站、停车场、洗车店导航模块详细设计275.2.3 代驾模块详细设计28第6章 系统实现306.1服务器系统实现306.1.1 连接数据库类实现306.1.2 用户类实现316.1.3 操作数据库类实现326.1.4 服务器程序类实现336.2客户端系统实现336.2.1登录模块实现346.2.2汽车资讯模块实现36第7章 系统测试387.1测试环境说明387.2功能测试38结 论40致 谢41参考文献42第1章 绪论1.1课题研究现状分析2007年6月份苹果公司推出了第一代苹果手机,仅一年后HTC生产了第一款搭载Android系统的手机。从此智能手机的时代来临了,智能手机爆炸式增长,现如今几乎每个人都有一部智能手机,并且手机上的软件也随着智能手机的发展而迅速增多。不仅是智能手机的发展迅猛,中国汽车行业的发展同样迅猛,也是越来越多的人拥有自己的车辆。因此,开发出一款为车主提供便捷服务的应用程序很有必要,而且潜在的用户群非常大。国内外均有许多有关汽车类的应用,大致分为几类:1. 销售汽车类(买车达人、人人车、瓜子二手车等等)2. 租车、打车类(易到用车、滴滴打车等等)3. 提供汽车周边服务类(大而全),比如:代驾,违章查询代办、保养、车险洗车加油停车、救援。(车主无忧、汽车超人等)4. 提供汽车某一方面服务类(小而专),专门提供一类服务,比如之提供汽车救援服务。(滴滴洗车、多多加油、宜停车、车助救援等等)基于Android的4S在线系统是位于第三类的,主要为车主提供周边服务,开发这款应用从技术上看,难度不大,技术也比较成熟。难点是怎么从众多应用中脱颖而出,要求功能使用,服务质量也要更好。1.2选题的目的及意义人们日益加快的生活节奏及高科技的研发速度使得这几年的移动信息技术不断的发展,手机已经不单纯用来打电话的,它已经融入你所有的衣食住行。而Android系统在搜索服务这块尤为突出,它在各类厂商的推动下早已打败称霸超过十年的诺基亚Symbian系统,成为如今最受欢迎的智能手机平台。汽车已成为现代人的代步工具,上下班、出门游玩,都会需要使用车辆。走到哪里,汽车都需要停车位、加油站,洗车店。每年车主也都要给汽车上保险,去保养或者维修汽车,因此开发出一款集以上功能于一身的手机应用软件非常有必要。不仅方便了车主,而且给车主更多选择。结合目前最受欢迎的主流智能手机平台Android,我这次研究的课题便是-基于Android的4S在线平台的设计与实现。本应用建立在Android平台之上,适用于任何一款Android手机,您可以通过本应用查询到周边加油站、停车场、洗车店的信息,或进行车辆保养,上车险,道路救援等。1.3课题研究的主要内容设计主要内容:基于Android的4S在线系统项目以移动互联网方式集合标准化4S店的汽车后服务,为用户提供最优惠4S店保养、全网最低车险、全国免费7*24小时救援、违章查询/代办、免费专家在线咨询,代驾、附近加油站|停车场|洗车店查询导航,自驾游等服务。基于Android的4S在线系统以中国的用户为己任,为他们提供基于互联网的汽车服务平台,使车主享受到便捷、透明、实惠的服务。在Android系统中能独立运行。主要有以下功能:1附近加油站|停车场|洗车店查询导航:进入百度地图然后检索周围的目标地点,点击目标地点跳转至百度导航。2保养比价:用户可以通过保养比价得知哪家店的保养服务实惠便宜。3违章查询:用户可以查询自己的爱车有无违章记录,以便及时处理。4年检代办:用户可以通过电话或者短信等方式向卖家了解详细信息5车险比价:用户可以选择年检代办业务,方便没时间进行年检的用户。6代驾:用户在聚会、饭局饮酒后可以选择代驾服务,不必再担忧开车不能喝酒的烦恼。7道路救援:用户在汽车出现故障后通过本软件可以快速、方便地得到救援;8自驾游:给用户提供优质的自驾游产品,产品包含行程安排、住宿、餐饮、景点门票,意外保险的内容。同时用户也能直接检索得到自己想要了解的自驾游产品;9汽车资讯:为用户提供最新的汽车资讯;10行车记录:记录用户的行车里数,在汽车上的支出花费,还有距上次保养已走了多少公里数,让用户更加了解自己爱车的情况。支出花费包含维保费、加邮费、停车费、过路费,其它等。11订单记录:用户可以查看自己曾经交易的订单的信息。12意见:用户可以对软件提出忠实的意见;13分享:如果用户比较喜欢此软件可以分享推荐给他人14帮助:提供用户如何使用该软件的相关信息。15客服:提供客服咨询,解决用户可能出现的问题。第2章 系统需求分析2.1 问题的提出以往车主需要保养汽车、给车上保险、汽车年检、道路救援等服务需要去4S店进行,非常的不方便,耗时费力。并且现在已有的应用不能满足用户的全部需求。现在借助Android智能手机平台上的基于Android的4S在线系统客户端可以实时在线查询价格、提前预约服务,并且给用户提供前往4S实体店的导航。很大程度的节约了用户的时间,提高用户的效率那么开发一款方便人们行车的应用将很有市场。基于Android的4S在线系统不仅提供基础的4S实体店服务,还能提供额外的增值服务,比如自驾游、新闻资讯、尾号限行、违章查询/代办、代驾,以及行车记录等,解决用户在用车当中的各种问题。2.2 系统的设计目标系统的设计目标是满足用户对此类应用的需求。本系统预计功能全面,界面友好,操作方便、快捷,而且易安装(从手机应用市场下载安装即可)、易使用和易维护。在系统设计过程中采用了MVC的设计模式,不仅简化了开发还更易于维护。2.3 可行性分析可行性分析师对系统的全面的、概要性的分析。旨在确定项目开发的可行性。对系统的开发背景进行调查分析,为项目的开发决策提供科学依据。并以最小的代价在尽可能短的时间内确定文体是否能够解决。此节主要从经济可行性和技术可行性进行分析。2.3.1 经济可行性Android系统是开源系统,任何人都可以免费进行开发,谷歌也为Android开发者提供了一套免费的开发环境。这一套开发环境对电脑的配置要求也是很低的,普通电脑即可进行开发。(Windows或Linux最好)测试手机有没有也不会影响开发,开发环境中有配置好的模拟器,可以模拟Android手机的运行。开发此系统只需要开发者在时间上进行投入,故而在经济上是可行的。2.3.2 技术可行性Android从2008年推出已走过了8个年头,各种第三方框架和服务也是非常多了,而且性能稳定,方便使用。Android官方的API也是非常详细,各种Android开发的论坛也很多,开发过程中的各种问题,基本都能通过上网解决。软硬件条件也都已具备。所以在技术上是可行的。2.4 功能需求基于Android的4S在线系统最终以Android应用4S在线的形式展现。功能需求围绕4S在线展开。2.4.1 系统的主要功能4S在线的具体功能模块如下:1附近加油站|停车场|洗车店查询导航:进入百度地图然后检索周围的目标地点,点击目标地点跳转至百度导航。2保养比价:用户可以通过保养比价得知哪家店的保养服务实惠便宜。3违章查询:用户可以查询自己的爱车有无违章记录,以便及时处理。4年检代办:用户可以通过电话或者短信等方式向卖家了解详细信息5车险比价:用户可以选择年检代办业务,方便没时间进行年检的用户。6代驾:用户在聚会、饭局饮酒后可以选择代驾服务,不必再担忧开车不能喝酒的烦恼。7道路救援:用户在汽车出现故障后通过本软件可以快速、方便地得到救援;8自驾游:给用户提供优质的自驾游产品,产品包含行程安排、住宿、餐饮、景点门票,意外保险的内容。同时用户也能直接检索得到自己想要了解的自驾游产品;9汽车资讯:为用户提供最新的汽车资讯;10行车记录:记录用户的行车里数,在汽车上的支出花费,还有距上次保养已走了多少公里数,让用户更加了解自己爱车的情况。支出花费包含维保费、加邮费、停车费、过路费,其它等。11我的中心:设置、分享、我的订单、我的4S店、消息、登陆/注销功能。用例图如图2-1所示:图2-1 系统用例图2.4.2 系统的功能模块图功能模块图如图2-2所示:图2-2 系统功能模块图第3章 相关知识及技术介绍本章主要介绍4S在线应用的设计与实现过程中所需的技术,包括数据库技术、服务器技术,Android平台。目的是为系统的实现提供了一个基础的指导。本系统采用Java语言开发服务器和Android客户端,数据库采用MySQL。在服务器端与客户端之间通过Http实现通信。3.1 Android平台简介Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。此节将详细介绍Android系统的框架和应用层开发的基本技术。3.1.1 Android框架Android系统架构为四层结构,从上层到下层依次是应用程序层、应用框架层、系统运行库层(各种库和Android运行时)、Linux内核层。Android系统架构如图3-1:图 3-1 Android系统架构图(1) 应用程序层Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等应用程序。这些应用程序都是 用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。(2) 应用程序框架层应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。主要组件如下:活动管理器:管理各个应用程序生命周期以及通常的导航回退功能;窗口管理器:管理所有的窗口程序;内容提供器:使得不同应用程序之间存取或者分享数据;视图系统:用来建构一个应用程序的基本组件,包了在开发系统画面时,常用的列表、网格、文本框、按钮等控制项,甚至是内嵌的Web浏览器;通告管理器:提供应用程序在状态栏中显示应用程序自定义的提示信息;包管理器:管理所有安装在Android系统内的包;电话管理器:用来管理用户拨打与接听电话的相关功能;资源管理器:提供各种非程序代码的资源让应用程序去使用。例如:本字符串、图形文件或排版相关的布局文件;位置管理器:管理地图服务的相关功能。(3) 系统运行库层系统库:是应用程序框架的支撑,连接应用程序框架层与Linux内核层的重要的纽带。主要有Surface Manager(执行多个应用程序时候,负责管理显示与存取操作间的互动,另外也负责2D绘图与3D绘图进行显示合成)、Media Framework(多媒体库,基于PacketVideo OpenCore;支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、H.264、AAC、ARM)、SQLite(小型关系型数据库引擎)、OpenGL|ES(根据OpenGLES 1.0API标准实现的3D绘图函数库)、FreeType(提供点阵字与向量字的描绘与显示)、WebKit(浏览器引擎)、SGL(底层的2D图形渲染引擎)、SSL(在Andorid上通信过程中实现握手),Libc(标准C系统函数库,专门为基于embedded linux的设备定制)Android运行时:包括核心库和Dalvik虚拟机。核心库提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如Android.os、A、Android.media等等。Android程序不同于J2me程序,每个Android应用程序都有一个专有的进程,并且不是多个程序运行在一个虚拟机中,而是每个Android程序都有一个Dalivik虚拟机的实例,并在该实例中执行。Dalvik虚拟机是一种基于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机,并进行了内存资源使用的优化 以及支持多个虚拟机的特点。需要注意的是,不同于J2me,Android程序在虚拟机中执行的并非编译后的字节码,而是通过转换工具dx将Java字节码转成dex格式的中间码。(4) Linux内核层Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。3.1.2 Android开发中的四大组件这四大组件的使用都要在程序清单文件中注册。(1) Activity-应用程序表示层Android中最常用的组件,一个活动表示一个可视化的用户界面,关注一个用户从事的事件。(2) Service-没有可见界面,长时间运行于后台一个服务没有一个可视化用户界面,而是在后台无期限地运行。例如一个服务可能是播放背景音乐而用户做其他一些事情,或者它可能从网络获取数据,或计算一些东西并提供结果给需要的活动(Activities)。每个服务都继承自Service基类。(3) Broadcast Receiver-用户接收广播通知的组件接收来自系统和其他应用程序发送的广播通知。然后可以做出相应处理。很多事件都可能导致系统广播,如手机所在时区发生变化,电池电量低,用户改变系统语言设置等,或来自其他程序自定义的广播,例如某个程序下载数据完毕,可以发送广播。(4) Content Provider-程序间数据共享内容提供者使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式。内容提供者继承自ContentProvider 基类并实现了一个标准的方法集,使得其他应用程序可以检索和存储数据。然而,应用程序并不直接调用这些方法。相反,替代的是它们使用一个ContentResolver对象并调用它的方法。ContentResolver能与任何内容提供者通信,它与提供者合作来管理参与进来的进程间的通信。3.1.3 Android程序结构了解Android程序目录结构,为编码工作做好准备,Android工程目录如图3-2所示:图 3-2 Android工程目录主要目录结构如下:1. src这里是放Java代码的地方。2. libs这里放项目中引用到的jar包,第三方框架。放在这个目录下的jar包会被自动添加到构建路径中。3. res放置项目中用到的所有图片、布局、字符串、颜色、样式、主题等资源。4. AndroidManifest.xml整个Android项目的配置文件,指定程序最低支持的Android版本,添加程序运所需要的权限声明,并且Android的四大组件都要在这里注册。5. proguard-project.txt在发布应用的时候,有些apk文件容易被人反编译,所以此时这个文件就发挥用了,用来混淆你的程序代码,让别人不那么容易看到源代码。3.2 服务器端开发简介服务器端的开发采取了Servlet+MySQL的方式。Servlet负责接收请求,根据请求内容相应的去操作MySQL数据库。两者连接还需要一个驱动(mysqljdbc.jar)。Servlet:Server Applet的简称,是用Java编写的服务器端程序。客户端发送请求至服务器端,服务器端将请求信息发送至Servlet,Servlet生成响应内容并传给服务器,服务器将响应返回给客户端。MySQL:是一个开源的关系型数据库管理系统,所使用的SQL语言是用于访问数据库的最常用标准化语言。3.3 开发工具及环境配置简介3.3.1 开发工具介绍开发过程中主要用到了三大工具,分别是Eclipse,MyEclipse,Navicat for MySQL。Eclipse:是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Google为Android开发者提供了ADT(Android Development Tools)插件,安装好插件即可进行Android开发。MyEclipse:是在Eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,集成了Tomcat Web服务器,方便服务器端程序的开发和调试。Navivat for MySQL:是一套专为MySQL设计的强大数据库管理及开发工具。图形化的界面,是数据库的设计和开发更直观,快速。3.3.2 客户端开发环境配置jdk配置:由于本系统使用Java语言进行开发,首先要配置jdk。下载jdk1.7并安装,然后配置jdk的环境变量,计算机属性高级系统设置高级环境变量。系统变量新建 JAVA_HOME 变量。变量值填写jdk的安装目录(本人是 E:Javajdk1.7.0)。系统变量寻找Path变量编辑,在变量值最后输入 %JAVA_HOME%bin;%JAVA_HOME%jrebin; 。Eclipse配置:下载Google为开发者配置好的Eclipse即可。国内镜像下载地址为:/,找到ADT Bundle这一项,下载你需要的。然后解压运行Eclipse.exe就可以直接进行Android开发了。3.3.3 服务器端开发环境配置MyEclipse配置:下载官网的安装文件进行安装。由于jdk在上一节以配置好,安装后的程序,直接运行即可进行服务器端的开发工作了。3.3.4 数据库环境配置首先安装MySQL,在官网下载安装即可,无需其他配置。Navicat for MySQL配置:对MySQL进行可视化的软件,直接在官网下载安装即可。第4章 系统总体概要设计本章主要就如何根据前期的设计原则和要求进行了系统的总体设计。本系统主要分为客户端、服务器端、数据库、外网数据四大功能模块。4.1系统总体结构框架系统客户端通过http协议与外网和服务器连接获取数据,内网连接自己的数据库进行相应的增删查改操作。系统总体结构框架如图4-1所示:图 4-1 系统结构框架系统架构图如图4-2所示:图 4-2 系统架构图4.2 数据库的设计按客户端的功能模块来设计相应的表,各个模块相对独立,分别对应不同的表。4.2.1 数据库E-R图E-R图也称作实体-联系图(Entity-Relation Diagram),包括实体、联系、属性等三个基本成分。实体是客观世界中存在的且可互相区分的事物,用矩形表示。联系是客观世界中的事物彼此之间的联系,用菱形表示。属性是实体或联系所具有的性质,用椭圆表示。根据实际数据表格做出E-R图。如图4-3和4-4所示:图 4-3 车型E-R图图 4-4 用户ER图4.2.2 数据库表的设计(1) 4szaixian_user-用户表是存储用户账号密码的表,用户id和手机号都要求值唯一如表4-1所示:表4-1 用户表字段数据类型说明不允许空值约束条件idintid主键phonenumvarchar手机号唯一passwordvarchar密码nicknamevarchar昵称 (2) 4szaixian_brand-汽车品牌表存储汽车品牌列表,如表4-2所示:表4-2 汽车品牌表字段数据类型说明不允许空值约束条件brand_idintid主键brand_namevarchar汽车品牌名称brand_imgvarchar车标brand_sortkeyvarchar排序索引 (3) 4szaixian_series-车系表存储汽车品牌下车系列表,如表4-3所示:表4-3 车系表字段数据类型说明不允许空值约束条件series_idintid主键series_namevarchar系名brand_idint品牌id外键 (4) 4szaixian_subs-子系表存储车系下子系列表,如表4-4所示:表4-4 子系表字段数据类型说明不允许空值约束条件subs_idintid主键subs_namevarchar子系列名称series_idint系列id外键 (5) 4szaixian_model-车型表存储最终具体车型号列表,如表4-5所示:表4-5 车型表字段数据类型说明不允许空值约束条件model_idintid主键model_namevarchar车型名称model_imgvarchar车型图片地址model_sortkeyvarchar排序索引subs_idint子系id外键(6) 4szaixian_baoyang-保养服务表存储提供保养服务的4S店信息,如表4-6所示:表4-6 保养服务表字段数据类型说明不允许空值约束条件idintid主键shopNamevarchar4S店名addressvarchar地址addressLavarchar纬度addressLovarchar经度priceDiscountint折扣价priceint原价distancedouble距离contentvarchar内容描述briefvarchar简介imgvarchar图片地址 (7) 4szaixian_distances-行车里程表,记录用户行车数据,如表4-7所示:表4-7 行车里程表字段数据类型说明不允许空值约束条件idintid主键uidvarchar用户id外键typevarchar里程类型distancesdouble里程数据 (8) 4szaixian_recard-行车记录表,记录用户行车花费的类型、钱数、日期数据,如表4-8所示:表4-8 行车记录表字段数据类型说明不允许空值约束条件idintid主键uidvarchar用户id外键xcTypevarchar费用类型xcMoneydouble花费钱数xcTimevarchar记录时间xcMonthvarchar记录月份xcYearvarchar记录年份 (9) 4szaixian_messages-系统消息表,记录用户收到的系统消息或其他类型的消息,如表4-9所示:表4-9 系统消息表字段数据类型说明不允许空值约束条件idintid主键uidvarchar用户id外键timevarchar消息时间contentvarchar消息内容 (10) 4szaixian_cars-用户车型表,记录每个用户自己保存的车型,如表4-10所示:表4-10 用户车型表字段数据类型说明不允许空值约束条件idintid主键uidvarchar用户id外键brandvarchar品牌seriesvarchar车系modelvarchar车型imgvarchar图片地址4.3 服务器功能设计4.3.1 服务器功能设计在本系统中服务器的主要功能是接收客户端发送的请求进行数据库操作并传回相应的数据。总体结构分为四个部分:第一部分:通过驱动连接数据库。第二部分:模型层-对应数据库表的实体类。第三部分:服务层-数据访问对象,操作数据库,并取得操作结果。第四部分:控制层-接收客服端请求,调用相应的服务层。服务器的总体结构设计如图4-5所示:图 4-5 服务器总体结构图服务器功能设计如图4-6所示:图 4-6 服务器功能图4.4 Android客户端功能设计4.4.1 客户端功能模块图用户功能模块如图4-7所示:图 4-7 用户功能模块图4.4.2 客户端登陆注册功能设计用户使用本软件的某些功能是需要先进行登陆的,如果用户没有账号可以进行注册,然后进行登陆操作。登陆注册流程设计如图4-8所示:图 4-8登陆注册流程设计第5章 系统详细设计本系统的使用对象主要面向经常驾车的车主,所以在系统界面的布局设计上必须注重实用、简洁、方便,符合用户的使用习惯和思维习惯。5.1系统界面(1) 主界面:Android客户端的主界面中包括3部分,顶部状态信息栏,展示当前城市的尾号限行信息(根据实际所在城市决定,有的城市无车辆限行措施),和用户的登陆状态。下面是自动轮播的广告栏。中部是九宫格形式的功能模块,包括加油站、洗车店、停车场导航,保养比价,车险比价,违章查询、汽车救援、年检代办、代驾功能。底部是其他功能导航栏,包括个人中心、自驾游、行车记录、我的订单、新鲜资讯。主界面如图5-1所示:图 5-1 客户端主界面(2) 个人中心:个人中心页面上方是用户头像和名字,中间是几个用户需要的功能,我的4S店、我的券、我的爱车、消息。下方是设置、我的行车记录、客服、关于。个人中心如图5-2 所示:图5-2 个人中心界面(3) 自驾游:自驾游页面主要以列表的形式对自驾游信息进行展示,用户点击跳转到详细页面。用户可根据目的地进行信息搜索。自驾游页面和详细页面如图5-3和5-4所示: 图5-3 自驾游界面 图5-4 自驾游详情界面(4) 行车记录:用户可以在本页面记录行驶的公里数、已保养公里数,产看我的花费报表,还可进行支出记录。行车记录页面如图5-5所示:图5-5 行车记录界面(5) 我的订单:显示用户已经有的订单。如图5-6所示:图5-6 我的订单界面(6) 汽车资讯:对对汽车相关的资讯新闻进行展示,用户点击某条消息可以跳转至详细页面。如图5-7所示:图5-7 汽车资讯界面(7) 保养比价:用户进行保养比价首先要进行车型选择,选择的过程中分三部,先选择车辆品牌,再选车系,其次选具体型号,根据具体的型号在进行保养比价保养比价页面对保养信息以列表形式做展示。如图5-8、5-9、5-10、5-11所示: 图5-8 汽车品牌选择界面 图5-9 车系选择界面 图5-10 具体型号选择界面 图5-11 保养比价界面(8) 车险比价:车险比价用户要输入当前保险公司,以及要对比的保险公司。如图5-12所示:图5-12 车险比价界面(9) 违章查询:用户在这个界面需要输入车牌,所在城市,车辆类型,车架号等信息去查询违章记录。违章查询界面如图5-13所示:图5-13 违章查询界面(10) 我的爱车:用户需要输入车牌号码,选择品牌、车系、具体型号,然后点击保存进行信息保存。我的爱车界面如图5-14所示:图5-14 我的爱车界面(11) 我的报表:主要显示各杂项花费和以饼状图展示用户的消费信息,统计用户当月,和当年的总支出。我的报表界面如图5-15:图5-15 我的报表界面(12) 支出记录:记录维保费、加油费、停车费、过路费、其他的支出。输入花费金额,点击确定即可记录一条数据。支出记录界面如图5-16所示:图5-16支出记录界面5.2 客户端主要模块详细设计5.2.1 保养比价模块详细设计从主界面点击保养比价即可进入此模块,首先是所有汽车品牌的列表,选择一个品牌后进入车系列表界面,进行车系的选择后进入车型列表界面,选择最终的车型。选择一个车型就会跳转到保养比价的模块,该模块会列出用户所选车型的保养相关的比价信息,用户可点击进入查看一款保养产品的详细信息。每一次的跳转,都会向服务器发送请求,拿到相关数据。保养比价流程图如图5-17所示:图5-17 保养比价流程图5.2.2 加油站、停车场、洗车店导航模块详细设计这部分实现需要定位然后进行周边信息检索,将检索的信息标注在地图上进行展示,对标住的点进行点击事件的监听,当有点击事件时进行导航的操作,这里的地图定位,信息检索,位置标注都用到了百度地图开放的API。没有百度地图API这部分已个人的技术几乎不能实现。用户在地图页面还可切换地图的视角,给用户更多选择。定位导航的流程图如图5-18所示:图5-18 定位导航流程图5.2.3 代驾模块详细设计这部分的数据抓取网上Json数据,在代驾界面进行展示,按代驾师傅离当前位置的远近进行排序(由近到远)。点击我的订单,查看我的订单信息。用户可以点击每个展示项上的预约按钮,也可以点击界面底部的预约按钮,点击底部的按钮相当于点击了列表第一项的预约按钮,会自动预约距离当前位置最近的师傅进行代驾服务。点击预约后进入确认下单页面,会要求用户确认手机号和地址信息。点击确认下单后,系统会为用户生成一份代驾订单。代驾订单生成流程图如图5-19所示:图5-19 代驾订单生成流程图第6章 系统实现这部分已经进入了系统的编码阶段。开发工具:Eclipse。开发环境:Windows操作系统。6.1服务器系统实现服务器的主要功能是接收客户端请求,进行数据库操作,在将结果返回个客户端。本节主要介绍服务器端开发的主要内容。服务器端程序目录结构如图6-1所示:图 6-1 服务器端目录结构src目录存放源代码,image存放服务器图片资源(保养比价中的汽车品牌图标的图片都存储在这里)。数据库的所有实现这里不会一一说明,会将关键类和有代表性的类进行实现说明。6.1.1 连接数据库类实现DBConnect类用来创建连接MySQL数据库的Connection对象。每次进行数据库操作都需要这个类去创建一个连接对象,数据库操作完成后,要及时关闭这个已经创建的连接,释放不用的资源。代码实现如下:public class DBConnect private static Connection connection;public static String STAG = 4szaixian_;static / 静态加载mysql驱动try Class.forName(com.mysql.jdbc.Driver);/ 加载驱动 public static Connection getConnection() String url = jdbc:mysql:/:3306/4szaixian?useUnicode=true&characterEncoding=UTF8;String user = root;String password = 147350jhd;try connection = DriverManager.getConnection(url, user, password);System.out.println(new了一个新的connection); return connection;6.1.2 用户类实现用户类是User.java。提供id,phonenum,password,nickname字段,并有访问和修改字段的方法。代码实现如下:public class User private long id;private String phonenum;private String password;private String nickname;public User() super();public long getId() return id;public void setId(long id) this.id = id;public String getPhonenum() return phonenum;public void setPhonenum(String phonenum) this.phonenum = phonenum;public String getPassword() return password;public void setPassword(String password) this.password = password;public String getNickname() return nickname;public void setNickname(String nickname) this.nickname = nickname;6.1.3 操作数据库类实现UserDao这个类主要操作用户的登陆注册。登陆时,该类会向数据库查询用户的账号密码是否匹配,注册时会向数据库插入一条User数据,这一条User数据对应一个User对象。UserDao的关键代码实现如下:public boolean Login(String phonenum,String password) throws ClassNotFoundException, SQLExceptioncon=DBConnect.getConnection();if(con!=null)stm = con.createSt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理工作的前景展望与试题及答案
- 行政法学与科技创新之间的关系试题及答案
- 行政法学学习的常见问题及试题及答案
- 执业医师考试细节决定成败的心理准备与策略总结试题及答案
- 执业药师考试疑难问题试题及答案
- 2025年药师执业考试难度提升试题及答案
- 医疗AI技术的创新与未来趋势预测
- 史明朝的灭亡和清朝的建立 课件 2024-2025学年统编版七年级历史下册
- 行政管理理论架构与试题答案解析
- 2025年中国黑魔豆市场调查研究报告
- 2024年河北省中职高考对口升学考试语文试卷真题(打印版)
- 2022版ISO27001信息安全管理体系基础培训课件
- 教师个人成长档案电子模板
- 《连续性肾替代治疗容量评估与管理专家共识》解读课件
- 德意莎门窗授权经销商合作协议书(代理商合作协议空白版)
- 大国兵器学习通超星期末考试答案章节答案2024年
- DB35T 2212-2024消防远程监控系统技术要求
- 班级音乐会主题班会
- 东亚飞蝗标准化养殖示范基地建设项目可行性实施报告
- 抖音本地生活商家直播培训
- 陕西省2024年中考地理试卷(附解析)
评论
0/150
提交评论