基于android的手机公交线路查询系统设计论文内容摘要:
第四章 数据库设计 数据库结构 服务器数据库为总数据源,每一个客户端都拥有独立的小型数据库。 客户端数 据库信息从服务器端同步获得。 服务器的数据库是基于 Mysql 建立,客户端数据库是基于 SQLite 建立。 数据库体系结构如图 所示。 图 数据库体系结构图 服务器数据库设计: ER 关系如图 所示。 图 服务器数据 ER 图 根据上面的 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 全程票价 客户端数据库设计: 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)。 本软件服务器数据库所包含的表的描述如表 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 全程票价 第五章 服务器 端详细设计 后台管理模式 后台制作使用 JSP 完成。 基本管理流程如图 所示。 回 滚操 作 成 功Y / N查 询 信 息 添 加 信 息修 改 信 息删 除 信 息数 据 库更 新 成 功管 理 模 式事 务 开 始NY 图 管理流程图 通过管理员模式进入管理员添加线路页面,可以添加公交线路名称,首班发车时间,末班发车时间, 线路全径。 添加页面如图 所示。 图 添加线路页面 实现添加功能代码如下所示: %@ 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)。 ()。 ()。 ()。 }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: 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=delete from routes,departuretime where RouteName=?。 String strRoutes=null。 if(修改并保存 .equals(updateValue)){ PreparedStatement stmt_routes = (update_routes)。 PreparedStatement stmt_departuretime = (update_departuretime)。 (1,routes)。 (2,routeName)。 (1,firstDepartureTime)。 (2,finalDepartureTime)。 (3,routeName)。 ()。 ()。 ()。 ()。 ()。 }else{ PreparedStatement stmt=(delete)。 (1,routeName)。 ()。 ()。 ()。 } (alert(\删除成功。 \))。 ()。 }catch(Exception e){ ()。 }finally{ ()。 }。基于android的手机公交线路查询系统设计论文
相关推荐
系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、 DSP、 Java 应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。 ARM9E 系列微处理器提供了增强的 DSP 处理能力,很适合于那些需要同时使用 DSP 和微控制器的应用场合。 ARM9E 系列微处理器的主要特点如下: - 支持 DSP 指令集,适合于需要高速数字信号处理的场合。 - 5 级整数流水线
130I/O231I/O332VSS13VCC12I/O441I/O542I/O643I/O744VCC37R/B7RE8CE9VSS36SE6U2 K9Fxx08LDATA0LDATA1LDATA2LDATA3LDATA4LDATA5LDATA6LDATA7nFWEnFREALEnFCECLERnBC10R610KVDD33VC30100nFC31100nFC32100nFC33100nFVDD
用。 步进电动机今后的发展,依赖于新材料的应用,设计手段的完善,以及与驱动技术的最佳配合。 首先,精确的分析和设计,模型的建立和完善,是一项重要的基础研究,至今还有很多工作要做,它可以为各类问题的深入分析提供基础,为优化设计指出方向。 其次,电力电子技术、微电子技术的发展,高性能永磁材料的应用及优化设计技术起到明显的作用自不待说,驱动技 术改进的作用也不容忽视,特别是微步驱动技术的应用和成熟
生茎腐病俗称“倒秧病”、“卡脖病”、“死秧”,常引起花生整株或侧枝死亡,造成严重减产。 茎腐病症状在幼苗期主要表现为子叶发生黑色腐烂。 花生感病初期,地上部叶色变淡,叶片下垂,复叶闭合,随着病情的发展,叶柄全部下塌,整株萎蔫。 成株期多在基部第一对侧枝上下发生,长出许多黑色小突起,引起侧枝分期死亡。 据观察,该病主要发生在 5 月6 月上旬。 6 月下旬为第一次发病高峰期,8 月上旬9
运行效率上明显比传统的 Java 虚拟机要高 许多。 Dalvik 虚拟机对内存的高效使用和在低速的 CPU 上表现出的高性能,确实让人们刮目相看。 Android 的上层应用程序虽然是用 Java 开发的,但是 Dalvik 虚拟机却和传统的Java 虚拟机有着很大的区别,两者是不兼容的。 首先,众所周知在 Java 中,所有的程序代码会被编译器编译成字节码( .class)应用程序进程 调用
from within the Eclipse IDE. 2) Choose Help | Software Updates | Find and Install. 3) In the Install/Update window, which allows you to begin the process of downloading and installing any of the