龙江旅游民宿短租APP的设计与应用①
2018-02-11,*,
, *,
(1.佳木斯大学信息电子技术学院,黑龙江 佳木斯 154007;2.利物浦大学,英国利物浦)
0 引 言
习总书记讲:绿水青山就是金山银山,冰天雪地也是金山银山[1]。为充分发挥黑龙江省森林、湿地、江河、湖泊、冰雪等整体生态化优势和潜力,同时伴随着旅游热,民宿短租以其价格低廉、方便等优势广受人们的青睐。因此,设计与开发一款针对龙江旅游民宿短租的APP很有必要。
1 相关技术
1.1 开发环境 Eclipse
Eclipse是基于Java的可扩展开发平台,并且它的源代码是开放的。Eclipse不仅是一个开发环境,也是一个开发平台。它可以提供一个开发插件的框架,这就使得创建、集成以及使用软件更加容易、也就更灵活[2]。
Eclipse的主要优点:①支持多种应用开发工具的构建;②可以进行独立的开发;③能够处理各种内容的插件;④开发者能够将自己独立开发的工具与其它标准的工具进行无缝集成;⑤可以在多种平台上运行。
1.2 MySQL数据库
MySQL数据库是当下一个最流行的、开放源码的、关系型数据库管理系统,它具备用户使用速度快、开发方管理运营成本低、源码开放、跨平台开发以及运行等优点[3]。MySQL数据库它能够提供多种不同类型的数据,并且可以把不一样类型的数据分别保存在一张张不同的表中,而不是将全部的数据都存放在同一个大的“仓库”当中,这样不仅增加了数据的灵活性,同时操作起来也就更加的简单、有效、方便。
在服务器网络环境中,MySQL数据库能够作为一个单独的应用程序;同时,它也能作为一个库,嵌在其他软件中[4]。MySQL数据库支持多线程操作,能够更好的利用CPU资源,还对SQL查询算法进行了优化,大大提高了数据查找的效率。
2 系统整体架构设计
2.1 体系结构设计
整体架构上主要包含两个部分,其中一个部分是Android客户端,另外一个部分是服务器端。
Android客户端的首要作用是为用户展现操作界面以及操作方式,可Android客户端又不单单包含保险层,同时它还包括了业务逻辑层的操作,对一些控件的操作,Android客户端具有一部分的逻辑判断功能。在这里,Android客户端的数据来源,主要是通过http请求,与服务器端数据交互,最后在UI界面上展示。
服务器端则主要采用分层设计规范,将数据库层与业务逻辑层进行剥离。业务逻辑层则是利用servlet响应来自于Android客户端的HTTP请求,通过业务逻辑处理之后,再经过JDBC连接并且访问数据库。经过查询并且封装为JSON数据以后,再返回给Android客户端。
2.2 服务器端数据库设计
1)游客表(用户ID,用户名,用户密码,用户电话,用户姓名,用户邮箱);
2)房屋信息表(房屋ID,房屋地址,是否入住,房屋价格,房屋室厅卫,房屋楼层,房屋总楼层,房屋朝向,房屋设施,房屋面积);
3)居民表(业主ID,业主用户名,业主密码,业主电话,房屋名称,房屋介绍,是否出租,房屋地址);
4)订单表(订单ID,订单姓名,订单电话,房屋名称,订单总价,订单状态,下单时间);
3 核心技术阐述
3.1 Intent+Bundle页面跳转技术
Intent的中文意思是“意图”,它是一种数据结构。在Android中,Intent描述将被执行的一次操作,它的作用是在程序运行中可以连接不同的Android组件。在Andrid系统中,应用程序利用Intent向系统发出的请求内容,选择可以处理该请求的组件[5]。
在龙江旅游民宿短租App当中,进行页面之间的跳转,所采用的都是Intent+Bundle这种技术方法。Intent的最大优点就是:使用Intent能绑定应用程序代码,这样可以大大降低不同代码之间的耦合性,减少代码量,提高程序的集成性。
实现页面跳转的部分代码:
Button fabufangyuanbutton=(Button)findViewById(R.id.fabufangyuanbutton);
fabufangyuanbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{Intent intent=new Intent(YijiActivity.this,FabufangyuanActivity.class);
startActivity(intent);
}});
Button fangyuanxinxibutton=(Button)findViewById(R.id.fangyuanxinxibutton);
fangyuanxinxibutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{Intent intent=new Intent(YijiActivity.this,FangyuanxinxiActivity.class);
startActivity(intent);
}});
3.2 JDBC连接服务器数据库
传统的数据库模式在泛用性和拓展性等方面有着诸多的不足,而且客户端的维护成本极高。因此,在这里利用JDBC进行数据库的访问。
JDBC是对ODBC API的一种面向对象的封装和重新设计,JAVA应用程序利用JDBC API连接数据库,实际是JDBC驱动程序管理器利用JDBC驱动程序连接数据库系统[6]。同时,JDBC允许任何使用Java语言编写的应用小程序或应用程序通过访问远程数据库,进行数据获取、数据更新、数据存储等。
JDBC与服务器数据库通信的实现过程:
① 单击项目右键新建Floder
② 创建名为lib的包
③ 接下来解压了所下载的mysql的jar包,拷贝其中的.jar文件
④ 在工程lib包下选择paste即粘贴,把mysql的jar包拷贝进来
⑤ 在mysql的jar包上右键选择build path-add to build path
⑥ 添加完毕之后,工程才与Mysql的jar包关联起来,现在可以使用相关类和方法了
3.3 百度地图服务
在Android手机应用中,地图服务是手机应用的一个重要组成部分。现如今,除了专业的地图服务软件之外,普通APP当中的地图服务功能大多是通过第三方插件服务来完成的。在众多的第三方地图服务当中,百度地图API被使用的比较多,一些预想中的功能在API中都能找到。
在系统当中,用的是百度地图Android SDK,它是一套基于Android 2.1及以上版本设备的应用接口[7]。能够调用地图SDK接口,轻松、方便地应用百度地图服务,进而,可以构建功能丰富的地图类应用程序。
在龙江旅游民宿短租App的详细信息界面当中,介绍完民宿的各种信息之后,最后附以地图,为用户提供地图服务。在这里,可以通过地图的显示来作为导引,同时具有放大和缩小的功能,更加方便用户查看房屋的位置。
实现过程:
① 申请百度地图API key
② 在AndroidManifest中添加key
③ 在AndroidManifest中添加权限
④ 加载百度地图Android SDK资源文件
4 系统功能的实现
4.1 开始界面
用户点击Android手机龙江旅游民宿短租App图标,呈现在用户眼前的就是开始界面。该界面的下方包括“登录”与“注册”两个按钮。已经注册的用户,可以直接点击“登录”按钮,进行登录;首次登陆、未进行注册的用户,就需点击“注册”按钮,完成个人注册即可登录。
4.2 注册界面
在注册界面上,用户需要按照规定,填写相关内容。首先填写的是用户名、密码、再次输入密码以及手机号。最后点击右下方的“注册”按钮即可。为了方便用户快速注册,同时也为了保护用户信息,并没有设计很多需要填写的信息。
4.3 登录界面
在登录界面上,用户只需要将已经注册的用户名和密码填写到相应位置,再单击右下方的“登录”按钮即可。
4.4 房源信息查询
在房源信息界面上方的搜索框内,游客可以输入想要旅游的城市,相对应的地区民宿就会出现在下方。如果用户有明确的租金、格局、出租方式的要求,则用户可以进行点击相应的条件来加以选择,那么经过筛选之后,界面上所出现的就是满足条件的房源。同时,在下方也进行民宿信息的推送功能,用户同样可以进行点击加以浏览。点击进入详细信息界面,在详细信息界面的上端,首先配有房屋内部的图片。接下来是每日租房的价格、房间的格局(室、厅、卫)、房屋的面积、房屋所在的楼层及总楼层、房屋的朝向、房屋的具体地址、房屋的设施以及联系电话。最后附以地图,作为导向。
4.5 房源预定
如果游客已经对所浏览的房源十分满意,即不需要再浏览其他房源时,则可以点击右下方预定按钮进行预约。在预定界面当中,需要游客填写开始租房日期与结束租房日期,填写完毕后,点击右下方的确定按钮即可。
4.6 房源发布
在发布房源界面中,需要居民填写一定的相关内容。其中包括房屋的详细地址、房屋格局(室、厅、卫)、房屋所在的楼层与总楼层、房屋的面积、每日租金、详细描述(包括交通、配置设施)、居民的联系电话以及房屋室内的图片等。
5 结 语
龙江旅游民宿短租App是一款基于Android专门针对龙江旅游特色的民宿短租预订系统,软件主要包括用户的登录功能、注册功能、出租房信息发布功能、房屋信息查找功能、房屋信息浏览功能以及房屋的预定功能等。该App更好地满足了游客对民宿短租的需求,提供一种廉价、便捷、随时随地便捷的服务。