基于Android平台的房屋租赁管理系统的设计与实现_第1页
基于Android平台的房屋租赁管理系统的设计与实现_第2页
基于Android平台的房屋租赁管理系统的设计与实现_第3页
基于Android平台的房屋租赁管理系统的设计与实现_第4页
基于Android平台的房屋租赁管理系统的设计与实现_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录2488_WPSOffice_Level1前言 329016_WPSOffice_Level1第一章绪论 42488_WPSOffice_Level21.1Android系统简介 429016_WPSOffice_Level21.2房屋租赁平台介绍 432047_WPSOffice_Level21.3本文组织结构 532047_WPSOffice_Level1第二章技术介绍 617655_WPSOffice_Level22.1Android操作系统简介 620838_WPSOffice_Level22.2ProtocolBuffer数据传输介绍 820404_WPSOffice_Level22.3MySQL数据库简介 915658_WPSOffice_Level22.4软件体系应用结构:B/S结构C/S结构 9538_WPSOffice_Level22.5本章小结 1017655_WPSOffice_Level1第三章系统需求分析 1130720_WPSOffice_Level23.1功能需求 1116924_WPSOffice_Level23.2性能需求 1212939_WPSOffice_Level23.3运行需求 1215972_WPSOffice_Level23.4其他需求 1226394_WPSOffice_Level23.5需求用例图 137462_WPSOffice_Level23.6本章总结 1420838_WPSOffice_Level1第四章系统设计 1527559_WPSOffice_Level24.1结构设计 1527303_WPSOffice_Level24.2接口设计 1814543_WPSOffice_Level24.3本章总结 1920404_WPSOffice_Level1第五章系统实现 203281_WPSOffice_Level25.1Android客户端实现 2013707_WPSOffice_Level25.2Web管理端实现 3527788_WPSOffice_Level25.3服务端实现 375554_WPSOffice_Level25.4本章总结 4215658_WPSOffice_Level1第六章系统数据结构设计 4319121_WPSOffice_Level26.1PowerDesigner表设计: 432447_WPSOffice_Level26.2数据库表: 439687_WPSOffice_Level26.3本章总结 44538_WPSOffice_Level1第七章总结与展望 4512039_WPSOffice_Level27.1本文总结 4532588_WPSOffice_Level27.2工作展望 4530720_WPSOffice_Level1参考文献 4616924_WPSOffice_Level1致谢 47摘要随着互联网的不断发展,手机的功能不断丰富,在日常生活中为人们提供了各种各样的便利,本文介绍的房屋租赁管理系统就是处于这个大环境中。每一年中国都会出现庞大的就业需求和就业者,而就业者在一个地方的工作对住宿的需求是硬性的,于是租房成了第一选择,传统模式下一位租客需要租房时一般会通过中介获取更多的可租房源信息,房东在出租房屋时也无法定位租客人群,于是在寻找租房和出租住房的过程中产生了极大的不便。随着手机的普及和Android操作系统的用户量增长,我们可以将两者结合创建一个基于Android系统的房屋租赁管理平台,使房东与房客可以进行点对点的交流和选择,同时也没有了中介,提升了便利性。Android庞大的用户基数可以对平台提供良好的数据支持,因此基于Android系统的房屋租赁管理平台会具有良好的发展前景。本文对Android操作系统和房屋租赁平台进行了简要的介绍,对平台的系统分析和设计以及实现进行了较为详细的介绍,最后介绍了系统的演示。关键词:Android;房屋租赁;APP;无中介AbstractWiththecontinuousdevelopmentoftheInternet,thefunctionsofmobilephoneshavebeencontinuouslyenriched,providingpeoplewithvariousconveniencesindailylife.Thehousingrentalmanagementsystemintroducedinthisarticleisinthislargeenvironment.EveryyearinChina,therewillbehugeemploymentdemandandemployment,andthedemandforaccommodationintheworkofapersoninoneplaceisrigid.Therefore,rentinghasbecomethefirstchoice.Underthetraditionalmodel,whenatenantneedstorent,itwillgenerallyacquiremorerentablehouseinformationthroughtheintermediary,andthelandlordcannotchoosetherentergroupwhenrentingthehouse,thuscausinggreatinconvenienceintheprocessofsearchingforrentingandrentingthehouse.WiththepopularityofmobilephonesandthegrowingnumberofusersoftheAndroidoperatingsystem,wecancombinethetwotocreateahousingrentalmanagementplatformbasedontheAndroidsystem,sothatlandlordsandtenantscanconductpeer-to-peerexchangesandchoices,andthereisnointermediarytoupgrade.It'sconvenience.Android'shugeusercanprovidegooddatasupportfortheplatform,sotheAndroid-basedhousingrentalmanagementplatformwillhaveagooddevelopmentinthefuture.ThisarticlebrieflyintroducestheAndroidoperatingsystemandthehousingrentalplatform,introducesthesystemanalysis,designandimplementationoftheplatformindetail,andfinallyintroducesthesystemdemonstration.Keywords:Android;rental;APP;nointermediary

前言Android发展势头凶猛,在移动设备操作系统上占据半壁江山,近年来Google的大力支持让Android平台跨上了新的台阶,本次的应用程序是基于Android的房屋租赁管理系统,在移动设备作用越来越重要的今天,Android移动应用程序的良好体验离不开Android本身的进步和发展。本文主要阐述房屋租赁平台的Android客户端开发,管理员网页界面开发,和整个系统的服务端开发。主要工作包括:使用AndroStudio完成Android客户端开发,主要完成的有注册登录、房源信息展示、房源推荐、房源筛选、个人信息管理、发布房源和收藏房源等功能。使用Eclipse+Tomcat完成服务端相应需求的接口和业务逻辑逻辑编码,以及网页的设计和服务端的网络部署。使用MySQL数据库保存系统涉及到的用户和房源数据。

绪论本章首先对Android系统和房屋租赁系统做简单的介绍,然后介绍本文组织结构。Android系统简介Android一词英文本义指“机器人”,它是由Google公司于2007年11月推出的基于Linux平台的开源手机操作系统,依靠Google公司的强大开发和媒体资源,Android成为众多手机厂商竞相追逐的对象,逐渐发展成为当下流行的手机开发平台[1]。Android是一个包括操作系统、中间件、用户界面和关键应用软件的移动设备软件堆。换言之,Android是基于Java并运行在Linux内核上的轻量级操作系统,其功能全面,包括一系列Google公司在其上内置的应用软件,如电话、短信等基本应用功能。Android系统具有很强的开放性,开放的系统允许任何移动终端厂商能够加入到Android联盟中来。Android系统主要使用在手机和平板上,但随着时间的推移,Google还为电视推出了AndroidTV,为汽车推出了AndroidAuto以及为可穿戴设备推出了AndroidWear[2]。房屋租赁平台介绍用户可以通过该系统进行出租房屋和租住房屋的操作,提供双向选择的机会,没有中介。中国每年都有无数人踏入社会寻找工作,同时很多城市也有数量众多的外来务工人员,面对住宿的硬性需求,租房成为不二之选,于是租房的需求持续而稳定。该系统可提供大量的房屋租赁资源,租客使用该系统可直接与房东进行交流,不需要去寻找中介或者租客自己苦苦寻觅位置、价位、配置等适合自己的租房,提高生活质量。房东使用该系统将自己需要出租的房屋放在平台上,提高租出去的机会。系统会对提交的房屋资源进行核实,避免平台出现虚假房屋信息,与此同时,租房用户也有举报入口举报虚假资源和其他问题等等,一旦核实为虚假资源或者是恶意举报,则进行相应处罚。管理员和用户一同监督平台,维护平台上信息的真实性。本文组织结构第一章:绪论。本章介绍课题背景和本文的组织结构。第二章:技术介绍。本章介绍系统的技术背景。在系统开发过程中使用到的一些技术,如Android操作系统、J2EE、ProtoBuf和MySQL等,以及B/S和C/S软件体系结构。第三章:系统需求分析。本章介绍系统的功能需求、性能需求、运行需求和其他需求,以及需求脑图。第四章:系统设计。本章介绍系统的结构和使用流程设计。第五章:系统数据结构设计。本章介绍系统的数据库表结构设计。第六章:系统实现。本章对系统的具体实现进行了详细的阐述。包括Android客户端、Web管理端和服务端实现。第七章:总结与展望。总结全文,提出了系统可以优化的地方并对系统未来的发展方向做了规划。

技术介绍本章详细介绍开发房屋租赁平台过程中所使用的技术:Android技术、J2EE技术、ProtocolBuffer数据传输技术、MySQL数据库技术。以及软件系统体系结构:客户端/服务器(C/S)结构、浏览器/服务器(B/S)结构。2.1Android操作系统简介2.1.1结构Android是一种基于Linux的自由开放源代码的操作系统,主要用于移动设备,由Google公司和开放手机联盟领导及开发。Android提供了一个统一的应用程序开发方法,使Android应用程序能够运行在不同的搭载了Android的移动设备上[3]。Android采用了四层的分层架构,从第到高分别是Linux内核层、系统运行库层、应用程序框架层和应用程序层。Linux内核层:在所有层的最底下是Linux3.6,提供了如进程管理、内存管理、设备管理等基本的系统功能,同时内核也会处理网络和设备驱动。系统运行层:系统运行库层包括了开源的浏览器引擎Webkit,用于存储和应用数据共享的SQLite数据库,libc库以及用于网络安全的SSL库等。与此同时,也包括为Android开发的基于Java的程序库,如用户界面构建、图形绘制和数据库访问需要使用。应用程序框架层:应用框架层则以Java类的形式为应用程序提供许多高级的服务。如活动管理者,内容提供者,资源管理器,通知管理器以及视图系统。应用程序层:我们应用程序的开发则在应用程序层中进行[4]。2.1.2组件Android应用程序组件是Android应用程序的基本构建块,这些组件由应用清单文件进行松耦合的组织,包括四个主要组件:Activities、Service、BroadcastReceivers和ContentProviders。Activities:一个Activity标识一个具有用户界面的单一屏幕。Service:是运行在后台,执行长时间操作的组件。BroadcastReceivers:简单的响应从系统或其他应用程序发来的广播消息。ContentProviders:通过请求从一个应用程序到另一个应用程序提供数据。2.1.3特点Android操作系统有很多特点让他能够如此的快速发展:开源性:开源性是Android平台最大的特点。开源使得Android移动设备厂商降低了操作系统开发成本,进而使移动设备价格更加亲民。在Android开源的大环境中具有很多的开发者和丰富的软件资源,当积累到一定规模之后,能吸引更多的人力和物力资源从而形成良性循环[5]。丰富的硬件选择:由于Android的开放性,厂商为了吸引用户会在Android原生系统上进行改造加入具有自己特色功能,丰富了用户的选择和体验。良好的结合Google应用:得益于Google的支持,使得使用Android系统的手机可以良好的使用Google的其他服务,比如搜索、邮件、Google地图等。开发的便捷性:Android的开放使得第三方非常方便的开发需要的软件,众多的开源代码库也使得开发变得更加简单方便。使用Android开发的软件的功能也在不断的推陈出新,新的思想也在不断涌现[6]。跨平台:Android使用java开发也继承了java跨平台的优点,任何Android应用几乎无需任何修改就能运行于所有的Android设备。Google强大的技术支持:Android得益于Google的支持变得越来越强大,Google丰厚的技术实力,让Chrome浏览器、GoogleNow语音命令、谷歌地图等优质服务在Android平台上完美支持,同时Google在互联网界的强大号召力,让Android在短期内迅速吸引到了运营商、制造商和开发者的支持,更重要的是Google强大的开发能力也保证了Android有着持续有效的产品迭代,使其不断完善。2.1.4不足作为Android应用的开发者,也应该了解到Android的不足:安全性:Android由于历史遗留原因,权限管理方面的机制不完善,导致安全性成为一个被人所诟病的点。同时在国内GoogleStore的缺失,导致Android用户不得不安装各种渠道的应用,从而带来较大的安全隐患。由于Android的开放性,用户打开过哪些网页,浏览过哪些信息,保存过哪些信息等等,这些足迹都可能被暴露出去,因此当用户打开网页时会发现一些推荐功能或广告。功能依赖第三方:新功能一直在努力的添加,但这需要时间和努力。比如曾经SDK中没有内置音乐播放器,全部依赖第三方开发。跨平台牺牲了部分性能:使用虚拟机技术,Android在性能上是有一些劣势的。曾经很长一段时间Android使用自研Dalvik虚拟机提供应用程序框架支持并运行各种应用程序。Dalvik虚拟机的优点是可以让各种各样的应用程序运行在多种硬件架构上,但应用程序每次运行时其中一部分代码都要需要机器重新编译。这个过程即消耗时间又要消耗系统资源,所以执行效率会降低[7]。Android为支持各种不同的硬件,兼容性也会带来性能的牺牲。由于版权问题,很多硬件的驱动并没有放在linux内核层而是放在了用户态,这也一定程度上牺牲了性能。然而Android的运行性能正在得到逐步改善。从Android5.0开始Dalvik虚拟机被彻底废弃,改为使用ART运行环境。相比Dalvik,ART的处理机制完全不同,它会在应用程序安装时就把程序代码转换成机器语言,让程序成为真正的本地应用[8]。这样做的好处是程序的启动时间被极大的提高,运行速度也会更快。电量消耗的更少,系统行也跟着更加流畅。我们也期待未来Android还会有进一步的优化。2.2ProtocolBuffer数据传输介绍ProtocolBuffers是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或RPC数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了C++、Java、Python三种语言的API。它是一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。ProtocalBuffer简称protobuf,在前后端进行消息传输过程中会先确定消息结构。如图2.1所示:图2.1proto示例使用protobuf提供的编译器将以上结构编码生成.java文件即可在代码中通过对象的方式获取传输的消息。2.3MySQL数据库简介MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于

Oracle

旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。MySQL具有单点(Single)、复制(Replication)、集群(Cluster)的应用架构特点。支持多线程,可以充分利用CPU资源,既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中,并且提供多语言支持,常见的编码如中文的

GB2312、BIG5,日文的

Shift_JIS等都可以用作数据表名和数据列名[9]。在5.6版本中也新增了一些功能,如:在线DDL/更改功能,使数据架构支持动态应用程序;支持自我修复式集群;复制无崩溃从机,提高可用性;复制多线程从机,可提高性能;原生JSON支持;GIS的空间扩展等等。2.4软件体系应用结构:B/S结构C/S结构2.4.1C/S结构C/S结构是客户端/服务器结构,传统的C/S结构中,客户端承担了整个系统很多的处理工作,与之不同的是,我们的客户端是在Android手机上,并且由于用户量的可增长性,对运行速度和响应速度提出了更高的要求[10]。如今的手机应用更像是CSBS结构的复合结构,兼具两者特点:从Android端和服务端来看它是C/S结构,但它又不是严格的C/S结构,因为这里Android主要负责显示,而复杂的事务处理是通过广域网络交给服务端来完成的,从这一点来看又有B/S结构的特点。2.4.2B/S结构B/S结构是浏览器/服务器结构,无须特别安装客户端,通过浏览器就可以实现多客户访问的目的,而且可以接受不可知用户和数量巨大的访问,但是对安全性和负载均衡设计会有较高要求[11]。相比于C/S结构,B/S不需要体量庞大的客户端,同时浏览器的升级相对于对每个C/S中的客户端升级来说会更加方便,在成本方面也得到了很好的控制[12]。实际上浏览器也可以看做一种特殊的客户端,只是这个客户端是轻量级的。随着Internet的发展,B/S结构也逐渐显现出优势:升级和维护在服务端进行即可,极大的降低了成本。房屋租赁系统后台管理采用浏览器/服务器模式,即使用了B/S结构,管理员通过浏览器登录验证后,即可进行相应的管理操作。2.5本章小结本章介绍的Android技术、服务端开发技术、protobuf数据传输技术、MySQL数据库技术等等为房屋租赁系统的完成提供了良好的技术支持。一个系统的开发涉及方方面面,需要不同技术的良好使用和配合。

系统需求分析主要对系统的需求分析进行叙述。首先阐述功能需求,总体上介绍系统的功能,功能的划分以及详细的功能需求;其次,简要叙述下其他需求,如性能需求、运行需求和安全性、可维护性等其它需求;在分析过程中,通过系统用例图来详细说明。3.1功能需求本系统是为Android用户提供的一个房屋租赁平台,主要解决用户自己找房租房的问题,提供房客和房东直接对话的便利性。用户能通过APP找到合适满意的租房。该平台的主要服务对象是租房的用户和出租的用户。同时还有平台的管理员,进行房源审核和举报处理。3.1.1Android客户端功能该租赁系统Android客户端主要包含以下功能:用户进入系统通过手机号和密码进行注册登录,之后自动登录首页默认显示用户当前所在地三千米范围内的有效房源信息用户可搜索指定地点周围的房源信息,无城市限制用户可设定租金和范围和房源信息排序方式用户查找房源,有多种筛选条件(租金,出租方式,户型,房屋配置,性别,特色)房源位置信息支持百度地图显示提供举报功能用户发布房源,点击发布房源按钮进行房源详细信息编辑功能房源收藏功能,用户可在个人界面查看收藏的房源信息用户可查看自己发布的房源信息用户可修改自己发布的房源状态(可租、已满)用户可修改个人信息支持切换登录3.1.2平台管理员Web端功能Web端管理员主要包含以下功能:账号密码登录房源信息审核举报处理3.2性能需求支持高并发连接数要做到连接稳定,用户后台运行时依然保持连接,保证信息及时接收,系统响应时间应在人的感觉和视觉范围内(<1s),数据传输足够迅速(<3s),能够满足用户要求3.3运行需求3.3.1用户界面需求:界面简洁清晰,易操作,格式严谨,能匹配不同尺寸的手机设备应包含提醒机制,提示用户正确输入和正确操作配色温和简约,扁平化风格信息位置分配合理,租房价格重点突出3.3.2接口需求:Android用户使用移动设备进行访问,适用于安卓版本4.0以上的用户管理员以使用浏览器进行访问,Web端适用于现代浏览器,不兼容IE6/73.3.3故障处理需求:支持日志记录,记录用户的操作及故障信息,便于查错和维护3.4其他需求3.4.1安全性需求:登录具有唯一性(不同手机登录成功时先登录的会下线)登录需要账号密码都正确无误才能通过验证客户端做验证,服务端也做验证,保证信息无误3.4.2可维护性需求:支持增量更新,支持在现有版本上进行进一步的开发丰富功能良好的可扩展性,使用成熟的Android和JavaEE开发技术,以及成熟的应用框架使客户端和服务端具有良好的可扩展性在操作方式、运行环境、软件接口或开发计划发生变化时,应具有适应能力3.5需求用例图用于形象展示系统中各种对象的功能需求,直观地理解系统的功能组成。如图3.1所示是平台管理员的功能需求用例图,图3.2是系统用户的功能需求用例图。图3.1管理员需求用例图图3.2用户需求用例图3.6本章总结需求分析是软件计划阶段的重要活动,也是软件生存周期中的一个重要环节,该阶段是分析系统在功能上需要做什么,确定用户对系统软件的需求。通过用户对该租赁系统提出的“要求”或“需要”进行分析与整理后,得到了完整、清晰、具体的要求,确定了软件需要实现以上的功能。于开发者来讲,与用户的沟通至关重要,准确的抓取用户的需求点才能做好需求分析的工作,才能提高软件的质量。

系统设计本章介绍房屋租赁系统的设计过程,在着手编程之前,系统设计尤为重要。良好的结构设计可以使系统具有更好的扩展性。包括软件的模块组成和接口设计以及使用流程设计。4.1结构设计系统的结构设计包括各类用户的使用流程,合理的流程设计可以更快的理解系统的功能划分。如图4.1是租房用户的使用流程图,如图4.2是作为房东的用户的使用流程图,如图4.3是web管理端的用户管理流程图,如图4.4是系统模块结构图。图4.1租房用户流程图图4.2房东用户流程图图4.3web端管理流程图图4.4系统模块结构图4.1.1Android客户端功能模块设计:注册登录模块:第一次登录需要使用手机号和密码注册登录,之后再登录时自动登入。个人信息模块:用户个人账号等信息,以及收藏的房源和作为房东发布的房源信息。寻找房源模块:登入时会显示用户所在地三千米范围内的可租房源,也可指定地点和多种筛选条件寻找房源。发布房源模块:发布房源时需要提供房源的详细信息甚至是对租客的要求。4.1.2Web管理端功能模块设计:管理员登录模块:对管理员的身份信息进行验证。房源信息审核模块:对用户提交的房源进行真实性审核,如果内容虚假则返回通知信息告知用户房源出现问题。举报信息处理模块:对用户提交的举报信息进行处理和审核,如若属实则进行相应记录和处罚。4.2接口设计4.2.1Android内部接口设计通过Intent控制器进行各个界面Activity之间的切换,访问百度地图API接口获取玩家所在位置信息。4.2.2服务端访问接口设计服务端一个访问接口代表了客户端的一个访问需求,主要如下:注册登录接口查询房屋信息接口举报虚假信息接口房源收藏接口查看已收藏房源接口修改个人信息接口修改房屋租住状态接口提交新房源信息接口查看自己发布的房源接口4.3本章总结本章介绍了系统的结构设计,包括Android端、web端的功能模块划分;也介绍了接口设计,包括Android客户端内部接口设计和服务端的信息访问接口设计。通过系统的设计过程让编码的目标和实现更加有方向性和指导性。

系统实现本章介绍房屋租赁系统的实现过程,包括三个方面:Android手机客户端、Web平台管理端、服务器端。5.1Android客户端实现5.1.1注册登录模块和主界面用户第一次进入系统时,需要输入手机号和密码进行注册登录,在这个过程中会保存用户的手机号和密码使之能自动登录。如图5.1,显示了系统的注册登录界面。图5.1系统登录界面应用通过SharedPreferences保存手机号和密码,在进入主界面时进行账号的注册或登录以及主界面的初始化。在主界面使用了三个Fragment和一个导航栏进行首页房源信息、通知信息和用户信息的界面切换,如图5.2是主界面的三个Fragment对应的界面。如图5.3是主界面的初始化代码,图5.4是通过Service进行的请求socket连接的代码。图5.2系统主界面:首页、消息、用户图5.3主界面初始化图5.4请求socket连接主界面首页显示了默认推荐的房源和寻找以及发布房源的入口。消息界面显示了用户收到的通知信息,如用户发布房源等操作需要系统给出反馈,通过消息模块,使系统能及时的和用户进行信息交互,被判定为发布虚假信息也会通知处理结果。用户界面显示了个人简略信息以及提供查看收藏的房源和发布的房源入口。5.1.2寻找房源模块寻找房源模块是系统的核心模块,主要是用户对查询到的房源信息进行查看和筛选。进入主界面时,系统会默认为用户推送用户所在地点的附近三千米以内的可用房源,点击寻找房源按钮,即可进行进一步的筛选,并提供了丰富的筛选条件。如图5.5所示,是房源信息界面,通过ListView进行房源简略信息的显示,图5.6是相关代码。图5.5房源信息 图5.6房源筛选上系统默认提供了三个筛选方向和一些具体的条件。三个方向包括租金、排序、和范围,如图5.7所示是筛选条件的三个下拉框中具体的条件设置。其他条件的设置如图5.8所示,通过使用CheckedTextView和复选样式的结合实现多选的效果,相比于多选框更加具有灵活性并且样式也更加容易多变和控制。图5.7筛选条件 图5.8其他条件在主界面或房源界面点击房源简略信息即可进入房屋信息界面查看房屋的具体信息,如图5.9是房屋的详细信息的展示界面。图5.9房屋详细信息界面5.1.3发布房源模块发布房源需要填写非常详细的关于房源的信息,包括:所在小区和楼层。出租方式:整租、合租。户型:几室几厅几卫。租金:多少元/月。面积:出租面积。设施:冰箱、洗衣机、宽带、卫生间、沙发等等。房间配置:单人床、双人床、写字台、衣柜等等。装修:毛坯、普通装修、精装修、豪华装修。付款方式:付三押一、付一押二、半年付、整年付等等。对租客的要求:不抽烟、男生、女生、作息规律等等。通过主界面的发布房源入口可进行房源的发布,如图5.10所示是发布房源界面,图5.11是房屋设施的选择界面,图5.12是装修和付款方式选择界面,图5.13是房间配置和出租方式选择界面。图5.10发布房源界面 图5.11设施选择界面图5.12装修和付款方式选择界面图5.13房间配置和出租方式选择界面发布房源时对提供的房源信息的描述越详细,租客就可以越方便根据自己的特定喜好去查找心仪房源。5.1.4收藏房源模块在房屋的详细信息界面可以对房源进行收藏操作,收藏房源之后,可以在个人信息的收藏房源的收藏夹中查看收藏的房源信息,做进一步的对比选择更加满意的房源。在用户对房源进行收藏之后,同时按钮将会变成取消收藏,表示用户已经对此房源进行了收藏,在用户进入查看房屋信息界面也同样会对该房屋是否已经被该用户收藏进行检测,动态变化按钮样式。同时收藏或取消收藏都会会向服务端发送消息更新用户相关数据。界面如图5.14,注意按钮的变化,图5.15是按钮信息改变和向服务端请求消息相关代码实现。图5.14收藏和取消收藏图5.15更新按钮样式并发送请求消息代码6.1.5个人信息模块个人信息包括用户的基础信息和用户收藏的房源,以及用户发布的房源。点击用户界面的用户头像,可查看用户基本信息,选择修改个人信息则可以对基本信息进行修改,同时提供切换登录的功能,如图5.16所示。图5.16用户界面和基础信息界面用户在收藏房源界面可以查看自己收藏过的房源信息,以进行进一步的对比和选择,如图5.17所示,如果在此界面想取消收藏,点进房屋信息取消收藏即可。如图5.18是向服务端发送请求获取用户收藏的房源信息代码实现。图5.17收藏的房源界面图5.18请求获取用户收藏的房源用户发布的房源,用户可以在这个界面查看自己发布的房源,并根据实际情况,对房屋租住状态进行修改,如图5.19,房源的信息获取逻辑同获取用户收藏房源。房东对租房的可租状态进行设置的时候,会向服务端发送消息,更改租房当前状态,可租或不可租。

图5.23发布的房源界面5.1.6举报信息模块在房源具体信息的底部有举报功能入口,如果用户发现此房源信息不属实或存在其他问题,可通过举报接口进行举报,如图5.20所示。图5.20举报5.2Web管理端实现5.2.1登录模块该模块为管理员提供登录功能,验证登录者身份是否是该平台的管理员。如图5.21是系统后台的登录界面。图5.21登录界面5.2.2房源审核模块验证通过之后,进入房源信息审核界面,对房源的真实性和重复性进行核查。界面如图5.22所示,审核通过的房源会在提交时将uid一并提交到服务端进行处理,代码如图5.23所示。图5.22房源审核界面图5.23设计提交信息5.2.3举报信息处理模块在web端显示用户提交的举报信息,管理员通过举报信息进行用户信息验证,属实将会进行记录和进一步处理。界面如图5.24所示,对于确定存在非法操作的用户,会在提交时将用户id一并发送给服务端。图5.24举报信息处理界面5.3服务端实现服务端承担了消息处理,数据存储,信息验证等等重要功能。良好的服务端结构将使应用程序具有更强的扩展性。服务端结构框架如图5.25。图5.25服务端结构框架对于消息的处理,会通过消息中的header字段来确定使用哪一个具体的消息处理器来进行业务逻辑处理。如图5.26是系统的Header定义。图5.26Header定义由于Server采用的是Socket,而数据通信协议使用的ProtoBuf,所以需要实现消息的编码和解码,如图5.27是消息的解码,图5.28是消息的编码。图5.27消息的解码图5.28消息的编码为了不在请求的业务逻辑处理过程中每一次都直接操作数据库进行增删改查,则实现了一个缓存系统,缓存部分数据库信息,定时进行清理和同步,如图5.29所示。图5.29缓存使用注解为具体的业务处理器Handler设定Header,下图是系统中实现的Handler,对应各种需求,如图5.30所示。图5.30Handlers以返回用户周围三

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论