下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、职场大变样社区() :下载毕业设计成品全套资料,全部50 元以下论文题目基于 Android 的在线地图轨迹跟踪服务的设计与实现Design and implementation of online map tracking thesis Topicservice based on Android2016 年 5 月 26 日word 文档可自由复制编辑编号: 毕业设计(论文)答辩许可证学院系专业学生所编写的毕业设计(论文) 页,字数,符合毕业设计 (论文)大纲的要求。经审查:该生已学完教学计划规定的全部课程,成绩合格,毕业设计电子文档最后一稿已交,准予参加毕业设计(论文)答辩。相关材料材料名
2、称数量毕业设计(论文)1册毕业论文缩写1册答辩汇报稿1份毕业设计(论文)电子版(最后一稿磁盘文件)1套指导教师:(签名)(系主任): (签名) 年月日毕业设计(论文)任务书第 1页毕业设计(论文)题目:基于 android 的在线地图的轨迹跟踪服务的设计与实现毕业设计(论文)要求及原始数据(资料):1 综述当前Android 中 GPS技术研究现状和研究意义;2深入了解Android 和百度 Map APIs 等相关技术;3熟练掌握百度API 中提供的方法,训练编写插件程序的能力;4设计并实现Android 在线地图轨迹的跟踪服务;5深入分析在线地图轨迹跟踪的关键技术与编写语言;6训练检索文献
3、资料和利用文献资料的能力;7训练撰写技术文档与学位论文的能力。毕业设计(论文)主要内容:1 综述当前在线地图服务在Adroid 中的应用;2了解Adroid 在线地图轨迹跟踪的相关技术;3熟悉Adroid 在线地图轨迹跟踪的开发环境;4设计应用软件中的主要模块;5. 深入分析Adroid 在线地图轨迹跟踪的关键技术;6熟练掌握基于Adroid 的在线地图轨迹跟踪软件的编写;7设计与实现Adroid 在线地图轨迹跟踪服务的程序。学生应交出的设计文件(论文):1 内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材第 3页word
4、 文档可自由复制编辑主要参考文献(资料):1 汪永松.Android平台开发之旅M. 北京:机械工业出版社,2010.7.2 杨丰盛.Android应用开发揭秘M. 北京:机械工业出版社,2010.1.3 李申申 . 基于轻量级架构的简牍图像信息系统D. 四川 : 成都理工大学,2006.4 卢翰 , 王国辉 . JSP 项目开发案例全程实录(第2 版) M. 北京 : 清华大学出版社 ,2011.5 张孝祥 , 徐明华 . JSP 基础与案例开发详解M, 北京 : 清华大学出版社,2009.6 刘建伟 , 毛剑 , 胡荣磊 . 网络安全概论M. 北京 : 电子工业出版社,2009.7 李刚
5、. 疯狂 Android 讲义 M. 北京:电子工业出版社,2011.7.8 Bruce Bckel. Thinking in JavaM. Prentice Hall. 1999 .9 Rick Rogers,John Lombaarda,Meike Blake. Android Application DevelopmentD. Shroff Publishers & Distributors Pvt Ltd. 2010.10 Mark L, Murphy.The Busy Coder Guide to Android Development.Connnosware LLC,200
6、8.专业班级学生要求设计(论文)工作起止日期指导教师签字日期教研室主任审查签字日期系主任批准签字日期基于 Android 的在线地图轨迹跟踪服务的设计与实现摘要在信息高速流动的现代社会,移动设备凭借其便于携带和随时随地收发信息的优点,成为了大多数人生活中必要的娱乐和通讯工具。而在手机移动网络所提供的大量服务中,基于在线地图的地位服务已经成为了一项实用的新型业务。它可以通过移动端的定位技术,提供给用户和位置相关的信息,满足不同用户的需求。本文深入分析了目前智能手机的主流操作系统安卓平台的优势与体系框架, 详细介绍了安卓应用程序开发设计的关键技术以及应用程序的开发流程。然后, 通过对手机网络地图现
7、状的分析,结合了百度地图与其API 库设计出一个基于Android 的在线地图轨迹跟踪服务。该系统在实现在线地图一般功能的基础上,可以根据用户定位信息实时监测和记录用户移动路线,随时显示在手机的在线地图上面,并且可以查询到历史轨迹的记录。本文所设计的轨迹跟踪由于数据量较小,所以采用了SQLite 数据库来存储轨迹记录和注册用户的个人信息。本文最后在设计基础上一步一步实现了系统的各个功能,通过多次真机测试,已经初步达到了设计目标。该系统在旅行、运动等方面都有着一定的价值。关键词 : 安卓平台;在线地图;GPS;运动轨迹word 文档可自由复制编辑Design and implementation
8、 of online map tracking service based on AndroidAbstractIn modern society, with the high speed of information flow, mobile devices have become the necessary entertainment and communication tools in most people's life because of their advantages of convenient carrying and transmitting and receivi
9、ng information at any time and at any time. However, in a large number of services provided by mobile phone, online map service based on location has become a new business. It can provide users with location related information through the mobile terminal location technology to meet the needs of dif
10、ferent users.This in-depth analysis of the current smart phones mainstream operating system, Android platform advantages and system framework, Android application development and design of the key technology and application development process are introduced in detail. Then, through the analysis of
11、the current situation of the mobile phone network map, combined with the Baidu map and its API library to design a Android based online map tracking service. The system in the implementation of online map general function based, can according to the user's position information real-time monitori
12、ng and recording user mobile route, at any time to display on the mobile phone online map, and can query the historical track record. In this paper, the design of the trajectory tracking due to the small amount of data, so the use of the SQLite database to store the track record and register the use
13、r's personal information.Finally on the foundation design step by step realized each function of the system, through several real test, and has basically reached the design target. The system has a certain value in travel, sports and so on.Key words :smart phone;online map;GPS;motion trajectory1
14、 在线地图轨迹APP 概述 11.1 本论文的背景及意义 11.2 本论文的主要方法和研究进展11.3 本论文的主要内容 11.4 本论文的结构安排 12 系统分析32.1 研究目标 32.2 可行性分析 32.2.1 经济可行性 32.2.2 技术的可行性 32.3 需求分析 32.4 性能分析 43 系统开发环境及相关技术介绍 53.1 开发环境搭建 53.1.1 安装JDK 53.1.2 安装Eclipse 集成开发环境53.1.3 下载安装Android SDK 53.1.4 为 Eclipse安装 ADT 插件 63.1.5 创建 AVD 模拟器 63.2 相关技术 63.2.1 百
15、度地图 63.2.2 Sqlite73.2.3 Android 123.2.4 GPS技术 124 系统介绍 134.1 APP 介绍 135 程序设计与实现 145.1 UI 设计 145.2 数据库设计 155.2.1 数据库设计规范 155.2.2 SQLite数据库介绍 155.2.3 数据库详解 165.3 程序模块设计 165.3.1 登录注册 165.3.2 首页模块 205.3.3 轨迹模块 215.3.4 我的模块 295.3.5 查看历史记录模块 306 系统展示 386.1 进入系统 386.2 注册登录 386.3 进入系统 396.4 轨迹跟踪服务 406.5 历史轨
16、迹查询 41结论 44参考文献 45致谢 46附录一外文文献(原文) 47附录二外文文献(译文)571 在线地图轨迹APP 概述1.1 本论文的背景及意义据 2013-2014 年中国手机/ 智能手机市场研究年度总报告预测,2015 年全世界智能手机用户比例第一次超过世界人口的十分之一,到2018 年,世界上三分之一的消费者将成为智能手机用户,总数超过25.6 亿人。其中安卓智能手机占了绝大多数。而在中国, 中国城市智能手机的普及率很大的提高,从 2012年的33%上升至47%, 近一半的中国城市居民已经拥有智能手机。其中,69%的用户每天都会使用智能手机访问互联网,这个比例要高于美国的智能手
17、机用户。在当前高智能机普及率的背景下,所有人出门几乎都会使用到智能手机的地图。一款方便快捷的记录轨迹的app,可以方便地记录人们出现的运动轨迹。让人们掌握有用的信息。1.2 本论文的主要方法和研究进展本论文通过前期的查阅资料与调查学习,通过查阅资料,分析数据,掌握如今人们使用智能手机的情况和使用地图软件进行导航和其他功能的情况。通过学习使用百度地图的开发接口和安卓的开发知识来为中期开发软件编码做好准备。通过几个月的研究和学习,目前项目已经完成了编码阶段,接下来将对项目进行测试和完善项目。1.3 本论文的主要内容主要内容为记录轨迹App 开发的整个周期过程,其中包括对前期用户数据统计分析,对系统
18、进行详细的分析,包括功能可行性,实现可行性等。介绍系统开发的环境以及相关的技术;系统的设计,包括UI 设计,数据库设计程序模块设计;程序开发的过程以及系统测试。1.4 本论文的结构安排本论文第一部分是封面,里面包括本人的个人信息。第二部分是摘要,有中文版和英文。第三部分是目录。第四部分则是根据目录一一对应的内容。第五部分是总结。第六部分是参考文献与致谢。2 系统分析2.1 研究目标这个系统的目标是做出一个记录人们走动轨迹的基于Android 系统的平台,方便人们知道的自己的日常走动情况。记录每次的走动的轨迹。开发一个界面简单清晰,UI友好易懂,而且无赘余功能的运动平台。2.2 可行性分析采用开
19、源的免费的手机安卓系统,并且利用的也是免费的百度地图API 技术来实现课题。2.2.1 经济可行性一个免费平台的软件开发时间和成本都不是太高,而且是面向个人,不会产生企业级应用的成本预算,在开发的过程中,考虑到课题的特性,需要拥有一台可以使用GPS定位, 并且是安卓系统的智能手机,本人已拥有一台可用的安卓手机,其它方面,测试,编码,并不会产生太多硬设备的费用。2.2.2 技术的可行性本系统主要用到了目前比较流行的手机系统安卓,以及 百度地图API 技术, 由于以前 Android 开发的经验比较少,相关知识掌握也不是特别多,所以需要付出一些努力去深入学习Android,不过在掌握了JAVA 的
20、基本开发的基础上,学习Android 的过程中并没有遇到很大的难题,因为Google提供了在eclipse上面的 ADK ,一步一步的完善课题,并且参照到了百度地图API 提供的详细的开发说明书,不懂一点问一点,慢慢完善课题也变得简单起来,在理论上是可行的。2.3 需求分析问题描述:设计一款可以应用于在线地图轨迹重现的安卓APP, 在硬件上需要一台安卓系统的可以应用GPS定位的手持设备。程序运行的时候,要求能够实时的记录运动中的GPS经纬点数据,创建数据表,并存储,然后通过调用程序中保存好的轨迹数据,通过点与点相连,连接成一条轨迹,实现轨迹的实时记录。为了提高程序的可用性、人性化,在UI 设计
21、方面需要做的更好一些,要比类似的市场中的GPS记录程序更加的吸引用户,还需要提高软件的交互性,来留住用户。2.4 性能分析程序安全性高、响应速度快、信息处理速度快。没有出现卡顿或导致死机现象。数据存储安全,由于数据流并不是很大,所以读取快,因此程序性能比较高。3 系统开发环境及相关技术介绍3.1 开发环境搭建在 windows上搭建安卓开发环境是所有Android 应用程序开发的第一步,Android开发工具包括:JDK(JAVA development kit)、 Eclipse IDE(Eclipse Integrated Development)、Android SDK(Android
22、software development kit) 和 ADT(Android Development Tools) 。3.1.1 安装 JDKJDK 是 Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。进入 Oracle官方网站JDK 下载页面,选择电脑系统对应版本的JAVA SE( JDK) 8进行下载,下载完成后运行.exe文件按提示进行安装。最后进行环境变量配置(以本人环境配置为例):JAVA_HOME 值为:E:Javajdk1.8.0_40CLASSPATH 值为:.;%JAVA_HOME%lib;%JA VA_HOME%libtools.jar ,
23、 Path值:在开始追加%JAVA_HOME%bin;安装成功后可在CMD 窗口查看到对话框。3.1.2 安装 Eclipse 集成开发环境Eclipse是基于Java的开源代码的可拓展开发平台,集成了不一样的软件工具开发商的产品,用插件方法提供给用户,所有用户能够通过一样的接口使用不同开发工具。在 Eclipse 官方下载界面上选择下载Eclipse IDE for JAVA Developers,下载完成后解压即可使用。3.1.3 下载安装AndroidSDKAndroid SDK 提供了开发安卓应用程序所需的API 库和构建、测试和调试安卓应用程序所需的开发工具。在谷歌官网下载Andro
24、id SDK 后安装, 在安装目录下运行SDK Manager.exe, 能够根据需求来下载和更新不一样版本的SDK 包。 更新完成后,将包含 tools 的文件夹路径加入到 Path的环境变量中,将Eclipse中的 SDK Location 指向 Android SDK 的安装路径,到此为止完成SDK的配置。3.1.4 为 Eclipse安装 ADT 插件在 Eclipse 编译 IDE 环境中需安装ADT, 为 Android 开发提供开发工具的升级和变更,方便调试Android 程序。启动Eclipse,点击Help 菜单 -> InstallNewSoftware, ,点击弹出
25、对话框中的Add,按钮,在弹出的对话框中的Location 这里输入http:/ dl- ssl. google. com/ android/ eclipse/ , Name这里输入ADT,最后点击“OK”按钮。然后在新弹出的对话框选择要安装的工具,最后重启Eclipse, Eclipse 会根据目录的位置智能地和它相同目录下AndroidSDK 进行关联。3.1.5 创建 AVD 模拟器AVD 是安卓运行的虚拟设备,在安卓应用程序开发过程中不可或缺。在Eclipse的Windows菜单下选择AndroidAVDManager. 在左侧面板选择VirtualDevices后点击new,设置一些
26、自己的想要的参数,如AVD 名称、屏幕大小、TargetAPI、 SDK 版本、 SD 卡大小,点击Create后完成创建。选中创建的模拟器,点击start即可运行。3.2 相关技术3.2.1 百度地图百度地图API 是为开发者提供的一套免费的基于百度地图服务的应用接口,包括JavaScriptAPI、 AndroidSDK、 Web服务 API、 iOSSDK、定位SDK、车联网API、 LBS云等多种开发工具与服务,提供基本地图展现、定位、 搜索、 路线规划、逆 / 地理编码、LBS 云存储和检索等功能,可以用于PC 端、服务器、移动端等多种设备上,多种操作系统下的地图应用开发。项目使用的
27、是AndroidSDK ,项目中使用到了定位和轨迹。所以其中包括Android 定位 SDK 和 Android。百度地图SDK,与百度移动版地图SDK 相比,是把更小的体积提供给了开发者,帮助开发者完成准确位置信息获取与应用开发的工具。百度地图目前提供Android 和Symbian版本,并且开发者是不需要申请key就可使用。而在本项目中使用到了百度地图API 的基础地图和定位功能。其中尤为重要的功能是使用百度地图记录运动轨迹,在使用百度地图时,首先需要申请key,去百度地图API 官网即可申请。只有拿到key才能使用百度地图API 的 sdk, 其次下载相关的SDK,在创建好项目后把SDK
28、 加到项目的libs 目录下。并按照百度地图API 官网的教程配置项目。之后才可以调用百度地图的接口。在本项目使用到了百度地图的定位和鹰眼技术。百度地图安卓定位SDK 提供GPS,基站, Wi-Fi 等好几种定位方式,可以用在室、内外多种定位场景,拥有出色的定位性能:覆盖率广、定位精度高、网络定位请求流量小、定位速度快。使用任何鹰眼轨迹接口前, 必须先在轨迹管理台中创建鹰眼工程,获得 servie_id 后方可正式使用鹰眼轨迹。一个service_id(即鹰眼轨迹工程)对应一个的轨迹管理系统,管理至多10万条轨迹。另外还使用百度鹰眼的查询历史轨迹接口。3.2.2 SqliteSQLite,是一
29、款轻型的数据库,是遵守ACID 的关系型数据库管理系统,它包含在一个相对小的C 库中。它是D. RichardHipp 建立的公有领域项目。它的设计目标是嵌入式的, 而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K 的内存就够了。它能够支持Windows/Linux/Unix 等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、 C#、 PHP、 Java等,还有 ODBC接口,同样比起Mysql、 PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite 第一个 Alpha 版本诞生于2000年
30、5月。 至 2015年已经有 15 个年头,SQLite 也迎来了一个版本SQLite 3 已经发布。SQLite 引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API 调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。 整个数据库( 定义、 表、 索引和数据本身) 都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。本系统使用sqlite 来用户的登录信息,包括用户名、密码。在项目中为了提高开发效率, 使用了数据库的ORM 框架。 首先去 ORMLite 官网下载jar
31、包, 对于 Android 为:ormlite-android-4.48.jar 和 ormlite-core-4.48.jar ; 把 jar 包拷贝到项目的libs 目录下, 然后新建 Bean 类public class User /* id 主键 , 自增 */DatabaseField(generatedId = true) private int id;/* GUID */DatabaseField private String GUID;DatabaseFieldprivate String username; DatabaseFieldprivate String passwo
32、rd;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;分别在属性上添加DatabaseField( columnName = "name") , columnName的值为该字段在数据中的
33、列名。DatabaseField(generatedId = true), generatedId 表示 id 为主键且自动生成原生的数据库操作,需要继承SQLiteOpenHelper,这里我们需要继承OrmLiteSqliteOpenHelperpublic class OrmDatabaseHelper extends OrmLiteSqliteOpenHelper/* 数据库名*/private final static String DB_NAME = "run_info.db"/* 数据库版本*/private final static int DB_VERSI
34、ON = 1;/* run_info 表 */private Dao<User, Integer> infoDAO;public OrmDatabaseHelper(Context context) super(context, DB_NAME, null, DB_VERSION);public OrmDatabaseHelper(Context context, String databaseName, CursorFactory factory, int databaseVersion) super(context, databaseName, factory, databas
35、eVersion);Overridepublic void onCreate(SQLiteDatabase arg0, ConnectionSource arg1) try TableUtils.createTable(connectionSource, User.class); catch(Exception e) e.printStackTrace();Overridepublic void onUpgrade(SQLiteDatabase arg0, ConnectionSource arg1, int arg2, int arg3) /* <p>* 获取 run_info
36、表 DAO* </p>* return 获取成功返回相应的Dao, 获取失败返回null* */public Dao<User, Integer> getUserDao() if(infoDAO = null) try infoDAO = getDao(User.class); catch(Exception e) e.printStackTrace();return infoDAO;* 清除指定表的所有记录* param 与该表相关联的实体类的Class对象* return 成功返回true,失败返回false.* */public <T> boolean
37、 clearTable(Class<T> clazz) ConnectionSource cs = getConnectionSource(); try TableUtils.clearTable(cs, clazz); return true; catch(Exception e) e.printStackTrace(); return false;public void close() super.close();整个DatabaseHelper运用单例只对外公布出一个对象,保证app中只存在一个SQLite Connection。我们对每个Bean创建一个XXXDao 来处理
38、当前Bean的数据库操作,当然真正去和数据库打交道的对象,通过上面代码中的getDao( T t)进行获取getDao为一个泛型方法,会根据传入Class对象进行创建Dao,并且使用一个Map来保持所有的Dao对象,只有第一次调用时才会去调用底层的getDao()。3.2.3 AndroidAndroid 是一种以Linux 为基础的开放源代码操作系统,主要使用于便携移动设备。目前还没有有统一中文名称,中国大陆地区绝大多数人使用“安卓”。 Android 操作系统最开始由Andy Rubin 开发,最开始主要支持手机。2005年由谷歌公司收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑
39、及其他领域上。Android 的主要竞争对手是苹果公司的iOS。 2011 年第一季度,Android 在全球的市场份额第一次超过塞班系统,跃居全球第一。2012 年 2 月数据, Android 占据全球智能手机操作系统52.5%的市场份额,中国市场占有率为68.4%。本系统是基于安卓平台实现的。3.2.4GPS技术GPS(Global PositioningSystem)即全球定位系统,也叫作全球卫星定位系统,是由美国国防部研制,是一种中距离圆型轨道卫星导航系统结合卫星与通讯发展的技术,利用导航卫星进行测时和测距。GPS的基本定位原理是卫星不间断地发送自身的星历参数和时间信息,用户接收到这
40、些信息后经过计算求出接收机的三维位置、三维方向还有运动速度和时间信息。GPS是一个无线电导航系统,可以给任何一个GPS接收器提供精确的定位和授时服务。GPS服务于1996年正式向大众免费开放,支持世界上的任何地方,支持无数的用户接入服务。今天的智能手机大多都配备了全功能的GPS接收机及配套应用。在系统运行中,需要利用到GPS技术来实现定位经纬度,获取位置的准确信息。4 系统介绍4.1 APP 介绍该系统客户端为基于Android 系统的移动应用APP。 Android 是运行于Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android
41、大都没有支持,包括Cairo、 X11、 Alsa、 FFmpeg、 GTK、 Pango及 Glibc 等都被移除掉了。Android 又以 Bionic 取代Glibc、 以 Skia 取代Cairo、 再以opencore取代FFmpeg等等。Android 为了达到商业应用,必须删除被GNU GPL 授权证所约束的部分,例如安卓将驱动程序移到Userspace, 让 Linux driver 与 Linux kernel 彻底分开。Bionic/Libc/Kernel/并非标准的Kernel header files。 Android 的 Kernel header 是利用工具由Lin
42、ux Kernelheader所产生的,这样做是为了保留常数、数据结构与宏。Android 的 Linux kernel 控制包括安全(Security) ,存储器管理(MemoryManagemen)t ,程序管理(Process Managemen) t,网络堆栈(Network Stack) ,驱动程序模型( Driver Model )等。下载Android 源代码之前,首先需要安装其构建工具Repo来初始化源码。Repo 是 Android 用来辅助Git 工作的一个工具。后缀简介:APK 是安卓应用的后缀,是 AndroidPackage的缩写,即 Android 安装包 (apk
43、)。 APK是类似 Symbian Sis或 Sisx的文件格式。通过将APK 文件直接传到Android 模拟器或Android 手机中执行即可安装。apk文件和sis一样, 把 android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK 文件其实是zip 格式,但后缀名被修改为apk,通过 UnZip 解压后,可以看到Dex 文件, Dex是 Dalvik VM executes 的全称,即AndroidDalvik 执行程序,并非Java ME的字节码而是Dalvik 字节码。5 程序设计与实现5.1 概要设计根据需求UI 设计了登录注册界面、一个主界面,一个历史记录
44、查询界面。登录注册界面:分为欢迎界面、登录界面和注册界面。主界面:主界面分为三个模块,分别是首页定位模块、跑步模块和我的模块。首页定位模块:这个模块由一个MapView 组成, 这个 MapView 用来展示当前用户的位置。轨迹模块:这个模块实时显示用户的跑步轨迹,这个模块由MapView 和 Button组成。 MapView 用来展示实时的运动轨迹。Button 用来设置开始跑步和停止跑步。信息模块:这个模块由图片和两个Button 组成,点击第一个按钮可以进入查看历史轨迹模块。第二个按钮可以退出程序。历史轨迹界面:历史轨迹界面由MapView 和 Button 组成,点击Button 可
45、以选择要查询的日期。如果当天日期有运动记录则会在MapView 上面显示出来。5-1 功能模块图5.2 数据库设计5.2.1 数据库设计规则结构原则:用户在定义数据表时,可适当的修改字段的名称,但数据库一旦分发,不能够轻意修改,所以设计时一定要与业务紧密联系。表与表的约束关系要建全,对有必要的地方建立级联关系。设计表做完以后,也要写好对应的Info 类文件和Hibernate的映射文件,用来让程序开发使用, 程序开发过程中 , 不允许在程序中直接用数据库字段进行操作。必须要有日志表,记录对数据库操作的跟踪。必须有:操作者、操作内容、操作时间。如果有必要,业务复杂的可创建新表来辅助完成!实体间关
46、系要明确合理(一对一、多对一或多对多)过程假如包含多个业务流程,必要时要将这个业务作为一个事务处理字段冗余的排除类别和状态的多选:多选分为必选(1.n )和可选(0.n ) 。如是必选应该注明, 程序中应做检查。5.2.2 SQLite数据库介绍SQLite,是一个轻量级的数据库,是遵守ACID 的关联式数据库管理系统,它的设计目的是嵌入式的。SQLite 的特性 :(1) ACID 事务(2) 零配置无需安装和管理配置(3) 储存在单一磁盘文件中的一个完整的数据库(4) 数据库文件可以在不同字节顺序的机器间自由的共享(5) 支持数据库大小至2TB(6) 足够小 , 大致 3 万行 C 代码
47、,250 K(7) 比一些主流的数据库在大多数普通数据库操作要快(8) 简单 , 轻松的 API(9) 包含 TCL 绑定 , 同时通过Wrapper支持其他语言的捆绑(10) 良好注释的源码, 而且拥有90%以上的测试覆盖率(11) 独立 : 没有额外依赖(12) Source完全的 Open, 可以用在所有用途, 包括出售它(13) 支持多种开发语言, C, PHP, Perl, Java, C#, Python等5.2.3 数据库详解使用 sqlite 数据库,项目设计了一个用户信息表。用户信息表(数据表名字为:user) ,存储用户信息表 5-1 用户信息表字段名类型约束说明idint
48、主键,自增用户的唯一idGUIDvarchar(50)唯一唯一识别标示符usernameVarchar( 50)用户名passwordVarchar( 50)密码该数据库保存在当前项目路径下,通过Root Explorer 即可查看数据库中保存的信5.3 程序模块设计本项目设计为四大模块。在打开程序显示的就是登录注册模块首页模块。通过点击底部的tab 可以选择不同的模块,也可以通过滑动来选择不同的模块。第二个模块是跑步模块。5.3.1 登录注册这个模块会验证用户的登录信息,在注册时需要符合要求的用户名和密码才可以进行注册。protected void onCreate(Bundle saved
49、InstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);initActionbar();init();private void initActionbar() setCenterTitle("登录");userDao = helper.getUserDao();actionbarRightTextView = setRightTitle("注册 ");actionbarRightTextView.setOnClickListener
50、(new OnClickListener() Overridepublic void onClick(View v) Intent intent = new Intent(LoginActivity.this,RegisterActivity.class);startActivity(intent);LoginActivity.this.finish(););private void init() SharePreferencesManager sp = SharePreferencesManager.getInstance();et_username = (EditText) findVie
51、wById(R.id.et_login_username);et_password = (EditText) findViewById(R.id.et_login_password);username = sp.getString(LoginActivity.this,user",Context.MODE_PRIVATE,"username");if(!username.equals("1")&&!username.equals("") et_username.setText(username);passwo
52、rd = sp.getString(LoginActivity.this, "user",Context.MODE_PRIVATE,"password");if(!password.equals("1")&&!username.equals("") et_password.setText(password);et_password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);bt_l
53、ogin = (Button) findViewById(R.id.btn_login_land);bt_login.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) if(confirmInfo()login(););/* 检测登录信息是否符合要求*/private boolean confirmInfo() username = et_username.getText().toString();password = et_password.getText().toString();if(
54、username=null|password=null) Toast.makeText(LoginActivity.this, "请确认是否完整输入用户名和密码Toast.LENGTH_LONG).show();return false;if(!StringUtil.isUsername(username)Toast.makeText(LoginActivity.this, "用户名只能由415个字母或数字组成 ", Toast.LENGTH_LONG).show();return false;if(!StringUtil.isPassword(password)
55、Toast.makeText(LoginActivity.this, "密码只能由615个字母或数字组成", Toast.LENGTH_LONG).show(); return false; return true;/* 信息符合要求,验证账号密码*/private void login() userDao = helper.getUserDao(); try List<User> list= userDao.queryForAll();for(int i = 0;i<list.size();i+)String un = list.get(i).getUsername(); if(un.equals(username)if(list.get(i).getPassword().equ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年(中级消防设施操作员)基础知识考试题库(含答案)
- 高三数学一轮复习对勾函数与飘带函数应用教学设计
- 2026年8月影像技师考试消化内科肠易激综合征指南解读题及答案
- 高中二年级德育主题班会《识破电诈迷局守护青春钱袋》教学设计
- 2026年DRG-DIP付费业务测试题(含答案)
- 2026年CPA税法增值税综合题库(含答案)
- 2026年新余市烟草专卖局人员招聘考试备考试题及详细答案解析
- 2026年新疆中泰集团有限责任公司人员招聘考试备考题库及详细答案解析
- 2026年济南一建集团有限公司人员招聘考试模拟试题及详细答案解析
- 2026年青岛演艺集团有限公司人员招聘笔试备考题库及详细答案解析
- 2026广东肇庆市高校毕业生基层公共就业创业服务岗位招募68人笔试参考题库及答案详解
- 火车司机考试题库及答案
- 教科版三年级上册科学第二单元《水》单元测试卷含答案A4打印版
- 2027年中国电信集团有限公司校园招聘考试参考试题及答案详解
- 上海市徐汇中学2027届物理高三第一学期期中联考试题含解析
- 2026统编版七年级历史期末知识点复习提纲
- 2026年云南中考化学真题(原卷版)
- 2026年杭州市建兰中学数学八上期末质量跟踪监视模拟试题含解析
- 新人教高中英语选择性必修第三册全部课文原文翻译
- 2026年食品安全员考试题库库及答案
- 临床驱动老年胃肠术后患者早期活动与有效咳痰的循证护理策略
评论
0/150
提交评论