当前位置:文档之家› Android-毕业论文

Android-毕业论文

毕业设计报告(论文)

论文(设计)题目:基于Android的4S在线系统作者所在院系:计算机与遥感信息技术学院作者所在专业:软件工程

作者所在班级:

作者姓名:

作者学号:

指导教师姓名:

完成时间: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在线Java

In recent years, the smartphone is developing very quickly,it has become a modern people's 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

目录

摘要.................................................................................................................................... I Abstract ................................................................................................................................ II 第1章绪论.. (1)

1.1课题研究现状分析 (1)

1.2选题的目的及意义 (1)

1.3课题研究的主要内容 (2)

第2章系统需求分析 (3)

2.1 问题的提出 (3)

2.2 系统的设计目标 (3)

2.3 可行性分析 (3)

2.3.1 经济可行性 (3)

2.3.2 技术可行性 (4)

2.4 功能需求 (4)

2.4.1 系统的主要功能 (4)

2.4.2 系统的功能模块图 (5)

第3章相关知识及技术介绍 (6)

3.1 Android平台简介 (6)

3.1.1 Android框架 (6)

3.1.2 Android开发中的四大组件 (8)

3.1.3 Android程序结构 (8)

3.2 服务器端开发简介 (9)

3.3 开发工具及环境配置简介 (10)

3.3.1 开发工具介绍 (10)

3.3.2 客户端开发环境配置 (10)

3.3.3 服务器端开发环境配置 (10)

3.3.4 数据库环境配置 (10)

第4章系统总体概要设计 (12)

4.1系统总体结构框架 (12)

4.2 数据库的设计 (13)

4.2.1 数据库E-R图 (13)

4.2.2 数据库表的设计 (14)

4.3 服务器功能设计 (16)

4.3.1 服务器功能设计 (16)

4.4 Android客户端功能设计 (17)

4.4.1 客户端功能模块图 (17)

4.4.2 客户端登陆注册功能设计 (17)

第5章系统详细设计 (19)

5.1系统界面 (19)

5.2 客户端主要模块详细设计 (26)

5.2.1 保养比价模块详细设计 (26)

5.2.2 加油站、停车场、洗车店导航模块详细设计 (26)

5.2.3 代驾模块详细设计 (27)

第6章系统实现 (29)

6.1服务器系统实现 (29)

6.1.1 连接数据库类实现 (29)

6.1.2 用户类实现 (30)

6.1.3 操作数据库类实现 (31)

6.1.4 服务器程序类实现 (32)

6.2客户端系统实现 (32)

6.2.1登录模块实现 (33)

6.2.2汽车资讯模块实现 (34)

第7章系统测试 (36)

7.1测试环境说明 (36)

7.2功能测试 (36)

结论 (38)

致谢 (39)

参考文献 (40)

第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、https://www.doczj.com/doc/b43882407.html,、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的环境变量,计算机→属性→高级系统设置→高级→环境变量。系统变量→新建JA V A_HOME 变量。变量值填写jdk的安装目录(本人是E:\Java\jdk1.7.0)。系统变量→寻找Path变量→编辑,在变量值最后输入%JA V A_HOME%\bin;%JA V A_HOME%\jre\bin; 。

Eclipse配置:下载Google为开发者配置好的Eclipse即可。国内镜像下载地址为:https://www.doczj.com/doc/b43882407.html,/,找到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所示:

(2) 4szaixian_brand-汽车品牌表存储汽车品牌列表,如表4-2所示:

表4-2 汽车品牌表

(3) 4szaixian_series-车系表存储汽车品牌下车系列表,如表4-3所示:

(4) 4szaixian_subs-子系表存储车系下子系列表,如表4-4所示:

表4-4 子系表

(5) 4szaixian_model-车型表存储最终具体车型号列表,如表4-5所示:

表4-5 车型表

(6) 4szaixian_baoyang-保养服务表存储提供保养服务的4S店信息,如表4-6所示:

表4-6 保养服务表

(7) 4szaixian_distances-行车里程表,记录用户行车数据,如表4-7所示:

(8) 4szaixian_recard-行车记录表,记录用户行车花费的类型、钱数、日期数据,如表4-8所示:

表4-8 行车记录表

相关主题
文本预览
相关文档 最新文档