已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Android的手机租房系统的设计与实现摘要近些年来移动通信及其手机移动设备的快速发展,使得各种智能手机得到用户 群体的青睐,人们用这些智能手机来保持联系沟通,了解资讯,收发邮件,娱乐消遣 等等。在这个过程中作为手机系统中的重要成员的Android系统由于开源性、简单性 等优势,得到了快速的发展。本文详细介绍了基于Android平台开发的一个手机租房 网,软件的主要功能是用户注册登录、房屋信息查找、房屋租赁、出租房屋信息发布 以及房屋信息查重、房屋信息收藏等功能。该软件极大地方便了广大Android用户进 行租房选择,具有一定的实用价值。关键词Java Android手机房屋租赁系统The Design and Implementation of The Rent of houseBased on AndroidAbstractWith the rapid development of the internet, mobile phone have became necessary in our daily life,in recent years,the development of mobile is very rapid,which make smartphone become more popular in users of phone,sometimes people communicate,get moore acquainted with information,receive e-mail and enjoy entertainment by their phone, as a important member in system of mobile, Android gets fast development,because of its advantage of open source technology and simplicity.Now various of mobile software have been invented in our life,which brings much convenience to us,such as shopping,electronic payment,entertainment,consult,learning and services of life,which all are based on Android.This pepper designs a software that based on Android.Users can log in this software,search for information of house,rent a house or release messages of house and so on.This software can provide convenience for a abundant of users of Android,when they need to rent a content house,which has important practical value.Key Word Java; An droid; Mobile ; The system of house rent集美大学本科生毕业设计(论文)目录第一章引言11.1论文研究背景与意义11. 2本课题研究内容与目标2第二章开发环境及相关技术的介绍32. 1 Android 简介32. 2 Android主要特性32. 3 Android系统工具42. 4 Java 简介52. 5 Java语言的特点52. 6Java 与 Android 的关系62.7 Http协议访问网络62. 8开发环境的搭建7第三章概要设计83. 1系统整体架构设计83. 2实体-关系模型8第四章需求分析104. 1软件功能的需求104.2用例描述114. 3运行环境14第五章详细设计155.1系统体系结构设计155. 1. 1客户端/服务器端间的通信155. 1.2服务器端的体系结构设计165.1.3客户端整体结构设计175. 2数据结构设计185. 2. 1物理表的描述185. 2.2数据字典18第六章系统功能的实现206. 1开始界面206. 2注册及登录界面216. 3主界面226. 3. 1房屋信息一级界面226. 3. 2房屋信息二级界面236. 3. 3详细分类选择界面246. 4房源信息详情界面266.4. 1房屋详细信息界面266.4. 2收藏夹功能276.4. 3租房界面286. 5房东发布房源信息296.5. 1发布房源功能296.5. 2发布房源二级界面296.5. 3发布房源信息填写界面30结论32致谢语33参考文献34集美大学本科生毕业设计(论文)第一章引言1.1论文研究背景与意义当今世界已进入互联网时代,我们大家每天的生活都是早晨起床,手机早已 翻看,有的人用手机浏览网页,有的人用手机查看朋友圈动态,有人用手机来查 看自己当天接收的邮件,有的人也会先浏览一下今天的头条资讯,或许有的人还 会用手机APP点一顿丰盛的早餐;等到洗漱完毕,开车出门,我们又会使用手 机地图来查看一下今日路况,来选择最快捷的上班路线;晚上请朋友吃饭,我们 也可以事先用手机查看一下饭店评价,价格消费,特色菜品,这样更能方便我们 得到一顿美味却又经济的晚餐;夜深人静时候,工作一天的我们躺在床上疲劳不 堪,可是我们还是习惯用手机来刷刷微博,看看朋友圈。的确今天的我们身边越 来越离不开手机,而随着智能手机以及手机软件的出现,手机的作用早已超出保 持通讯,手机已经各种手机应用软件也成了现代人了解世界,信息获取,在线交 易,交流沟通,网络娱乐的集成化载体,手机和它的应用软件使我们的工作效率 大大提高,也使我们的生活更加丰富,这也意味着未来手机软件的应用前景相当 广泛,在这个“手机时代”许多PC终端的购物网站,视频网站,信息收集网站, 生活软件,也纷纷倾力打造手机平台的站服务,如我们熟知的淘宝,唯品会,爱 奇艺视频,饿了么手机点餐软件,掌上公交系统,以及手机百度贴吧。可见未来 手的应用将会渗透到我们生活的每一个细节,发展手机软件也是每个PC终端服 务软件保持生命力的必要方法。目前手机主要的手机手机系统有Android, iOS, Windows Phone三种,其中 Android系统的使用最为广泛,在手机系统市场中占有很大的份量,所以Android 软件的使用群体也是相当可观的。对于现如今越来越多的流动人口,租房成为生 活中重要的一部分,中介费用高昂,自己寻找又难以找到合适的房屋,所以租房 软件的发展了成了提高房东和租客利益的必要选择,人们可以使用手机租房网快 速查找满足自己条件的房屋,而且手机终端软件更方便人们就地考察,因此基于 Android的租房网的开发以及研究就具有相当重要的意义。1.2本课题研究内容与目标本次课题设计的目标运用Android、Java、SQL Server等技术开发一个手机租 房系统软件,实现软件用户进行便捷的房屋租赁服务,方便房东发布房屋出租信 息,以及注册登录,房屋信息浏览,房屋信息收藏等功能,软件用户可以在完成 注册登录后进行房屋信息查询,然后可以按照常规租房和租期、区域、配套设施、 费用等让用户自己选择房屋进行租赁,同时房东可以通过注册成为手机租房网的 用户,在完成填写自己所拥有房屋的详细信息,包括房屋地址、所在区域、楼层、 面积、租金、图片等后将自己的房屋信息发布在手机租房网上,本软件也会相进 行相似发布信息判定。本软件的最终目的是方便房屋出租双方能够更快捷方便地 达成租赁交易。15第二章开发环境及相关技术的介绍2.1 Android 简介Android平台是一个主要应用于移动终端、可穿戴设备、智能家居等嵌入式 设备的基于Linux内核的操作系统。与Windows这样庞大的PC操作系统不同, Android主要应用于可移动设备,并且能够实现轻量化的人机交互。稳定、流畅、 占用内存小、虽不频繁但是有保障的升级Android最大的优点。原生的系统界面 比较简单,但是比较实用。但是随着越来越多的用户对UI效果和功能的追求, Android采用Java语言进行开发,而Java语言在开发程序中一直占有重要地位, 加上Android系统具有很高的开放性、不受运营商的束缚、丰富的硬件选择、等 等这些优点,越来越多的厂商在原生系统基础上新增了诸多定制。诸如小米科技 的MIUk魅族Flyme、华为的EMUIm02.2 Android主要特性Android作为一个开发手机应用软件的开发平台,在其具有高度开放性的基 础上,加入了很多实用的功能,不但带给用户非凡的体验,而且也给了开发者广 阔的开发前景。随着手机的发展以及安卓系统自身具有的特点,用户越来越青睐 于安卓系统。没有专利权问题的Anroid系统的软件以及产品成本比较低廉。, 在加上Android和google的结合,使其不但能够推广自己的产品,也可以方便广 大用户。Android软件都可以在OMS系统上无任何冲突地兼容,这不但不会影响 到Android软件的研发,反而会加大Android软件的需求量对于Android这种当 下流行的技术来讲,作为目前手机软件开发主要是使用的技术之一,它具有如下 一些特点。1.简易性:Android的开源性使得开发者在遇到一些程序问题时候,可以快速 并且容易地寻找解决方案,这无形中给开发者提供了更多便利,也可大大提高开 发程序的效率和质量,并且在开源的程序具有很强的实践性。那么对于开发公司 来说,这个特点可以让他们能够快速分析当前存在的问题,也可以快速更具自己 的需要进行选择,从而提高开发效率,也可以使自己的利润最大化。2开放性:作为一个开放的平台,Android平台是允许让所有移动终端厂商加 入到Android的大家庭中的,这样显著的开放性给Android技术带来了更多的开 发者,也有利于获得更多的消费者和厂商。在这个消费者至上的时代,开放的平 台会有更有利的竞争优势,对于消费者而言,Android会给他们带来丰富的软件 资源。3不受运行商的限制;在Android终端还没有大力推广之前,可以说手机应 用是基本受制于运营商的,互联网巨头谷歌推动的Android终端自身就带有很强 的网络特色,它可以让用户离互联网更近。现在,用户可以随心所欲地添加各种 自己所需的手机应用来满足自己的需求,用户手中的手机也可以摆脫运营商的大 量限制,而更加容易地接入网络。4. 丰富的硬件选择;由于Android技术本身具有相当高的开放性,多种多样 并且各具特色的产品出现在市面上,它们不但具有各自的特点,而且也用户很好 的数据同步和兼容性。消费者的选择选择不再局限于一种,可以根据自己的各种 喜好进行选择,在满足了消费者更高需求的同时也提高了一些硬件的竞争力,使 一些优秀的硬件厂商涌现出来,推动硬件行业的发展。5. 价格低廉;市面上有很多优秀的手机系统,例如IOS,它的软硬件整合程度 很高,具有很强的系统稳定性;并且苹果公司致力于用户体验的经营模式非常成 功,无论是外观还是便捷性,IOS总是努力提供最直观的用户体验,满足用户的 需求;并且IOS具有数量庞大的手机应用和第三方开发者,很多应用软件都是优 质的,但是搭载IOS系统的苹果手机价格高昂,Android这种开源软件明显更加 廉价,并且Android具有相当稳固的底层,它可以非常好地支持系统同时具有超 高的自由程度,对硬件环境的要求也有较高的伸缩性,互动强烈。2.3 Android系统工具1.位置定位目前的很大一部分搭载Android系统的手机都内置附带了 GPS定位系统,但 是PC终端就无法实现这个功能。如果今后开发人员能够对这个功能加以开发应 用,我们的定位功能将会更加精确,也将会有更加新颖的应用为人们提供便利。2. SQLite数据库Android系统同时也带有SQLite数据库,这是一种自带的嵌入型关系数据库, 开发人员可以通过己经进行封装的API来进行对数据库的增删改查,以及存储读 写,并且SQLite数据库同时也支持SQL语言,这为我们的数据库操作提供了便 利,并且它的运算速度也是非常快的。3. 系统控件对于Android系统的界面进行设计时,往往在Android系统中可以通过调用 各种控件来完制作相当精美的界面,这种操作往往既美观又简洁。而且开发人员 可以自己编写定制自己的控件。4. 传感器系统Android系统系统自身携带温度、重力传感器等等,也许大家对这些传感器 还是比较陌生,但是我们日常生活中所见的Android系统手机基本为触摸屏,而 触摸屏就是本身的传感器之一,如果开发者能够有效地开发应用Android系统的 各种传感器,它们就可以为人们提供更多便利。2.4 Java 简介java是一种非常优秀的程序设计语言,对于一个程序开发人员来说,使用JAVA 语言来进行开发活动也是一个很好的选择,同时JAVA也是一种简洁的,面向对 象的,可移植性强,健壮安全,性能优越的动态语言。和C+等其他语言相比, JAVA单纯地面向对象,在JAVA语言引用代替了 C+中的指针作用,可以进行回 收进而释放程序所占的空间,但同时不具有多重重载和运算重载。2.5 Java语言的特点简单性:Java代码的编写不需要在特定的环境中进行,编译者完全可以把代 码写在记事本、word文件中等等,然后进行编译,在执行编译后可以直接运行, 编译人员可以随时随地进行Java代码的编写工作。完全面向对象:Java有时候可能需要创建多个类,而且Java所执行的一切都 必须在类中。健壮性:具有这个特性使得JAVA语言可以检测到许多其他语言只有在运行 时刻才能检测出来的问题。可移植性:对于很多程序开发语言来说,可移植性远远比用户界面来的更加 重要,而且现在的JAVA版本己经比早起的更加稳定,更加具有可移植性。解释型:不同与其他语言的是JAVA语言可以在在任何的具有解释器的机器 上执行JAVA字节码,这使得开发过程变得更加快捷,更加具有探索性。高性能:尽管解释后的字节码已经能够满足很多的需求,但是JAVA语言中 字节码可以快速地翻译成运行这个应用程序的特定机器码,这显然提高了性能。多线程:如果你曾经使用多其他语言编写多线程的程序,那么就会惊叹JAVA 所具有的便捷的多线程处理能力,多线程可以带来更好的实时行为和交互响应。2.6 Java 与 Android 的关系基于Android平台开发软件是使用JAVA语言编写的,程序开发人员可以使 用Eclipose以及AndroidADT来配置Android的编译环境,在这个编译环境中,程 序开发人员对Android程序的编写以及调试都是用JAVA语言来实现的,但是JAVA 语言的SDK并不都是有用的,有相对一部分SDK对Android来说是无效的,但是 使用JAVA语言对于很多Android开发人员来说都会便利很多,也有利于吸引大批 的Java和C#程序开发人员来做基于Android系统的软件开发。2.7 Http协议访问网络Http协议是超文本传输协议的缩写,Http协议是一种用于服务器端和客户 端之间文件传输的沟通方式,用于服务器端和客户端,其主要作用是请求和应答。 一般而言服务器即通常所说的网站,而客户端就是用户自己。终端用户通过web 发起一个Http协议到服务器上的默认8080端口,那么这个客户端就叫做用户代 理,客户端发来的请求都会在指定的端口被Http服务器监听,当收到请求时, 服务器就会返回一个例如“Http/1.1200 0K”的状态行;当一个网页被打开时, 需要传送很多的数据,而TCP可以进行有效地组织数据,纠正错误以及控制传输。 当然Http协议必然都是首先由客户端发起请求,然后服务器端做出响应,这样 的响应模式,就限制了使用Http协议,使Http协议不能在没有客户端发起响应 请求的情况下,服务器端将消息传送给客户端。同时Http协议也是一个无状态 的协议,对于同一个客户端,这次发出的强求和上次的请求是没有联系的。而应 答服务器的功能则是存储一些图片、HTML文件等资源。应答服务器也叫做origin servero“HttpURLConnection”以及“HttpCIient”这两种HTTP发送求情的方式是 Android http上两种主要的访问方式;HttpCIient是Jakarta common下的,它 的作用是提高效的,多种功能的客户端编程工具包;“Http Connection”只是一 个抽象类,它并不是一个底层的连接,而是在底层连接上的一个请求,是在JDK 的J包中已经包含的有关Http协议的基本功能,Http URL Connectionw 继承自URLConnectiono从功能上HttpCIient要丰富很多,它拥有很多的工具, 封装了参数,内容体还拥有一些高级功能,如代理、cookie鉴权、连接池的处 理等等,但是它他比较复杂,所以对于开发人员的要求也相对较高,而 HttpURLConnection进行了大量的了包装,同时屏蔽了很多不必要的细节,适合 开发人员直接调用。在本次毕业实际中我所使用的是HttpURLConnection,2.8开发环境的搭建1. 下载 JDK 和 Eclipse Android FF发平台。2. 下载并安装MyEclipse服务端开发平台。3. 下载并安装 SQL Server 2005o第三章概要设计3. 1系统整体架构设计本系统在整体架构上划分为Android客户端、服务端两个部分。服务端采用分层设计规范,将业务逻辑层与数据层剥离。业务层主要通过 servlet响应来自客户端的http请求,经过业务处理后,通过JDBC连接并访问 数据库。通过查询并封装为Json数据后,返回给客户端间。客户端可以为用户展示比较精美舒适的操作界面以及操作方式,但是客户端 并不仅仅包括保险层,还包括了业务逻辑层的操作,对于一些控件的操作客户端 是有一定的逻辑判断的。由于客户端运算能力、电量等硬件设备限制,客户端只 处理与视图相关的简单业务逻辑。客户端的数据来源,主要是通过http请求, 通过与服务端数据交互,在UI界面上做展示。系统结构如图3-1示。珂 表现层户.客通过配置连接池连接业务逻辑层VC服务器端客户端服务端图3-1系统框架图3.2实体-关系模型基于Android的医院助手软件系统的实体-关系图如图3-2所示。collectjiousecollset JIGinf (10)hoOousejicinf (10)housejiovardardS)user_nasevarckar(45)user.idvarchar(45)housejxint(101house.typevarch&r(45)kouse.&dlressvarckar(45)house.apartssntvarchar(45)house.flocrvarckar(45)hou5e_all_flccrvarckax(45)house.areav&rchar(45)house j-ricsint (10)hc-use_titlevarckar(45)house.desvarckar(45)Louse.contacts7&rchar(45)house.contacts.telvarchar(45)house.aidress.detailvarchar(45)kouse.iz::texthouse.date7archar(45)house.des.infctexthouse_puhlish_idvarchar(45)useridint (10)kousejw int (10)userjase varthar 45) userjsr varthar(45) user.tel varthar *45) usexjieai text图3-2实体-关系图第四章需求分析4.1软件功能的需求随着经济的大力发展,城镇化加快,流动人口增多,租房需求加大,但是我 认为租房需要一个手机客服端,这样便于大家进行租房,再加上Android的开源 性和广大的用户群,所以决定尝试做一个Android版本的手机租房软件,因为通 常租房用户都是在各种房屋信息中寻找自己的满意的住所,所以首先对房屋信息 进行了一级分类,用户也可以根据自己具体的要求进行更加详细的搜索,这些功 能在本软件中都是配备的、除此之外,在本次设计中我还添加了房屋信息发布功 能,这样有些需要向外出租房屋的用户也可以使用此软件,更加丰富了该软件的 功能,当然软件还包含与用户注册、用户登录、收藏、关键字搜索等基本功能。用户使用手机租房软件的流程如下:(1)初次使用软件的用户要进行注册,注册成功后就成为本软件的用户,如 已经注册的用户可以直接登录软件,服务器可以更具请求里的ID信息来获取用 户信息,登录软件后可便可以使用软件的各种服务,如果需要修改用户信息,登 录后可执行该操作。(2)登录成功后,用户可以根据自己的各项要求,如厅室、面积、朝向、楼 层、装修、配套设施等来寻找心仪的房屋,所有的房屋信息都储存在SQL数据库 中。(3)挑选好房屋之后,可以选择进行租房或者联系房东,客户端会根据客户 的需求发送请求给服务端,服务器返回相应的指令。(4)一般信息包括用户信息,譬如账户、密码、手机。房屋信息包括厅室、 面积、朝向、楼层、装修、配套设施、限制等数据都储存在SQL数据库中,这样 可以保障数据的安全性。如上所述,基本上的所有功能的实现都是以客户端和服务器端之间良好的连 接为前提的,所有数据保存在SQL数据库中。Android系统也有自带的数据储存 功能,但是如果把数据全都保存在客户端,首先会造成软件过大,这样对硬件载 体和用户手机内存提出更高的要求。其次如果租房信息应该是实时更新的,如果 数据过旧,就无法和现实的房屋情况所匹配,会导致租房程序出现本质的错误, 而且对于如见后续的维护也造成过大的压力。储存在数据库的软件既能保障更好 的安全性,对软件的压力也会减轻,也更易于数据进行实时更新,虽然需要网络 作为外界条件,但是在这个互联网时代,随时随地都有很好的网络条件。系统Z5意图参见图4-lo图4T系统75意图4.2用例描述用例:用户登录Android租房网软件。主参与者:用户(包括房东和租客)。目标:通过Android租房网软件客户端登录软件。前提条件:1. 注册成为Android租房网软件客户端用户,并且登录软件客户端。2服务器开启,客户端请求正常响应。3. 用户帐号密码匹配。情景:1. 用户运行Android租房网软件客户端系统,已有帐号的用户点击登录,自 动跳入登录界面,没有帐号的用户可以先进行注册。2. 按要求规范填写帐号和密码,点击登录。3. 登录成功,自动跳转至租房网房屋信息界面。报错:1. 输入的帐号和密码不匹配,提示登录失败。2. 帐号或者密码输入为空,提示登录失败。3. 后台服务器未开启,无法响应客户端请求。用例:已注册登录用户管理个人信息。主参与者:用户目标:修改个人资料前提条件:1. 注册成为Android租房网软件客户端用户,并且登录软件客户端。2. 服务器开启,客户端请求正常响应。情景:1. 用户成功注册成为Android租房网软件用户。2. 成功登录Android租房网软件客户端。2. 点击主界面右上角个人信息按钮。3. 跳转到个人信息界面,显示头像、电话、手机号码等信息。4. 选择需要修改的个人信息选项进行修改。5. 选择是否确认修改。6. 修改成功。报错:1. 没有输入用户名或者手机号码。2. 后台服务器未开启,无法响应客户端请求。用例:软件用户进行房屋信息一级分类选择。主要参与者:用户目标:房屋信息一级分类选择。前提条件:1. 注册成为Android租房网软件客户端用户,并且登录软件客户端。2. 服务器开启,客户端请求正常响应。情景:1. 用户成功登录Android租房网软件客户端。2. 根据个人需求,在房屋一级分类界面进行选择,一级分类有租房、二手房、 新房、商铺、商业地产。3. 点击自己需求的类别,浏览该类别下的房屋信息。报错:1. 后台服务器未开启,无法响应客户端请求。用例:软件用户进行房屋租赁。主参与者:用户目标:房屋租赁前提条件:1. 注册成为Android租房网软件客户端用户,并且登录软件客户端。2. 服务器开启,客户端请求正常响应。情景:1. 用户成功登录Android租房网手软件客户端。2. 按照一级分类及个人要求选择房屋类别,一级分类有租房、二手房、新房、 商铺、商业地产。3. 用户根据个人需求点击房源信息,自动跳转到房源详细信息界面。4. 浏览房源详细信息并且满意后在房源详细信息页面点击租房按钮。5. 跳转到租房界面,选择租房起始日期,自动计算租金,确定租房。报错:1. 后台服务器未开启,无法响应客户端请求。2. 租房日期选择错误。用例:收藏房屋信息主参与者:用户目标:用户进行房屋信息收藏。前提条件:4. 注册成为Android租房网软件客户端用户,并且登录软件客户端。5. 用户打开房屋详细信息界面。3. 服务器开启,客户端请求正常响应。情景:1. 用户成功登录Android租房网手软件客户端。2. 点击房屋信息,跳转到房屋详细信息界面。3. 点击房屋详细信息页面上的收藏按钮,显示收藏成功。4. 点击我的收藏,可以看到已收藏的房屋信息。报错:1. 后台服务器未开启,无法响应客户端请求。用例:房屋信息发布主参与者:用户环境目标:出租方进行房屋信息发布。前提条件:1. 注册成为Android租房网软件客户端用户,并且登录软件客户端。2. 服务器开启,客户端请求正常响应。情景:1. 用户成功登录Android租房网手软件客户端。2. 点击发布房源按钮。3. 进入房屋信息发布一级界面,选择需要发布的类别,有二手房、新房、单 间出租、商铺、商业地产等选项。3. 点击分类后,进入房屋租赁二级界面填写地址、楼层、面积、配套设施、 租金、联系人等信息。4. 填写完成后确认,显示房屋信息发布成功。报错:1. 无网络,无法进行房屋信息发布。2. 服务器关闭。3. 相关信息未填写,提示该信息不能为空。4.3运行环境本系统客户端支持API21及以上的安卓手机,服务器端采用JavaEE+Tomcat 部署在具有公网IP的云服务器,数据库使用的是免费轻量的MySQLo第五章详细设计5.1系统体系结构设计5.1.1客户端/服务器端间的通信本系统的网络通信设计上,主要采用的是http请求。通过Android系统封装 好的HttpURLConnectio类,利用POST和GET两种请求方式,实现客户端与服务 端的数据交互。HTTP通信方式有4种最基本的通信方法,分别是POST、GET、 DELETE、PUTo本系统采用的是在Android开发中最常用的两种方式,分别是GET 和POST方式。两种方式相比之下POST方式比较使用安全便捷,本课题更多采用的就是 POST请求传递。HTTP请求流程图如图5-1所示。图5-1 HTTP请求过程流程图集美大学本科生毕业设计(论文)5.1.2服务器端的体系结构设计本课题设计服务器端包括业务逻辑层和数据库层,业务逻辑层与数据库层利 用JDBC技术实现连接。服务器端的数据处理方式客户端发送网络请求给服务器,服务器根据不同的网址进行对应的操作。这 些处理大致可以分为查询和插入两类,查询根据客户端发送的一些条件,这里使 用的是post的,服务器可以利用request.getParameter获得,然后进行数据库操 作再返回对应的结果。一般会使用JSON数据进行返回,只要服务器和客户端定 义了相同的类,客户端接收到JSON数据就可以直接转换成类,十分方便。插入 也是相同的原理,只是插入只返回一个int值判断是否插入成功和查询流程图如 图5-2所示。图5-2服务端处理插入和查询请求流程图5.1.3客户端整体结构设计Handler实现进程间、模块间通信Android多线程和java多线程编程差不多,你可以新建一个类继承Thread, 然后继承run()方法,然后在里面写耗时逻辑,但是使用继承耦合高,所以一般 直接实现Runnable接口,基本上我们看到的都是使用匿名类的方式。然后倘若 你在Android的线程里面做了一些操作,就要改变应用的UI,如果在线程中直 接写就会报错,因为Android的UI是线程不安全的,必须在主线程中进行,不 然程序就会出现异常。由于在应用开发中,许多场景会采用异步刷新UI的方式。通常我们会在UI 线程中创建一个新的Handler对象,通过重写HandlerMessage方法,当子线程获 取数据需要刷新UI时,并通过Handler返回一个Message对象,之后消息会被 添加到MessageQueue中等待被处理,这样对UI的处理就在主线程中。通过这 种方用户界面的设计在Android中编写界面的方式有很多种,例如使用DroidDraw,这是一种可 视化的界面编辑工具,这种工具可以拖拽控件来编写布局【坷。还有一些工具和 DriodDraw的用法相似,都是可以直接拖拽控件完成编写布局,并能在视图上修 改控件的属性。例如Eclipse和Android Studio中也有相应的可视化编辑器。虽然 可视化编辑工具比较方便快捷,但是可视化编辑工具没有很好的屏幕是适配性, 在编写较为复杂的界面时,可视化编辑工具无法适用,所以在本设计中的用户界 面设计都是采用XML代码来实现界面。要设计出精美的界面,首先要有布局, 本课题采用LinearLayout和RealtiveLayout来进行布局,在控件方面主要选取了 Textview, Button, EditText, checkbox, imageview, ListView 等等。5.2数据结构设计5. 2. 1物理表的描述用户表users (用户ID,用户名,用户密码,用户电话,用户头像);房屋信息表housejnfo (房屋编号,房屋类型,房屋地址,房屋室厅卫,房 屋楼层,总楼层,房屋面积,房屋租金,房屋标题,房屋面描述,联系人, 联系人电话,房屋详细地址房屋图片,房屋发布时间,房屋描述,发布人ID);房屋收藏表collect_house (房屋编号,用户名,用户ID);5. 2. 2数据字典表5-1用户表(users)名称代码数据类型长度主键外键用户IDuseridint10true用户名user namevarchar45falsefalse用户密码userpasswordvarchar45falsefalse用户电话telephonevarhcar45falsefalse用户头像user_headtext表5-2房屋信息表(housejnfo)名称代码数据类型长度主键外键房屋编号house_noint10true房屋类型house_typevarchar45房屋地址house_addressvarchar45房屋室厅卫house_apartme ntvarhcar45房屋楼层house_floorvarhcar45房屋总楼层house_all_floorvarhcar45房屋面积house_areavarchar45房屋价格house_priceintr1019集美大学本科生毕业设计(论文)房屋标题house_titlevarchar45房屋描述house_desvarhcar45房屋联系人house_c on tactsvarchar45联系人电话house_c on tacts_telvarchar45详细地址h o use_a d d ress_d eta ivarchar45房屋图片house_imgstext房屋发布时间house_dataint32发布人IDhouse_publish_idvarchar45true表53房屋收藏表(collect_house)名称代码数据类型长度主键外键收藏编号collect _noint10true房屋编号house_novarchar45falsetrue用户名user_ namevarchar45falsefalse用户IDuserjdvarchar45falsetrue35第六章系统功能的实现6.1开始界面用户点击Android手机租房网软件图标,呈现在用户面前的就是开始界面, 在该界面上,没有注册帐号的访客可以通过快速注册成为该软件的用户,通过填 写用户名、密码等信息后注册成为该软件用户;己注册的用户可以点击登录界面, 输入帐号密弓,在保证网络连接正常的情况下,登录软件,实现自己的租房目的; 如图6-1所示。a 5617:45 O毛人登录快速注册图6-1初始界面6. 2注册及登录界面在快速注册界面上,用户需要按照规定填写用户名,用户密码以及手机号码, 为了更加便捷的注册以及用户的信息保密,设计需要填写信息时,没有设计很多 需要填写的信息,如图6-2所示;在登录界面上,用户只需要填写用户名以及密 码即可登录,如图6-3所示。快遼注册wangtongIMBACVI入手*1号118:44 Q丄:口 49图6-2注册界面图6-3登录界面6. 3主界面6. 3. 1房屋信息一级界面完成注册及登录的用户进入租房的一级界面,在该界面下系统首先帮助用 户对房屋进行简单的一级分类,将所有的房屋信息大致分为租房、二手房、新房、 商铺、商业地产等,在这些类别下还有更加细致的分类,方便广大用户根据各自 不同的要求进行租房选择,如图6-4所示。13:09 0* :; 08 26三二手市场Q 租房个人房源宽大主卧押_付_交通便利优质短租单身公寓二手房降价房源刚需置业学区房免税房源改善三居改善房新房优质新盘二居新房三居新房商铺商铺出租商铺出售生意转让商业地产4店中壬RLd屮壬FIa房源信息发布房源图6-4房屋信息一级界面6. 3. 2房屋信息二级界面进入下列分类后,满足一级条件的所有房源信息条会自动显示,如点击一级 界面租房下的宽大主卧,就会显示描述中带有宽大主卧信息的的房源信息条,如 图6-5所示。響美嘉庚旁海上五月花精装两$1900 毎月第黄矗庚体育馆集美思庚体育馆海上 五月花8号棲6单元0611湖里新房,装條HI美湖里SM附近湖里区SM附近新山花园B 座5单元12022600元/月新房套房出租,装修01養思明運舫西路思明連舸西路阳光家园1 号櫻1单元15012800元/月租房思明优质房,交通便利 思明全思明思明东路125号 1300元/月租房17:28 Q *:; CZ3 13房源信息全厦门租金方式图6-5房屋信息条界面6. 3. 3详细分类选择界面在二级界面下,如果用户还有明确的地理位置、租金、出租方式要求,则用 户还可以通过填写地区,租金和租房方式使房屋进行更加详细的分类,如图6-6 所示。例如:客户想寻找“1000-1500”每月的房屋,系统会进行二次筛选,在 原有要求的基础上增加租金在“1000-1500”的新要求,那么通过筛选后在界面 上就会出现满足条件的房源,如图6-7所示。13:28 0 :2: 138 0* ::= 23& 房源信息e房源信息全思明18金方式全思明相金1明1全思明1不限湖里火车站500以下盘禾跑5001000元杏林松柏1000-15007C海沧湖滨雨路1500-20007tE正在保存屏離取图房源信息全思明相金方式I不PB加租合租图6-6详细分类选择界面17:29 Qe房源信息O :;= 13全厦门1000-1500元方式思明优庚尻,交通便利SIB月全忠B月思明东路125号1300S/月租房图6-7分类选择示例界面6. 3. 4搜索按键示意图如果用户需要进行关键字精确查找,点击主界面的右上角的“放大镜”标志 用户则进行精确查找,符合该要求的房源信息就会显示,如图6-8所示。113:09 0* :! c 26=二手市场Q 租房个人厉源霓大主卧押_付_交通便利优质短租单身公廉二手房降价房源刚需21业学区虏免税房源改層三居改善房新房优质新盘二居新康三居新房商铺商诵出相裔诵出省生意转让商业地产丘守坤川1Rr IU馬源信息发布厉源图6-8主页面搜索按键示意图6.4房源信息详情界面6. 4. 1房屋详细信息界面如果客户在浏览或者分类搜索过程中对某些房源信息感兴趣,可以点击该房 源信息条,系统就会跳转至房屋的详细信息界面。在该界面上有房屋厅室、面积 朝向、楼层装修、详细地址、配套设施、房屋描述等具体信息,同时还带有出租 房电话等信号,如图6-9所示。湖里新房,装修精美2600忌月20165-2517:178厅室2室2厅卫面积88装修中等装修朝向南向楼层12/15限制不限地址湖里SM附近湖里区SM附近新山花园B 座5单元120217:30 C3详情扫;口13厅室2室2厅1卫面积88装修中等装修朝向南向楼层12/15 层限制不限地址湖里SM附近湖里区SM附近新山花园B 座5单元1202宽带电视沙发洗衣机床空调衣柜热水器房屋描述min话租房min话租房|湖里区SM旁,交通便利,二居新房,学区 房图6-9房屋详细信息界面6. 4. 2收藏夹功能如果顾客对此房源感兴趣,但是还希望通过浏览更多的房屋信息进行比对后 再做决定,可以点击右上角“”,将其添加入收藏夹,添加到收藏夹后该房屋 信息界面的收藏按钮会显示红色,如图6-10所示。如果用户浏览其他房屋信息 进行比对结束后,对己收藏的房屋满意,还是决定租赁己收藏房屋时,便可以打 开收藏夹查看,如图6-11所示集美JS庚旁海上五月花fl!装两室1900 毎月20164)5-2517:2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电池部件制备工岗前创新思维考核试卷含答案
- 2026江西赣州市人力资源有限公司招聘劳务外派员工(民宿酒店店长)延长笔试历年参考题库附带答案详解
- 焦炉煤气冷凝净化工绩效目标考核试卷含答案
- 机械产品试验员安全宣教知识考核试卷含答案
- 2026江西省出版传媒集团有限公司招聘93人笔试历年参考题库附带答案详解
- 2026江西新余仙女湖区旅发集团招聘综合业务岗拟聘用人员笔试历年参考题库附带答案详解
- 2026江西吉安市永新县城乡投资控股集团有限公司及下属子公司面向社会招聘5名工作人员入闱最低分数线及笔试历年参考题库附带答案详解
- 2026江苏连云港市灌云万邦人力资源有限公司招聘10人笔试历年参考题库附带答案详解
- 2026江苏徐州市交通控股集团春季招聘13人笔试历年参考题库附带答案详解
- 2026格力电器秋季校园招聘笔试历年参考题库附带答案详解
- 江苏省无锡市2025-2026学年五年级下学期6月数学期末调研试题(试卷+答案)
- 湖南省2026年全省政工专业知识考试(政治+中国近现代史)试题解析及核心考点
- 广东省中山市2024-2025学年高一地理上学期期末考试试试题含解析
- 天津市南开区2023-2024学年四年级下学期6月期末数学试题
- 2024年四川省凉山彝族自治州中考道德与法治真题(原卷版+解析版)
- 质量信得过班组汇报材料课件
- 学院监察工作试点的实施方案
- 中学数学教学设计研究的开题报告
- APD自动化腹膜透析机的使用
- 220kv输电线路工程建设监理实施细则
- 体育概论全部课件
评论
0/150
提交评论