已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理工大学毕业设计(论文)用纸太原理工大学毕业设计(论文)任务书毕业设计(论文)题目:基于Android系统的失物招领平台的设计与实现毕业设计(论文)要求及原始数据(资料):1综述生活中失物招领工作的现状,说明该项目实现的意义;2深入分析失物招领事务的业务逻辑划分,证明项目的技术可行性;3深入研究Android客户端程序与后台服务器进行网络通信的机制;4熟练Android客户端前端逻辑处理的设计和实现;5掌握搭建服务器的关键技术,学会搭建简单的后台服务器;6实现Android客户端与后台服务器交互完成业务处理;7训练检索文献资料和利用文献资料的能力;8. 训练撰写技术文档与学位论文的能力。 毕业设计(论文)主要内容:1综述线下失物招领工作普遍遇到的问题和困境;2了解目前流行的服务器框架搭建的技术;3深入分析失物招领的业务逻辑,设计后台数据库;4搭建后台服务器,响应客户端的数据提交和数据请求;5. 划分Android客户端的功能模块,设计项目的实现框架;6Android客户端UI显示和逻辑处理代码的编写;7完成失物招领平台的设计和实现。学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。 主要参考文献(资料):1 李欢.捡东西成累赘?探访失物招领现状N.大河报,2015-01-06(2)2 李刚.疯狂Android讲义M.北京:电子工业出版社,20133 耿海宵,张丽梦.校园失物招领系统设计J.Silicon Valley,2012,(4)4 董伟东.失物招领系统的建立J.计算机光盘软件与应用,2014,(1):251-252 5 Lbke, Robert1;Schuster, Daniel; Schill, Alexander.A framework for the development of mobilesocialsoftware onandroid C.Mobile Computing, Applications, and Services - Third International Conference, MobiCASE 2011,(3):207-2256 袁伟华.多线程技术在Android应用程序与服务器通信的应用J.电脑编程技巧与维护,2014,(4)7 卜炟编.开发参考:JSTL网络标签与SSH类参考手册K.北京:中国铁道出版社,20108 Chandrashekar;Sushruth.Android application for school of art and designD.San Diego State University,2014 9 Scott Oaks,Henry Wong.Java ThreadsM.OReilly,2004 10 上海杰普教研组.Android高级编程M.上海:上海杰普,2014专业班级软件1110班学生王杰要求设计(论文)工作起止日期2015年3月23日2015年7月3日指导教师签字尹珂男日期2015年3月23日教研室主任审查签字日期系主任批准签字日期2基于Android系统的失物招领平台的设计与实现摘 要基于Android系统的失物招领平台是基于当下各传统失物招领平台和一些网站型失物招领平台的不足而建立的一个新兴失物招领平台。新平台客户端部署在Android手机端,实现真正的移动失物招领。新平台架构采用Android客户端、Web服务器和MySql数据库架构,使信息交互不再依赖浏览器,手机应用添加主流手势解锁、手势登陆,操作更加简便,并且信息交互界面更加友好、便捷。新平台允许失主发布物品丢失信息、允许捡拾者发布见到物品信息,并且增加一键联系失主/捡拾者功能,大大提高了失物招领的工作效率。新平台更增加了“中国正能量”模块,宣传近期好人好事,弘扬点滴正能量。关键词: 失物招领;Android系统;平台;手势解锁;工作效率 1The Design and Realization of the Lost and Found based on Android platformAbstractsThe Lost and Found software based on Android platform is a new solution which differ from the present various lost and found software and some sites of the lost and found. New software is deployed in the Android mobile terminal platform, realizes the real mobile lost and found. New platform has the Android client, Web server and MySql database structure, make the information interaction is no longer dependent on the browser, mobile applications with mainstream gestures to unlock, gestures landing, operating more simple, and the information interaction interface more friendly and convenient.This new platform to allow the owner released lost information and allowed to pick up see items, and add function of one-key contacting owner/picker function, greatly improving the efficiency of the lost and found. New platform more added China is energy module publicity recent good deeds, carry forward the intravenous drip positive energy.Keywords: Lost and Found; platform; Android; gesture landing; efficiency of operations目录1. 绪论11.1 选题来源及现实意义11.2 失物招领平台的现状21.3 选题的发展前景22. 失物招领平台的现状与分析42.1现有的失物招领平台42.2 对传统平台的分析42.2.1 信息流不对称42.2.2 运营成本高52.2.3 服务范围小,受众面小52.2.4 被动接受信息,工作效率低52.3 对线上平台的分析52.4 发现可利用资源63. 可行性分析73.1 经济可行性73.2 技术可行性73.2.1 Android平台的成熟性73.2.2平台架构的可行性93.2.3Android技术点的可行性93.3 时间可行性143.4 社会可行性144. 系统设计与实现154.1 系统综述154.2 平台整体架构155. Android客户端设计与实现175.1 Android客户端模块划分175.2 登陆注册模块175.2.1注册模块185.2.2登陆模块195.3 设置模块195.3.1 手势管理模块205.3.2登录密码管理205.4 找回物品模块235.5 捡到物品模块235.6 正能量模块236.数据库设计与实现246.1 数据库概述246.2 数据库表结构257.服务器端设计与实现277.1密码部分277.2 个人信息307.3 查询物品317.4 新闻338. 功能测试358.1登陆注册模块测试358.2失物招领模块测试388.3正能量模块测试398.4我的设置模块测试408.4.1个人信息408.4.2手势测试408.4.3密码修改测试429. 总结44参考文献46致 谢47外文翻译48外文原文48中文翻译511 绪论1.1 选题来源及现实意义随着我国社会经济的不断发展,人们的生活节奏也在不断加快,加之现在生活中越来越多的物件小型化,我们不免会偶尔疏忽而遗忘物品。生活中谁没有丢东西的经历呢?就体积而言,大到雨伞、书包、行李箱、各类书籍,小至银行卡,钥匙,身份证,眼镜、钱夹等等。雨伞可以买,银行卡可以挂失补办,钥匙可以重新配;书丢了可以买新的,但是以前的笔记是买不到的,身份证一时半会都补办不下来,尤其是人在外地时更是麻烦!遇到这种情况怎么办呢?生活中我们也会偶然捡到别人遗失的物品,捡到的东西该怎么处理呢?捡到工作证、学生证,上边有单位信息可以很方便地联系;但身份证上的信息联系起来代价太大,难以联系;如果捡到的是雨伞、书籍,连个联系的人都没有;捡到钥匙不知道该还给谁或是交给谁,而失主还焦头烂额地发愁进不了家门;捡到银行卡就只能交给发卡行了,但是实际上丢银行卡的人到银行补办银行卡时几乎不会有机会找到丢失的卡. .以上种种丢失物品或是捡到物品的情况在我们日常生活中频繁的出现,丢东西的人着急着急找失物像大海捞针,而捡到东西的人有心寻找失主却无从找起!那么怎么能减少这种情况让失主知道谁捡了自己丢的物品,让捡到东西的人知道怎么联系失主呢?加之智能手机普及以及移动互联网的发展,几乎每个人至少有一部以上的智能手机。这一部部智能手机将世界上一个个游离的个体人,不管距离多远,不管何种语言,连接成为一个整体。智能手机将我们的世界缩小到一部手机上,通过一块几英寸的屏幕将形形色色的数据以光速传播着。人们可以随时随地通过手中接入互联网的智能手机来获取各种信息,并可以发布自己独有的信息。而在智能手机领域,Android手机占有很大的市场份额。基于对以上这些情况的考虑,我们可以在手机上安装一个专门用来进行发布失物找回和寻找失主信息的软件,搭建一个在线的失物招领平台,将失主和失物的信息进行采集发布,极大地扩展双方的信息沟通渠道,减少失物招领的精力花费、时间代价和经济代价,从而提高生活品质。由于只是局限性,本次选定Android手机作为开发平台,来完成“失物招领平台”的搭建。1.2 失物招领平台的现状现阶段的失物招领平台主要是这样一种组织运作方式有一个实体的运维部门(或是政府机构,或是企事业单位如铁路航空,或是民间团体,也有盈利性公司)作为主体,被动的接收失物信息(当有人捡到丢失物并且愿意花时间精力归还时才对交给它),并由工作人员人工录入失物信息,进行分类(有的也不分类)保管,然后在一个特定的信息发布平台发布失物招领信息,等待失主有机会看到这些信息后来联系,最终完成这个失物找回的流程。这些平台很多都是线下的运行,像一些社区的失物招领处,特别是中国铁路竟然没有一个成熟的失物招领平台,中国铁路各大车站每日客流量达几万到十几万,即使有万分之一的乘客丢失了行李,各大车站加起来也是一个很庞大的数据!这些平台几乎都是区域性的,只服务周边的社区、城市。如果你不幸到另一个城市然后丢了物品,那么这几乎就不可能找回了。综上所述,现阶段还没有一个服务范围广,信息在线收集、在线发布并且为广大群众所熟知的失物招领平台。在移动互联网高度发展的今天,失物招领仍然是阻碍和谐社会发展的一块绊脚石。1.3 选题的发展前景生活中,每个人都会由于一时疏忽大意而丢失遗落物品,价值和使用价值有大有小,但不管价值大小,在你发现物品遗失而正要好要用到时,每个人都会焦虑不安而又到处找不到,大大影响了一段时间的心情和工作效率,影响了生活品质。在没有一个完善的失物招领平台的支持下,几乎丢了东西找不回来已经是一个“常识”,而能找回来就成为了一件幸事。我国正在大力倡导建设社会主义和谐社会,全面提高国民素质,怎么能让这么一个问题成为一块绊脚石呢?运行于Android手机端的失物招领APP有可能将每一个使用Android手机的用户连接到我们的失物招领平台,让每个人都成为一个失物招领的一个主体和子结点,让每个人都成为失物招领平台的受益者和工作者。本选题旨在搬除这一块绊脚石,要让大家意识到,丢了的东西是有可能找回来的,是有专门的软件帮助你找回来的!而且这个软件有一个庞大的用户群,你的忧虑可能只是别人动动手指就能帮你解决的事情。当你被人帮助,我相信下一次你捡到东西会很乐意动动手指来帮助别人,我们要让每个人切实感受到和谐社会的微暖,共同为和谐社会的建设添砖加瓦!我们要在本APP的使用过程中培养用户的习惯并改变用户的认知,让大家相信这是一款实用好用的应用,就像地图导航软件一样,装一个在手机里呗,万一啥时候不知道路就可以用。让大家改变过去的意识,相信丢失的东西是可以找回来的,动动手指,你我都可以为和谐社会出一份力!一起分享身边的故事,身边的感动,传递社会正能量,净化社会风气,共建文明城市,和谐社会。2 失物招领平台的现状与分析2.1 现有的失物招领平台 现阶段的失物招领平台还不是很成熟,总结起来主要有以下一些,按照不同的分类指标可以分为不同模式的平台。(一)按照平台运行模式可以分为以下两种:(1) 传统的失物招领平台传统的失物招领平台即线下运行的平台,都是人工操作,对失物收集分类、捡还者的信息登记、失主来找信息的登记分类都是线下操作,或者是手工登记,或是电脑录入,但是这些信息都是本地保存,不上传互联网。(2) 小范围的线上失物招领平台这种平台是传统平台接入互联网的产物,相对与传统平台来讲有了很大的进步,将各方信息由系统管理员(工作人员)电脑录入,并发布在一个特定的信息平台,用户可以接入互联网查看相关信息,但是服务范围小。(二)按照平台性质及组织方式分为以下三种:(1) 政府服务部门或是企事业单位的失物招领平台,如上海失物招领服务平台(2) 公益性的失物招领平台,如大连失物招领网(3) 营利性的失物招领公司,如南昌复失德商务信息咨询有限公司2.2 对传统平台的分析传统的失物招领平台理论上只能服务于一个很小的区域,如临近的几个社区,或是一个城市的某个部门,如xx市公交公司的失物招领处等。这些平台存在很明显的缺陷和不足:2.2.1 信息流不对称传统平台只能依靠人力来完成信息的收集处理,信息发布没有一个可见性广的平台,造成了失物招领工作中信息流的即为不对称性,结果是很多失主根本不知道自己的物品已经被捡到,还在到处寻找无果,最后放弃找回;很多失物在等待失主来找时根本不知道失主正在到处寻找,以为失主不要了,最后长期滞留无法处理,需要更多的人力,地方来管理和存储;最后无奈销毁又造成资源的极大浪费。2.2.2 运营成本高传统平台的日常运维需要大量工作人员完成物品信息的收集登记、捡拾者信息的登记、物品的分类保管、失主的来访接待、失主信息登记、失物与失主信息的匹配、以及捡拾者与失主双方接洽事宜的处理等等一系列工作,在信息互联网高度发达的今天这些人力成本成为这个平台运维成本的最大支出。2.2.3 服务范围小,受众面小从服务的地域范围来讲,这些平台几乎都是区域性的,都是以一个城市,再小就是一个社区为服务单位,某些营利性公司可能拓展到周边的几个城市,但这相对于一个国家来说还是太小太微不足道了。如此小的受众面,在当今人们活动范围极大拓展的今天其实是起不到什么实际作用的(不排除会有一些人还是会通过此途径找回失物,此处是相对选题进行比较)。2.2.4 被动接受信息,工作效率低传统的失物招领平台都是被动地接收信息,只能等着捡拾者自己来上门登记捡到什么什么等信息,等着失主上门来找寻物品(且不论失主是否相信捡到东西的人会归还,不论失主是否知道有这么个失物招领处)。而且各项工作流程都是人工完成,会导致工作效率底下,让群众不再对这项工作抱有期望。2.3 对线上平台的分析现在的一些线上的失物招领平台已经有了一些起色,改善了传统平台的一些弊端,采用电子化办公大提高了信息收集管理的效率和人力成本;并通过互联网将相关信息发布在一个特定的平台上使得信息的传播范围极大拓展,使平台的受众面极大拓展;更重要的是允许注册用户自主发布丢失和招领信息,将无线的潜在用户变为这一工作的有力支持者。但是还是存在几个问题:(1) 平台认知度低,没有吸引力。对于失物招领平台,大家的普遍反映都是,“肯定是谁丢了东西采取上边找找有没有自己的东西被捡到”。如果都是这样的想法,那么这个平台可以说是一个失败的平台,因为只有找的没有招领的,一条腿走路怎么能走得远呢?这样的平台能起到什么在作用呢?(2) 平台缺乏有效监管。以上海失物招领服务平台为例(只知道这个),俨然成了一个分成两类的贴吧,一个找东西,一个找失主。甚至有人借机发布不实信息,留下广告或诈骗的电话,造成了即为不良的影响,一个本来造福民众的平台上竟然会有广告甚至诈骗电话。(3) 平台便捷性不足。现在的失物招领平台都是一个个网站,用手机浏览器查看起来很不方便并且耗费大量流量费;而用电脑查看却不如手机方便,不如手机能方便随身携带,随时打开。这也给平台的进一步发展造成困扰。(4) 仍然脱离不了地域的限制,仍是“xx市失物招领平台”,没有将互联网的优势充分利用。2.4 发现可利用资源(1)积极向上的社会意识。借着我国正在大力建设社会主义和谐社会,弘扬中国正能量的春风,我们可以将我们的产品推出来,率先倡导拾金不昧的优良传统,引导民众意识。(2)便捷而广泛的智能手机平台。失物招领平台的发展前进,可以借助智能手机普及的契机,将平台无限延伸,部署到每一台智能手机终端,通过移动互联网搭建一个覆盖整个网络的失物招领平台,让没一部智能手机都成为这个平台的一个节点,集结每个人的能量,让中国正能量在每个人之间激荡回旋。(3)手机号码的身份验证。现在的手机号都是实名办理的(不包括非法办理的黑户号码,这本身就是违法的),我们的账户可以只允许手机号注册,一定程度可以避免很多用户发布不实消息。(4)信用机制的不断成熟。我们可以加入一个等级成长系统,用来记录用户帮助他人的次数,这样的成长机制能够吸引用户奉献爱心,营造一个不断向上的社会意识。3 可行性分析3.1 经济可行性本课题只为考察基于移动互联网、基于Android手机的失物招领平台的可操作性,为平台的正式开发奠定基础,不考虑经济市场因素,故而不必讨论本软件的经济可行性。而且从长远利益出发,此类生活软件的总和效益必然产生巨大的经济效益。3.2 技术可行性3.2.1 Android平台的成熟性Android系统原来的公司名字就叫做Android。Andy Rubin创立了两个手机操作系统公司:Danger和Android。谷歌公司在2005收购了这个仅成立22月的高科技企业Android。Android系统也开始由谷歌接手研发,Android系统的负 责人以及Android公司的CEO安迪鲁宾成为谷歌公司的工程部副总裁,继续负责Android项目的研发工作。 在2007年11月5日这天,谷歌公司正式向外接展示了这款名为Android的操作系统。并且在这天谷歌宣布建立一个全球性的联盟组织,该组织由34家 手机制造商、软件开发商、电信运营商以及芯片制造商共同组成。这一联盟将支持谷歌发布的手机操作系统以及应用软件,将共同开发Android系统的开放源代码。 Android系统框架和上层应用是类java(不是正统的sun java)开发的,实现了自己的java虚拟机dalvik,在基本主流的智能手机的软件平台上,android的执行速度是最快的。 1、资源文件的优化读取。用xml文件来描述UI,这样有个好处是只要修改UI不用修改代码就可以修改界面的布局、显示风格和字体大小等。界面定义变得灵活方便。xml配置UI在qtopia运用也有但是这么强大并且也不广泛,因为xml文件有个不足是解析xml的效率很低。但是Android在编译的时候就把xml文件进行了优化,android应用程序在解析时变得非常的高效。我们看到apk文件解压后会有个优化过的资源文件。 2、安装时进行优化dex文件。Android的应用程序都打包成一个apk文件,实际上就是一个zip文件。系统第一次起来或应用程序第一次安装时,系统就把apk文件解压了,把可执行文件dex优化成odex文件并放在/data/dalvik-cache目录下。优化后的dex文件启动速度会加快。这解释了为什么 android系统第一次启动是比较慢,以后起来很快了。 3、制作数据库 。Android的图形应用是加载整个sd卡内的所有图像的,但是为什么很快呢?其实android提前把数据做成了数据库,所以不用每次扫描整个这个sd卡,大大加快了启动速度。 4、高效的虚拟机。Android是基于类java虚拟机dalvik,一般的java虚拟机是基于栈的,而dalvik是基于寄存器的。实事求是说我对两者的区别了解不是很深入,不过网上有专门的相关文论进行分析。我的简单理解是栈的实现方式相对容易,相关数据是在内存中的栈里,而操作寄存器里数据的速度明显快与内存里的数据处理。 5、充分挖掘CPU的性能。Android刚出来的时候虽然支持arm cpu,实际上只支持armv5te的指令集的,因为android系统专门为armv5te 进行了优化,充分利用armv5te的执行流水线来提高执行的效率,这也是在500M的三星2440运行效果不是很好,而在200M的omap cpu上运行比较流畅的原因了,所以在最新的代码中有专门针对x86和armv4的优化部分。 6、优化和裁剪的libc库。Libc库几乎是所以库和程序的基础,但是android没有直接利用libc库,而是自己开发了一个库:bionic,它实现了libc库的绝大多数的函数并根据平台进行了优化,但是有系统很少用并且消耗资源的少数函数是不支持的。它只有几百k,节省了空间同时也提高了执行效率。实际上体现了 2-8原则,抓住少数重要的适当舍弃不必要的。 7、充分利用linux系统特性。分析过linux内核的朋友知道,linux fork一个新的进程是非常高效的,利用了COW机制。Android是每个进程是个独立的虚拟机(听说这么设计是为安全考虑,某个时候进程崩溃了不会影响这个系统和其他进程。)android里每个进程都是基于虚拟机的,并且也要加载基本的库,实际上这些都是共享。所以android启动一个新的程序实际上并不消耗很多的内存和CPU资源。同时android在后台有个empty process运行,实际上就是运行一个虚拟机,当要启动一个应用时就直接在其上继续运行,qtopia也有这个机制。 8、高效的paint机制。这个特性可能跟启动关系不大,但是也是android高效的特性之一。界面变化时大部分实际上不是全屏内容变化的,只是局部变化,android 会根据变化的内容只是跟新局部的内容,也提高了效率。这个也提醒我们在开发应用程序时,重载paint方法时尽量不要paint全屏内容。3.2.2 平台架构的可行性Android客户端与服务器、数据库的信息交换模型如下(图3-1平台架构模型):图3-1 平台架构模型Android客户端与服务器之间采用http请求进行交互,可以通过移动互联网,也可以使WIFI网络,服务器返回给客户端信息以JSON格式进行封装,客户端接收到服务器返回信息之后进行解析,根据解析结果将信息呈献给用户;服务器采用Structs2框架,数据库用MySql数据库,服务器与数据库通过JDBC连接,进行数据操作。3.2.3 Android技术点的可行性(1)Android本地数据存储Android本地数据存储常用5中方式:1. SharedPreferences方式SharedPreferences是用来存储一些Key/Value类似的成对的基本数据类型,注意,它只能存储基本数据类型,也即int, long, boolean, String, float。事实上它完全相当于一个HashMap,唯一不同的就是HashMap中的Value可以是任何对象,而SharedPreferences中的值只能存储基本数据类型(primitive types);2. Internal Storage内部存储空间手机内置的存储空间,称为内部存储,它是手机一旦出厂就无法改变,它也是手机的硬件指标之一,通常来讲手机内置存储空间越大意味着手机价格会越贵(很多地方把它称为手机内存,但我们做软件的知道,这并不准确,内存是指手机运行时存储程序,数据和指令的地方;这里应该是手机内部存储的简称为内存,而并非严格意义上的内存)。内部存储空间十分有限,因而显得可贵,所以我们要尽可能避免使用;另外,它也是系统本身和系统应用程序主要的数据存储所在地,一旦内部存储空间耗尽,手机也就无法使用了。所以对于内部存储空间,我们要尽量避免使用。3. External Storage外部存储空间与内部存储空间相对,外部存储空间是指手机出厂的时候不存在,用户在使用时候可以自由添加的外部存储介质比如TS卡,SD卡等闪存储介质。这些闪存介质由最初的空间小价格贵,到现在的大容量价格便宜,所以几乎每个支持外部存储的手机上面都有大容量(大于等于2G)的闪存卡。4. SQLite Database数据库Android对数据库的支持很好,它本身集成了SQLite数据库,每个应用都可以方便的使用它,或者更确切的说,Android完全依赖于SQLite数据库,它所有的系统数据和用到的结构化数据都存储在数据库中。它具有以下优点:a. 效率出众,这是无可否认的;b. 十分适合存储结构化数据;c. 方便在不同的Activity,甚至不同的应用之间传递数据;d. 由专门的ContentProvider来帮忙管理和维护数据库;e. 可以方便的设置访问权限,私有还是都可见;f. 操作方便,使用标准的CRUDE语句(Android系统提供的数据库操作函数);g. 良好的可移植性和通用性,用标准的SQL语句就能实现CRUDE;5. Internet网络(2)Intent跳转Android系统四大核心组件Activity、Service服务、Content Provider内容提供者、BroadcastReceiver广播接收器,这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的Android应用。Intent是四大组件之间信息传输,动作调用的桥梁。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。(3)事件处理机制Android系统提供两种事件处理机制:1、基于监听的事件处理在事件监听的处理模型中,主要涉及如下三类对象:A. Event Source(事件源):事件发生的场所,通常就是各个组件、例如按钮、窗口、菜单等;B. Event(事件):事件封装了界面组件上发生的特定事情(通常就是一次用户操作);C. Event Listener(事件监听器):监听事件源所发生的事件,并对各种事件做出相应的响应。基于监听的事件处理方式流程如下(图3-2基于监听的事件处理流程):图3-2 基于监听的事件处理流程2.、基于回调的事件处理机制从代码的实现的角度来看,基于回调的事件处理模型更加简单。如果说事件监听制是一种委托式的事件处理,那么回调机制恰好与之相反:对于基于回调机制的事件处理模型来说,事件源与事件监听器是统一的。为了使用回调机制类处理GUI组件上所发生的事件,我们需要为该组件提供对应的事件处理方法-而Java又是一种静态语言,我们无法为某个对象动态的添加方法,因此只能继承GUI组件类,并重写该组件类的事件处理方法来实现。(4)ListView下拉刷新通过对ListView添加了一个刷新layout作为header,在滚动中时不断改变header的高度和内容并记录一些状态,在用户手指离开屏幕时根据状态决定进行刷新还是放弃刷新。主要是通过重写ListView的onTouchEvent( )和OnScrollListener( )、onScroll( )、onScrollStateChanged( )函数实现,刷新状态共有四种,如下:CLICK_TO_REFRESH 点击刷新状态,为初始状态;DROP_DOWN_TO_REFRESH 当刷新layout高度低于一定范围时,为此状态;RELEASE_TO_REFRESH 当刷新layout高度高于一定范围时,为此状态;REFRESHING 刷新中时,为此状态通过对不同状态加以判定,并在各自的监听方法中编写各自对应的触发响应方法,来实现类似于微信中下拉刷新列表的功能。(5)Android手势解锁的实现图3-3手势界面手势密码的实现思路如下:A. 正上方的提示区域,用一个类来实现,自定义view来绘制9个提示图标;B. 手势密码绘制区域,用一个类(GestureContentView.java)来实现,它继承自ViewGroup里面, 添加9个ImageView来表示图标, 在onLayout()方法中设置它们的位置;C. 手势路径绘制, 用一个类(GestureDrawline.java)来实现,复写onTouchEvent()方法,在这个方法里面监听TouchEvent事件: D. ACTION_DOWN、ACTION_MOVE、ACTION_UP事件,来绘制手势连接不同点之间的路径;E. 9个点的对象,用一个类(GesturePoint.java)来实现,保存它的位置、状态、背景图片等相关信息,判断用户手指当前的位置,取出当前的位置去与那9个点中的每个点的位置进行比较,如果用户点的位置在某一个点之内,那么当那个点置换背景图片;F. 手势密码的获取,判断手指当前的位置,根据滑动路径经过的点,按顺序保存绘制的点的顺序(这里的点顺序从上到下分别是:1,2,3,4,5,6,7,8,9),不能有重复的点。(6)Android手机权限管理Android手机的权限主要分为两类:ROOT权限和应用程序权限。ROOT权限是Android系统的最高权限,获得root权限之后就意味着已经获得了手机的所有文件的最高权限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作;而应用程序权限是手机在运行一个特定的应用程序时,程序要使用手机系统资源时要用到的权限,一般为硬件模块的开启和使用权限,如使用蓝牙、使用WIFI,接入数据网、使用相机,使用地理位置等等。在手机应用开发中只用到应用程序权限。如果应用需要访问通讯录等功能,需要在程序的AndroidManifest.xml文件中添加子元素即可为自身声明权限。常用的权限如:使用蓝牙功能android.permission.BLUETOOTH使用地理位置信息android.permission.ACCESS_FINE_LOCATION使用相机android.permission.CAMERA打开通讯录android.permission.READ_CONTACTS使用WIFIandroid.permission.CHANGE_WIFI_STATE接入移动网络android.permission.INTERNET读写文件android.permission.WRITE_EXTERNAL_STORAGE 和android.permission.MOUNT_UNMOUNT_FILESYSTEMS3.3 时间可行性本课题设计利用本科毕业设计时间来实现平台的设计、架构和实现。现在智能手机软件普遍采用敏捷开发模式进行产品开发,一个成熟的产品经过几个月的数次迭代完成最终的上线发布。本课题只是实现一个失物招领平台的简单实现,对性能没有过高的要求,所以在毕业设计期间完成是可以做得到的。3.4 社会可行性我过正在大力弘扬中国正能量,创建和谐发展的社会氛围。发现生活中的点滴感人事迹,一句温馨提示,一个微笑致意,都在你我之间泛起一股暖流。本课题旨在为失主和捡到物品者之间搭建一座无障碍沟通的桥梁,让失主有平台发布自己丢失物品的信息,让有爱心的捡拾者有平台帮助失主解决燃眉之急,让人与人之间的互帮互助通过移动互联网产生更大的能量。在社会意识方面,是可行的,也是大家乐于接收,甚至是期盼已久的。4 系统设计与实现4.1 系统综述本失物招领平台用户可见的部分有:使用前需要用户用手机号注册,登录系统后可以设置本地手势,方便登陆系统。在登录系统后,可以在“中国正能量”下浏览近期的推荐正能量,宣传好人好事,点击某一条简讯后可进入相应的资讯详情页;可以在“PICK(我捡到)”页面浏览最近登记的丢失物品信息列表,在页面上方可以点击城市选择、物品类型进行更细致的筛选,点击某一条记录可进入记录详情页,点击右上角“发布”可以发布自己捡到物品的信息,并会增加一条成长值;在“LOST(我丢失)”页面可以浏览最近被捡到的物品列表,页面上方可以筛选,右上角“发布”可以发布自己丢失物品的信息;在默认首页右上角有“我的设置图标”,点击可以进入设置页面进行相关信息的设置。用户不可见部分包括服务器和数据库。数据库为用户发布的信息和查找相关信息提供数据存储和查询,为“正能量”模块的资讯提供数据源,登录密码的验证修改和找回提供数据支持,保存和修改用户信息。而服务器作为Android客户端发送请求、在数据库查询和插入数据、向客户端返回特定数据的桥梁,为众多的Android端的失物招领APP提供内容支持。4.2 平台整体架构如本章第一节系统概述所论述,该平台整体架构包括Android端失物招领APP、Web服务器和后台数据库三部分,APP安装运行于智能手机上,服务器软件部署在服务器主机(本次以自己电脑作为服务器主机)上,数据库安装在主机上,架构如下(图4-1平台整体架构图):图4-1 平台整体架构Android手机上安装的APP应用作为客户端,通过网络接入Web服务器,向Web服务器发送各种请求。服务器接收到各个客户端发来的网络请求后,解析不同参数值,进行响应操作,如果需要数据库数据,则与数据可进行增、删、改、查的操作,之后将操作结果封装成Json数据类型返回给客户端,客户端接收到服务器返回数据库后进行解析,并呈现给用户。5 Android客户端设计与实现5.1 Android客户端模块划分Android客户端分为登陆注册、个人设置、找回物品、捡到物品、正能量资讯五个模块。各模块包含各自的功能,如下图所示(图5-1Android客户端模块):图5-1 Android客户端模块划分5.2 登陆注册模块注册登录模块时用户第一次使用该应用时,需要用手机号在该平台进行注册,注册完成后要设置安全邮箱账号(必填项,用于在忘记密码时找回密码),注册完成后即进入系统首页,以后即可用该手机号和密码登录该平台。在打开APP时,首先出现欢迎界面,本界面持续1.5秒,在此期间系统完成初始化和配置参数读取工作,然后进入“注册登陆”模块,流程图如下(图5-2登陆注册流程图):图5-2 登陆注册流程5.2.1 注册模块注册模块的流程图如下(图5-3):图5-3 注册流程在从服务器获取验证码时需要查询该手机号是否之前已经注册过,如果注册过可以直接进入登陆界面进行登录;如果没有注册过再发送注册验证码,进而继续进行注册流程的其他步骤。5.2.2 登陆模块登陆模块的流程图如下(图5-4登录流程):图5-4 登录流程图登陆模块在进行验证帐号密码或者手势密码的步骤前先要查询本地缓存是否登陆过帐号,如果有登陆过账号并且该账号已经开启手势登陆功能,则进入手势登录界面;否则进入帐号密码登录界面,不同点是,如果上次有登陆过帐号,则默认已经输入上次登陆账号的手机号,用户只用输入密码就可以,是为了给用户更好的使用体验。5.3 设置模块设置模块入口在登录后默认首页右上角我的信息图标,包括设置个人信息(编辑姓名、性别、年龄、常用地址等,查看本账号手机号、爱心成长等级)、本地手势登录密码管理(开启和关闭手势登录、修改登录手势、忘记手势)、登录密码修改、我的朋友(通讯录朋友)、应用升级、退出当前登陆账号5个功能。5.3.1 手势管理模块手势管理的流程图如下(图5-5手势模块流程):图5-5 手势模块流程图手势密码管理模块的加入是借鉴当前手机APP的流行做法,在减少用户依赖键盘输入密码的同时,能够保证用户信息的安全性。手势管理设计上在用户第一次安装软件注册或者成功后弹出设置手势密码界面。此步骤可以跳过不设,在以后的使用中在“设置手势密码手势管理”中设置并开启手势密码登录功能。在手势密码修改功能下可以验证原手势密码并设置新的手势密码;若忘记原来的手势密码可以点击“忘记手势”来用账号密码重新登录,然后可以设置新的手势密码。5.3.2 登录密码管理APP登录密码管理模块包含两个子模块A.密码修改;B.密码找回。密码修改的流程图如下(图5-6):图5-6 登录密码管理流程密码修改需要先验证原密码,原密码输入正确后才能设置新密码。新密码设置成功后返回“我的”模块,不用重新登录。找回密码的流程图如下(图5-7):图5-7 密码找回流程找回密码触发的事件有两个:在帐号密码登录界面点击“忘记密码”,进入找回密码流程;(1)之前用手势密码登录进入App,在密码修改的验证原密码界面点击“忘记密码”后进入密码找回流程。(2)找回密码时,先输入要找回密码的帐号,向服务器发送请求查看该帐号是否已注册,如未注册则可以注册,或者是输入的帐号不正确;若账号已注册,则进入下一步向服务器请求找回密码的邮箱验证码,输入新密码及验证码,通过服务器验证后找回密码成功。(3)找回密码成功后跳入帐号密码登陆界面,用新密码登录(不同于修改密码成功,修改密码成功后不需重新登录,只要在下次用帐号密码登录功能使用新密码即可)。5.4 找回物品模块在找回丢失物品模块,用户可以发布自己的丢失物品信息,可以选择城市、物品类别来浏览筛选条件下被捡到物品待认领的信息,点击某一条物品信息后会进入物品详情页,显示被捡到物品的详细信息以及发布该捡拾信息的热心用户的手机号和姓名(以用户设置为准),此时可以点击短信图标给对方发信息或是点击电话图标打电话给对方。5.5 捡到物品模块在捡到物品模块,用户可以发布自己捡到物品的信息,可以选择城市、物品类别来浏览特定筛选条件下的丢失物品列表。同样地,点击某一条物品信息后会进入物品详情页,显示他人丢失物品的详细信息以及发布该丢失物品信息的用户的手机号和姓名(以用户设置为准),同样有短信联系和电话联系两种联系方式可用于联系该用户。5.6 正能量模块“中国正能量”模块位于登录App首页,用于展示中国正能量资讯列表(只显示标题和时间,由后台数据库维护者收集的正能量的点滴感人事迹),点击某一项可进入资讯详情页,展示该讯息的详细情况。6 数据库设计与实现6.1 数据库概述本平台数据库选用关系型数据库,此处在演示阶段采用MySql数据库,数据表有用户密码表、用户信息表、被捡到物品表、丢失物品表、物品详情表、资讯列表共6张表。各表关系如下(图6-1)所示:图6-1 数据库表关系6.2 数据库表结构(1) 用户密码表,用来存储注册用户的手机号、注册成功后系统分配的ID号、密码、安全邮箱帐号,其中手机号作为主键,如下表6-1 table_user_password表。表6-1 table_user_password字段名数据类型含义备注phoneNumChar(11)帐号(手机号)Primary Keyuser
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国科学院植物研究所科研和支撑岗位招聘50人历年真题汇编附答案解析
- 电焊工安全用电培训课件
- 2025贵州高速公路集团有限公司第二批次招聘6人(第二轮)笔试模拟试卷带答案解析
- 2025红河州河口瑶族自治县粮油购销有限责任公司招聘(1人)模拟试卷附答案解析
- 2025年中国科学技术大学研究生院劳务派遣岗位招聘1人笔试备考试卷附答案解析
- 五毛食品安全宣传课件
- 2025年下半年四川省药品监督管理局所属事业单位考核招聘6人笔试备考试卷附答案解析
- 2025广东江门开平农商银行校园招聘备考题库附答案解析
- 广西农村合作金融机构2025年秋季新员工招聘备考题库附答案解析
- 四川省公安厅关于所属事业单位2025年公开考核招聘工作人员笔试模拟试卷附答案解析
- 2025广东汕尾汇能综合能源服务有限公司招聘13人(第二批次)笔试考试备考题库及答案解析
- 老年人运动的健康宣教
- 2025-2030脑卒中早期筛查设备家庭化趋势与支付方意愿报告
- 浙江省绍兴市柯桥区联盟学校2025-2026学年第一学期九年级科学课堂作业试题卷(1.1-2.2)(学生版)
- 全国大学生职业规划大赛《汽车检测与维修技术》专业生涯发展展示【高职(专科)】
- 全国大学生职业规划大赛《刑事执行》专业生涯发展展示【高职(专科)】
- 12.消毒供应中心职业防护规范上海市护理学会团体标准TSHNA0007-2024
- 2025年小学数学教师教材教法水平测试卷及答案(三套)
- 王羲之吃墨水课件
- 2025年天翼云解决方案架构师认证考试笔试题库上(单选题)含答案
- (2021-2025)五年高考地理真题分类汇编专题08 人口(全国)(原卷版)
评论
0/150
提交评论