基于android的手机公交线路查询系统毕业设计(编辑修改稿)内容摘要:
示。 湖南科 技大学本科生毕业设计(论文) 7 管 理 员 身 份 认 证管 理 员 身 份 认 证浏 览 器客 户 端客 户 端地 图 软 件G o o g l e服 务 器数 据 库数 据 库服 务 器数 据 库管 理 软 件 请 求 请 求更 新管 理 员 同 步 图 系统框架图 B/SC/S 模式特点 B/SC/S 模式在继承了 B/S 模式和 C/S 模式的优点之后,还具有以下特点: (1) 可靠性高 客户端不必完全依赖于服务器,即便脱离服务器,还有手机数据库的支持,可以继续使用一部分功能。 客户端的数据丢失的时候,可以采用数据库同步的方式从服务器获得新的数据信息。 (2) 省资源 一部分作业在客户端完成,服务器的访问量和作业量都会减少,省资源,维护起来会更加方便。 湖南科 技大学本科生毕业设计(论文) 8 第四章 数据库设计 数据库结构 服务器数据库为总数据源,每一个客户端都拥有独立的小型数据库。 客户端数据库信息从服务器端同步获得。 服务器的数据库是基于 Mysql 建立,客户端数据库是基于 SQLite 建立。 数据库体系结构如图 所示。 图 数据库体系结构图 服务器数据库设计: ER 关系如图 所示。 图 服务器数据 ER 图 湖南科 技大学本科生毕业设计(论文) 9 根据上面的 ER 图,本软件服务器端定义的 arashmen 数据库设计了 以下 4 张表:站点表: station(表 2)、线路表: routes(表 3)、发车时间表 :departuretime(表 4)、票表 :fare(表 5)。 本软件服务器数据库所包含的表的描述如表 1。 表 数据库概况表 表名 描述 主要字段 stations(站点表 ) 保存站点信息 ID, station routes(线路表 ) 保存线路信息 ID, RouteName, Content departuretime (发车时间表 ) 保存首班发车时间 保存末班发车时间 RouteName FirstDepartureTime,LastDepartureTime fare(票价信息表 ) 保存公交线路票价信息 ID, isFixed, FullFare 表 站点表 字段名 数据类型 长度 主键 /外键 默认值 描述 id Int 4 PK ID,自动增长 Station Varchar 50 站点名称 表 线路表 字段名 数据类型 长度 主键 /外键 默认值 描述 RouteName Char 20 PK 线路名称 Content LongText 线路全径 表 发车时间表 字段 名 数据类型 长度 主键 /外键 默认值 描述 id Int 4 PK ID,自动增长 RouteName Char 20 FK 线路名称 FirstDepartureTime Time 首班发车时间 LastDepartureTime Time 末班发车时间 表 票价信息表 字段名 数据类型 长度 主键 /外键 默认值 描述 id Int 4 PK ID,自动增长 RouteName Char 20 FK 线路名称 isFixedFare Char 5 是否为分段 计费 FullFare Double 8 全程票价 湖南科 技大学本科生毕业设计(论文) 10 客户端数据库设计: SQLite 简介 Android 数据库使用的是 SQLiteDatabase,我们来简单的介绍下 Android 平台上的SQLiteDatabase。 SQLite 是一款轻型的数据库,是遵守 ACID 的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够了。 它能够支持 Windows/Linux/Unix 等等主流的操作 系统,同时能够跟很多程序语言相结合,比如 Tcl、 PHP、 Java 等,还有ODBC 接口,同样比起 Mysql、 PostgreSQL 这两款世界著名开源的数据库管理系统来讲,它的处理速度比他们都快。 该软件数据库的建立是完全在 Android 平台上执行 Java 代码,通过 DVM 编译来建立的,没有什么辅助工具,由于整个 SQLite 数据库是非可视化操作,所有对数据库的操作都是通过执行 Java 代码实现,在完成其查询功能的时候没有使用数据库高级编程,较为麻烦的关节是在如何有机的将客户端数据库整体结构实现出来,实现过程是无可视界 面,也没有数据库辅助工具情况下,整个过程很抽象。 且表的设计应尽量简单,不要有错综复杂的关系,每张表都是独立的,不存在任何约束,数据库也是独立数据库,不采用 Android 特有的可共享数据库。 数据库设计 ER 关系如图 所示。 线 路线 路 全 径I D 首 班发 车 时 间末 班发 车 时 间I D是 否 为 分 段计 费全 程 票 价I D站 点 名线 路 名 称站 点发 车 时 间线 路 名 称线 路 名 称 票 价 图 客户端数据库 ER 图 根据上面的 ER 图,本软件客户端定义的 arashmen 数据库中包含以下 4 张表:站点表: station(表 7)、线路表: routes(表 8)、发车时间表 :departuretime(表 9)、票表 :fare(表 10)。 湖南科 技大学本科生毕业设计(论文) 11 本软件服务器数据库 所包含的表的描述如表 6。 表 数据库概况表 表名 描述 主要字段 stations(站点表 ) 保存站点信息 ID, station routes(线路表 ) 保存线路信息 ID, RouteName, Content Departuretime (发车时间表 ) 保存首班发车时间 保存末班发车时间 RouteName FirstDepartureTime,LastDepartureTime fare(票价信息表 ) 保存公交线路票价信息 ID, isFixed, FullFare 表 站点表 字段名 数据类型 长度 主键 /外键 默认值 描述 id Int 4 PK ID,自动增长 Station Varchar 50 站点名称 表 线路表 字段名 数据类型 长度 主键 /外键 默认值 描述 RouteName Char 20 PK 线路名称 Content LongText 线路全径 表 发车时间表 字段名 数据类型 长度 主键 /外键 默认值 描述 id Int 4 PK ID,自动增长 RouteName Char 20 FK 线路名称 FirstDepartureTime Time 首班发车时间 LastDepartureTime Time 末班发车时间 表 票价信息表 字段名 数据类型 长度 主键 /外键 默认值 描述 id Int 4 PK ID,自动增长 RouteName Char 20 FK 线路名称 isFixedFare Char 5 是否为分段计费 FullFare Double 8 全程票价 湖南科 技大学本科生毕业设计(论文) 12 第五章 服务器 端详细设计 后台管理模式 后台制作使用 JSP 完成。 基本管理流程如图 所示。 回 滚操 作 成 功Y / N查 询 信 息 添 加 信 息修 改 信 息删 除 信 息数 据 库更 新 成 功管 理 模 式事 务 开 始NY 图 管理流程图 通过管理员模式进入管理员添加线路页面,可以添加公交线路名称,首班发车时间,末班发车时间,线路全径。 添加页面如图 所示。 图 添加线路页面 湖南科 技大学本科生毕业设计(论文) 13 实现添加功能代码如下所示: %@ page contentType=text/html。 charset=gb2312 % %@ page language=java % %@ page import= % %@ page import=.* % %@ page import=% %(GB2312)。 % % //接收从 传来的数据 String routesName=(RoutesName).trim()。 String route=(Route)。 String firstDepartureTime=(FirstDepartureTime)。 String finalDepartureTime=(LastDepartureTime)。 String url=jdbc: String user=root。 String password=Jone。 ().newInstance()。 Connection con=(url,user,password)。 PreparedStatement stmt_routes。 PreparedStatement stmt_departuretime。 try{ //抛出异常就直接执行 rollback String insert_routes=insert into routes(RouteName,Content) values(?,?)。 String insert_departuretime=insert into departuretime(FirstDepartureTime,LastDepartureTime) values(?,?)。 //preparedstatement 相比 statement 更具有优势 stmt_routes = (insert_routes)。 stmt_departuretime = (insert_departuretime)。 (1,routesName)。 (2,route)。 (1,firstDepartureTime)。 (2,finalDepartureTime)。 ()。 ()。 湖南科 技大学本科生毕业设计(论文) 14 ()。 }catch(Exception ex){ //()。 //回滚 }finally{ ()。 } % 通过管理员模式进入管理员修改、删除线路页面,可以对已经添加成功的公交线路信息修改并保存,也可以直接在该页面删除数据。 修改、删除线路页面如图 所示。 图 修改,删除页面 实现修改、删除功能代码如下所示: %@ page contentType=text/html。 charset=gb2312 % %@ page language=java % %@ page import= % %@ page import=.* % %(GB2312)。 % % String routeName=(routeNameText).substring(0,3).trim()。 String firstDepartureTime=(firstDepartureText)。 String finalDepartureTime=(finalDepartureText)。 String updateValue=(Update)。 String routes=(routesTextArea)。 String url=jdbc: 湖南科 技大学本科生毕业设计(论文) 15 String user=root。 String password=Jone。 ().newInstance()。 Connection con=(url,user,password)。 try{ String update_routes=update routes set Content=? where RouteName=?。 String update_departuretime=update departuretime set FirstDepartureTime=?,LastDepartureTime=? where RouteName=?。 String delete=d。基于android的手机公交线路查询系统毕业设计(编辑修改稿)
相关推荐
用性和灵活性,开发周期短并且兼容性也特别高 [2]。 Linux 命令集 Linux 是一套研发出来并且免费使用,可以自由传播学习,类似于 Unix 的开源操作系统,她基于 POSIX 和 UNIX,而且可以多个用户、多个任务同时进行,并且也支持多线程和多 CPU 的操作系统。 Linux 命令是在 Linux 系统下的一套管理命令。 在 Linux 系统中, CPU、键盘的处理、内存、鼠标、磁
日 20 06 年 9 月 25 日 201 0 年 2 月 26日 Helios 2020 年 6 月 23 日 2020 年 9 月 24 日 20 11 年 2 月 25日 Indi go 2020年 6 月 22日 2020年 9 月 23日 2020年 2 月 24日 J uno(预 定 ) 及 2020 年 6 月 27 日 2020 年 9 月 28 日 2020 年 2 月 22
ndroid 手机地图服务 软件 具有 极 好的实用意义。 另一方面 , Android 手机操作系统是 Google 公司 及其开放手机联盟( OHA)于 2020 年 11月 5日正式向外界展示的,是全球 第一个 专门为移动终端 的开发而打造的平台,具有免费、完整、开放的特点 [5], 这 是一个 具有划时代意义的 真正意义上的移动设备开发平台。 正是因为 其开源性 的特点 ,使得
部手机就能行遍全球。 蓝牙, EDGE, 3G, and WiFi: (依赖硬件 )蓝牙和 WiFi 都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。 EDGE(Enhanced Data Rate for GSM Evolution),是增强型数据速率 GSM 演进技术。 Camera, GPS, Compass, and Accelerometer: (依赖硬件
if(fromY == toY){//横线 if(fromX toX){//想右走 for(i = fromX + 1。 i toX。 i++){ if(qizi[fromY][i] != 0){ return false。 //返回 false } } } else{//向走走 for(i = toX + 1。 i fromX。 i++){ if(qizi[fromY][i]!=0){
游戏的界面、游戏中的逻辑处理以及该游戏今后的改进和优化。 第五章 总结和展望。 对整篇论文加以总结与回顾以及对未来的展望。 第二章 Android 平台概述 4 第二章 Android 平台概述 本章将介绍 Android 这个基于 Linux开发平台,首先我们会介绍 Android 操作系统,然后讲述其特性,接着讲述其系统框架,其次我们会重点介绍其应用程序的构成模块,最后会介绍其生命周期。