ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:431.67KB ,
资源ID:5007890      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5007890.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(andriod使用socket连接数据库.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

andriod使用socket连接数据库.docx

1、andriod使用socket连接数据库南京邮电大学 毕 业 设 计(论 文)题 目移动数据维护终端专 业软件工程(嵌入式人才培养方向)学生姓名王泽起班级学号B100413 B10041311指导教师朱丹指导单位计算机学院、软件学院 日期:2014年03月10日至 2014年06月13日毕业设计(论文)原创性声明本人郑重声明:所提交的毕业设计(论文),是本人在导师指导下,独立进行研究工作所取得的成果。除文中已注明引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。对本研究做出过重要贡献的个人和集体,均已在文中以明确方式标明并表示了谢意。 论文作者签名:王泽起 日

2、期: 2014 年05月 23日摘 要自从Google公司发布了智能手机平台Android之后,便掀起了智能手机领域全新智能的热潮。手机已经突破了传统的通信标签,在打电话、发短信的基础功能上,不断朝着智能娱乐、方便快捷的新方向发展。利用手机来管理维护数据资源,不仅方便快捷,更是顺应从固定操作模式到随时随地操作模式转变的潮流,有着非常广阔的发展前景。本文就是在Android平台的基础上,利用socket通信基础,管理SQL数据库,实现数据的增加、删除、修改、查询等基本操作。本文在实现了基本操作的基础上,还进一步增加了管理员与学生两种登录方式,而且在主页面还实现了分享给好友功能。为了便于用户操作,

3、使项目更具有应用特性,还添加了滑动效果。当然本项目还可以进一步的根据权限设计成管理员、学生以及游客三大模块,添加复杂的数据处理、资料收集、保存、检索及实时数据更新等业务,成为更商业,更具有可用性的移动数据终端系统。关键词:android;socket;SQL数据库ABSTRACTSince Google has released a smart phone platform-Android, it has set off a new round of smart-phones. Mobile has broken through the traditional communication la

4、bel, basing on calling and messaging functions, constantly moving to new direction of intelligent, entertainment and convenient. Using mobile phones to manage and maintain data resources, not only convenient, but also conform to the trend of changing from a fixed operating model to the anywhere oper

5、ating model, there are great prospects for development.This article is based on android platform, the use of socket communication infrastructure, manage SQL databases, including additions, deletions, searching and updating operations. This article is only finish a basic operation and increase the ad

6、ministrators and students two verification methods. In main page, including a further share function with friends. In order to facilitate user operations, to make the project with more application features, but also adds a sliding effect. Of course, this project can be further designed to administra

7、tors, students and visitors three modules, adding complex data processing, data collection, storage, retrieval and real-time data updates and other businesses to become more commercial, more mobile usability data terminal system.Key word: Android;socket;SQLdatabase目 录第1章 绪论 11.1课题研究背景 11.2课题设计目标与研究意

8、义 11.2.1 课题设计目标 11.2.2 课题设计意义 21.3论文结构安排 2第2章 技术分析与文献综述 42.1技术分析 42.1.1服务器端设计分析 42.1.2手机终端设计分析 52.1.3客户端与服务器端的交互分析 72.2文献综述 12第3章 客户端详细设计 143.1客户端socket设计 143.2普通页面设计以及页面间的跳转与传值 143.2.1 页面设计 143.2.2 页面间的跳转与传值 173.3 登录与注册页面设计 173.4滑动效果设计 183.5 分享给好友的功能设计 19第4章 服务器端详细设计 224.1服务器端socket设计 224.2 数据库的设计

9、224.3服务器连接SQL数据库的设计 234.4增加、删除、修改、查询功能设计 244.5登录与注册功能设计 25第5章 结论总结和改进建议 265.1结论总结 265.2改进建议 26结束语 27致谢 28参考文献 29第1章 绪论 1.1课题研究背景从层次模型到网状模型再到关系模型,从人工管理到文件系统再到数据库系统,数据库的发展可谓日新月异。层次模型是最先使用的数据库模型,该模型的使用开始了数据库系统发展的第一步。它表现出良好的完整性支撑,模型简单而且容易理解,更重要的是它的应用系统性能在实体间联系稳定的应用上表现良好,甚至优于关系模型。但是实际生活中我们面临的往往是非层次性的错综复杂

10、关系,为了更自然的表示这些复杂关系,层次模型只能利用冗余数据或者引人虚拟节点来解决。为了更直接描述现实世界,网状模型作为层次模型的一个扩展,由此而生。但随着应用环境不断扩大,尽管网状模型有着优秀的性能和存取效率,但是由于其结构不断变得复杂,而且 DDL、DML语言用户很难熟练掌握,很快便被高数据独立性、用户容易操作的关系模型取代,这也标志着非关系模型的终结。本文所用的数据库为SQL,它的基本原理就是以关系模型为基础的。另一方面,随着人工管理的错误率大,劳动力高,数据的共享、独立性低,数据库管理发展到文件系统阶段,这是一个很大的突破。然而尽管数据可以长期保存,仍然无法有效地解决数据的共享性、独立

11、性问题。在此基础上,数据库实现了质的飞跃数据库系统的产生。它显著的优点是数据结构化,除此之外,还有着高独立性,高共享度,低冗余等优点,这些特点也是本文数据库设计的基础。自谷歌首次发布智能手机平台Android之后,智能手机领域开始新一轮发展潮流。2011年Android 4.0版本,短短的五年时间,Android的发展可是震惊世界。2011年,全球智能手机操作系统市场的统计数据显示,Android占据一半以上的份额。可谓终结了塞班系统,瓦解了诺基亚王朝。随着智能机的迅猛发展,手机服务不断朝着智能、便捷方向迈进。手机游戏、手机服务不断创新,给人们带来手机的全新体验。在Android迅猛发展的潮流

12、之下,应用服务不断紧密结合日常生活,不断朝着智能便捷的领域突破。在此背景下,移动终端服务也由此悄然走进了人们的生活。利用手机管理数据库,进行数据库操作,由此提上日程。本文就是在此背景下,实现的手机数据维护终端系统,管理员登录后对老师信息,学生信息,课程信息,选课信息等进行增删改查操作。1.2课题设计目标与研究意义1.2.1 课题设计目标 本项目是利用Android技术开发的移动数据维护终端系统。设计目标简单的讲就是开发一款手机数据库系统应用软件,在同一个局域网范围内,对服务器端数据库进行增删改查基本操作。总体的讲就是:数据库实现+手机端数据维护程序。 下面是本课题的详细要求:一、服务器端的数据

13、库相关测试表的实现,包含以下诸表1、手机.学生关联信息2、教师.课程关联信息3、课程.学生关联信息4、手机.课程关联信息5、课程.教室关联信息6、教室.接入点关联信息二、Android平台上的维护终端(软件)通过维护终端,手机能对数据库中的数据实现增加,删除,更新本设计任务的完成需要以下过程1、了解数据库方面的知识2、掌握常用数据库指令的使用3、在android上进行JAVA数据库应用的开发4、对手机和服务器+数据库的交互操作深入了解5、对数据库的手机应用程序进行开发,实现手机端的数据维护 1.2.2 课题设计意义 首先,前面已经介绍了数据库的发展历史以及三种数据模型的优缺点,本课题的数据库设

14、计目的就是熟悉关系模型的使用、表的创建、以及表之间关系的掌握。其中重要的是对表的主键和外键设置的掌握。比如说:学生选课。学生,课程信息都单独设置一张表。它们之间的关系:学生选课,也要单独设置成一张表,主键包括学号和课程号。否则,表中数据不仅会出现冗余,也是不符合规定范式的有效表。 其次,Android平台的迅猛发展,带动着智能手机的应用服务不断朝着创新化、便携化、人性化、全面化迈进。利用Android平台研发一款移动终端数据库管理软件,不仅可以加深对Android的理解学习,而且为以后开发Android项目打下坚实基础。另外,这也是打破传统操作数据库的固定模式,转变为随时随地管理数据库模式的全

15、新突破。在本文的基础上,添加对复杂数据的处理功能、资源的采集、存储、检索功能及实时数据实时更新功能,可以成为更商业,更具有可用性的移动数据终端系统。同时,本文也可以为其它需要连接到数据库进行操作的项目提供技术支持。1.3论文结构安排本项目是利用Android技术开发的移动数据维护终端系统。核心部分也就分为三块:数据库(服务器端)手机软件(客户端)以及客户端、服务器端的交互。 论文一共有5章,第一章是绪论,主要介绍一下本项目的背景知识以及开发本项目的目标、意义。 第二章,首先是对本课题的技术分析,包括Android平台以及数据库需要考虑重点以及课题实现的难点。然后是对参考文献等资料的总结,借鉴国

16、内外学者优秀的研究成果以及成功思路,为本文的研究奠定基础。 第三章详解手机客户端软件的功能设计、界面设计以及客户端Socket通信技术。 第四章是数据库的详细设计,服务器端的详细设计以及增加、删除、修改、查询功能的具体实现。 第五章 针对第三、四章的分析结果,然后根据结论提出一些建议,不断完善系统功能,使之成为更具有商业使用价值的软件系统。第2章技术分析与文献综述2.1技术分析 本课题的核心部分包括三个模块,服务器端的设计模块,手机终端软件设计模块以及客户端、服务器端交互模块。下面就分别从这三个模块讨论技术要点与实现难点。 2.1.1服务器端设计分析 服务器端的功能是接收客户端用户操作,并根据

17、相应参数对数据库进行对应操作。所以服务器端的两大难点分别是:监听客户端请求模块和对数据库进行相应操作模块。其中接收客户端请求模块在下面交互模块中进行分析,下边主要是数据库的设计分析与连接数据库的分析。一、数据库的选择 根据系统的具体要求,比如客户量的大小、安全性要求的高低、响应的时间等来选择合适的数据库是非常重要的。常见的数据库有MySQL,SQL,以及Oracle。二、数据的存取 服务器端的功能就是根据参数对数据库进行相应操作。Android平台提供了以下几种方式来进行数据存取:1) SharedPreferences方式:该方式自动保存数据,保存类型为文件类型。2) 数据库方式:支持增加、

18、删除、修改、查询等基本SQL语句。值得注意的是基本两个字,因为有的语句并不是基本语句。3) 文件方式:原理和第一种差不多,只不过是存储在其它移动设备上。4)网络方式,通过网络连接来实现对数据的存储和获取操作。三、数据库表的设计 数据库的设计关键就是数据表的设计。数据表的创建是建立在项目的需求分析之上的。所以数据表的第一个难点是需求分析工作是否到位。需求分析就是在建立表之前需要对项目所涉及的各种信息汇总,并逐步筛选,得到最终有用信息。另一个难点就是理清有用信息之间的关系,因为设计表就避免不了设计表之间的关系。把每两张表之间的关系理清是非常复杂,非常困难的。因此必须花大量时间对表进行研究设计。主键

19、与外键设计的是否合理,表之间关系设计的是否全面,不仅决定是否会给后续访问数据库的编码带来不必要的麻烦,而且对系统的性能,比如响应时间,也有很大的影响。最后一个难点就是属性字段的设计。设计各个表的属性,并不是随意设计,第一要考虑到实际问题,比如我们的手机号,大部分是11位的,所以设计为字符串比较合理。还有的就是密码属性,常规的密码属性是字符串,但是本项目不用考虑太多的安全问题,所以为了简单起见,我们可以把它定义为6位的整数。第二要考虑代码的操作问题,比如两张表都是四个字段,如果把它们对应设计成相同属性,那么操作数据库的语句一个就行了,否则还需再写一个访问语句。数据表很少的情况下可能差别不大,但是

20、对于较大数据库而言,是非常有参考价值的。四、服务器与数据库的交互设计数据库设计完成,接下来就是服务器连接数据库,根据用户的请求操作相应的数据库。这一模块是重点也是难点,很多项目开始就是无法连接到数据库。做完本项目,我个人认为本模块有两大难点:驱动的正确安装以及连接代码的设计。首先服务器端的项目必须在导入相应的驱动包后才能进行成功连接,否则将会产生连接错误。关于连接代码,除了数据库名,密码,表名,字段名等基本元素必须保持一致外,更重要的是保证数据库服务的开启以及相应端口没有被禁用。比如SQL数据库,要在SQL Server外围配置应用器中查看相应的远程连接服务是否开启。我的操作流程是Window

21、s的控制面板系统安全管理工具服务里,找到相应服务,点击启动即可。另外还要注意相应端口是否因为防火墙被禁用。个人建议在运行本项目时关闭防火墙,以免带来不便。关于安全问题可以说是微乎其微,不必太过担心。2.1.2手机终端设计分析手机终端软件设计的前提,是对Android平台有深刻的理解。下面我们先分析Android平台的构成与优势。一、Android平台的构成:1)应用程序:这是与用户交互最直接的一层。Android本身会附带一些基于JAVA的核心应用程序。包括电子邮件客户端、短信程序、通讯录、浏览器、联系人和其它设置等。用户可以下载也可以开发所需应用程序。2)应用程序框架:核心应用程序的开发有自

22、己的框架,软件设计者可以利用APIs来开发软件。应用程序的框架可以简化组件的重用,这一机制允许用户替换组件。Android系统中应用程序在遵守框架安全限制的情况下可以发布功能,并可使其它应用程序调用该功能。应用程序框架被设计成可再利用的简易组件,用户使用同样的机制来置换组件达到组件重用目的。3)函数库:具体的来说是C/C+函数库,处于应用程序框架的下一层,它们的价值就是为应用程序组件服务,以便开发者通过应用程序框架实现其功能。读者可以自己查阅资料了解所有的核心库,这里不再举例。4)Android Runtime:翻译成中文为Android运行时。它主要包含了一组核心库和DAlvik虚拟机。每个

23、Android应用程序都被看成是虚拟机中的一个实例,它们有自己的进程来运行该程序。5)Linux内核:Android是基于优化后的Linux内核提供的核心系统服务,这一层处于最底层,为系统提供底层服务,包括内存管理、进程管理、电源管理、网络堆栈和众多驱动程序等。二、Android平台的优势:1)开放性:所有的开发厂商可以加入到Android大家庭,不仅会带来越来越多的开发者,而且用户亦可以享受丰富的软件资源。2)丰富的硬件选择:由于Android平台的开放性,众多厂商将推出各具特色的产品。然后尽管功能上有很大的不同,数据同步以及软件的兼容性将不会受到影响。3)开发商不受任何限制:开发商有一个十

24、分宽泛、自由的环境,除了带来新颖别致的应用之外,当然也有血腥暴力的负面影响。4)完美结合的Google应用:Android十分完美的结合了Google优秀的服务,比如地图、邮件、搜索等,这些功能是连接用户和互联网的重要纽带。 一个移动数据维护终端系统,与使用者最直接的交互就是手机软件的界面制作。用户界面制作的美观简洁不仅让使用者对产品留下深刻的印象,也是一款应用在日新月异的Android时代脱颖而出的重要保障。如果用户通过鼠标拖动、点击等动作就可以操作整个软件,这个软件就会受欢迎的多。实际上,Windows之所以广为人知,其最初的吸引力就来自其提供的图形用户界面。因此,手机终端的设计重点,在于

25、界面的设计。要充分考虑用户的感受,让用户感觉到用着顺手。界面的多少,界面的跳转并不是难点,但是要做好确是非常需要时间和精力的。Android平台提供以下三种方式生成界面:XML方式生成;直接用代码生成以及通过相应的界面接口生成。我们可以采用在XML中定义页面结构的方法,将界面设计与代码分离,不仅结构清晰,而且实现复杂度低。Android提供大量功能丰富的UI组件,开发者只需按功能把组件组合到一起即可。界面设计时可灵活应用各种布局方式,还可以使用Spinner、日期选择器,进度条、视图等高级组件来提升页面的档次。另外为了实现美观简洁、统一方便的界面,还可以采用了样式和主题的功能,其中样式是针对视

26、图级别的,作用是改变指定控件或者布局的样式;而主题功能是针对窗体级别的,作用是改变窗体样式。页面设计完成,剩下的难点就是页面之间的跳转与传值,这里要深入研究Intent的用法、Activity的建立配置与生命周期、按钮以及可编辑文本监听事件的处理等等。因为这些功能实现起来很简单,且具体实现在后文将详细介绍,这里就不再具体展开。另外,在开发过程中,还添加了滑动效果,它用到了Fragment技术。由于使用了Fragment技术后,页面之间的跳转与传值调试了很多时间,同时为了实现滑动功能也收集大量关于Fragment的使用方法,下边给出本项目中关于Fragment以及帧布局的一些技术:1)帧布局是安

27、卓五大布局之一,本项目中相当于盛放Fragment的容器。帧布局中所有组件的位置是固定不变的,除非通过组件自身控制其位置,否则你无法为其中的任意一个控件指定其它位置。后边显示的控件会直接把前面显示的控件覆盖掉,你只能看见其中一部分或者完全看不见。当然你可以通过设置透明属性来达到不同效果。2) Fragment可以看成Activity的子集,但是两者之间还是有很大区别的。比如说下拉列表的使用,Intent功能的使用都不一样。Fragment无法单独实现,只能嵌入到Activity之中的作为界面的一部分出现。在一个Activity当中可以同时嵌入许多Fragment,同时,一个Fragment可在

28、许多Activity中使用。在Activity运行过程中,可以对Fragment进行增删操作(通过调用相应方法)。将Fragment嵌入到Activity可以使用以下方法:直接在Activity对应的xml文件中加入Fragment标记即可。还有一种比较流行的方法是在Activity运行时,通过创建一个FragmentTransaction实例,再调用相应方法实现添加。另外,Fragment同Activity一样,有自己的生命周期,但是它的生命周期受Activity影响,当Activity结束时,Fragment生命周期也就结束了。还有就是项目中在定义点击事件处理函数时,findViewByI

29、d 在Activity中可以用,在Fragment中使用时要加上一个view。Fragment最终返回一个视图对象,这个是与Activity不同的。另外关于两者在传值上区别,在下文将会详细讨论。另外,使用Fragment需要导入相应的包,有两个包提供了相应功能,然而实现还是有很大区别的。在定义FragmentManager对象时就使用不同的方法。另外, FragmentActivity 继承自Activity,在使用的时候需要导入带有support关键字的包。现在Android不断更新成熟,Fragment的使用更加方便,已经可以直接继承Activity。如果你的项目想从Activity跳转到

30、Fragment,一定要注意引用时前后所导入的包要一致,否则会抛出异常。2.1.3客户端与服务器端的交互分析客户端与服务器端的交互有很多种方法,每种方法都有自己优缺点,实现的流程原理也大不相同。但是有一点是不变的,那就是交互过程要方便快捷且不受平台影响,同时还要保证传输数据的格式符合标准。要实现客户端与服务器传输数据,通常使用的是HTTP协议和SOCKET。当然还有许多从上面两种不断拓展出来的其它协议,如JSON协议、SOAP协议等等。在不同的场合下每种协议有自己独特的优势。比如项目没有什么特殊要求,只是能够实现基本的交互操作,那么传输XML文件比较通用的是SOAP协议。如果对数据大小及传输速

31、度有限制,我们最好选择JSON。JSON作为轻量级的数据交换格式,采用完全独立于语言的文本格式。另外,JSON易于人理解使用,机器解析也非常方便。这些特性使JSON成为理想的数据交换语言。下边从几种连接协议以及之间的关系来详细分析:一、TCP连接理解TCP连接的原理是搞清楚Socket通信的前提。如果我们的手机底层采用了TCP协议,就可以通过无线网建立一个连接,使我们的手机达到上网功能。TCP协提供接口给上一层,使其数据传输是在一个“无差别”的网络。TCP协议作用在传输层,建立连接使用三次握手机制(可有效的避免建立错误连接),流量控制采用滑动窗口协议。TCP三次握手的过程如下:客户端发送连接请

32、求报文给服务器端,同时选择一个初始发送序号x,进入SYN_SEND状态。服务器收到传来的报文,回应一个确认报文(ACK=1),同时确认序号为x+1,因为连接时双向的,服务器也要发送连接请求报文,同时选择一个初始发送序号y,进入SYN_SEND状态。客户端收到服务器端传来的报文,回应一个确认报文,进入建立连接状态。图1为具体的流程图:图1 TCP的三次握手三次握手完成,TCP客户端和服务器成功地建立连接,双方便可以开始传输数据了。更重要的是TCP连接是持久性的,只要连接建立就会一直保持连接状态,除非交互双方有一方发送关闭连接请求。由于TCP连接时全双工的,每个方向都必须要使用FIN报文单独进行关闭。也就是说发送FIN报文只能终止一方的发送,但是仍是可以接受另一方传来的数据。另一方如果想要关闭连接也需要发送FIN报文。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1