资源预览内容
第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
第9页 / 共35页
第10页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Android应用程序设计 综合实训一 手机乐游项目,李华忠 梁永生 刘涛 主编 2019年5月24日,人民邮电出版社,提纲,7.1 项目分析 7.2 项目设计 7.3 项目实施 7.4 项目成果,7.1 项目分析,在本书最后我们通过具体的项目真正的锻炼我们所学的Android知识。首先,我们要先确定我们的需求,只有了解需求后方能在正确的按照我们的预期进行开发。前期需求的确定是后面项目测试和验收的重要依据,因此我们需要认真严肃的对待我们的需求分析文档。那么下面我们来看一下我们手机乐游客户端项目的需求分析文档。,a)UR-F 0010-0011 自动定位选择 需求描述:本系统的手机客户端软件根据旅游者的位置信息,自动选择最近的景区,或者列出最近的景区供用户选择。 该功能要求旅游者的手机支持定位服务。 b)UR-F 0010-0012 手动选择 需求描述:旅游者通过在手机客户端软件中输入旅游景区相关关键字,或者按照行政区域进行导航,查询需要查看的景区。,7.1 项目分析,主要介绍我们需求文档中对项目的基本需求,如下。,(1)UR-F 0010 景区选择 需求描述:旅游者通过手机客户端软件,选择自己需要查看的景区,支持自动定位及手动选择两种方式。,7.1 项目分析,(2)UR-F 0020 景区信息浏览 需求描述:旅游者通过在手机客户端软件浏览景区内的景点、美食、住宿、购物等信息;还可以在浏览的过程中通过微博分享的方式来分享自己所感兴趣的信息;并可以评论,并查看相关点评信息;对感兴趣的信息可以进行收藏;并可以预订景区门票。除此之外,还包括一些实用信息,包括门票信息、重要电话、交通信息和注意事项等。,7.1 项目分析,具体描述如下: a)UR-F 0020-0021 景点信息 需求描述:显示导游信息和详细信息,包括文字、图片及音频资料。另外,还提供旅游者门票预定功能。 在该模块中,有危险求救功能,通过此功能可以让旅游者在游玩的过程中因迷路而使自己无法正常游玩或遭遇不可估计的情况下使用,获得旅游管理处的及时帮助,同时旅游管理者可以掌握景区实时动态;还有实时推送功能,通过这个功能,为旅游者提供当前位置周边的餐饮、住宿、土特产的信息推送服务;还可选择景点语音介绍等功能;还有可使旅游者在浏览中下订单等功能。,7.1 项目分析,b)UR-F 0020-0022 美食信息 需求描述:景区周边餐饮美食信息展示,并提供分类导航及根据关键字搜索功能。 c)UR-F 0020-0023 购物信息 需求描述:景区周边商家商品信息展示,并提供分类导航及根据关键字搜索功能。 d)UR-F 0020-0024 住宿信息 需求描述:景区周边酒店、农家乐信息展示,并提供分类导航及根据关键字搜索功能。 e)UR-F 0020-0025 实用信息 需求描述:景区实用信息展示,包括门票信息、重要电话、交通信息和注意事项等。,7.1 项目分析,(3)UR-F 0030 景区导航 需求描述:游者通过手机客户端软件查看整个景区的地理分布情况,方便自己的游玩路线规划和景区的相对位置,同时通过定位服务,为旅游者在景区内进行游览导航,为旅游者播放当前位置景点的图文、音频解说。 a)UR-F 0030-0031 静态导游图 需求描述:静态导游地图展示,展示主要景点及道路。 b)UR-F 0030-0032 实时景区导航 需求描述:通过定位服务,为旅游者在景区内进行游览导航,为旅游者播放当前位置景点的图文、音频解说等,7.1 项目分析,(4)UR-F 0040 旅游资源管理 需求描述:旅游管理部门、系统管理者以及商户可以对旅游资源信息进行维护。 a)UR-F 0040-0041 景区管理 需求描述:旅游管理部门、系统管理者可以通过WEB浏览器,维护旅游云平台中的景区信息,包括增加、删除、修改、查看景区信息。 b)UR-F 0040-0042 景点管理 需求描述:旅游管理部门、系统管理者可以通过Web浏览器,维护旅游云平台中某景区的景点信息,包括增加、删除、修改、查看景点信息。,7.1 项目分析,UR-F 0040 旅游资源管理 c)UR-F 0040-0043 商家信息管理 需求描述:旅游管理部门、系统管理者可以通过Web浏览器,维护旅游云平台中的商家信息,包括增加、删除、修改、查看商家信息。 d)UR-F 0040-0044 商家商品管理 需求描述:旅游管理部门、系统管理者、商家可以通过Web浏览器,维护旅游云平台中的商家商品信息,包括增加、删除、修改、查看商家商品信息。,7.1 项目分析,除以上对项目的基本需求外,还有如下一些其他需求,如下所示。 UR-O 0010 手机端应用要求: 需求描述:旅游者在使用该软件时,要求程序包大小小于5MB(不含更新包及网络下载内容);程序响应时间少于3s(典型主流智能手机在网络状态良好情况下)。 UR-O 0020 Web端应用要求: 需求描述:旅游者户发出订单后,Web客户端获得客户订单信息时间小于3s(典型主流智能手机在网络状态良好情况下);Web客户端确认订单后,确认信息到达客户手机端的时间小于3s(典型主流智能手机在网络状态良好情况下)。,7.1 项目分析,UR-O 0030 服务端应用要求: 需求描述:旅游管理部门要求服务器在使用过程中CPU占用率50%(典型主流服务器配置),并发用户支持个数。 UR-O 0040 数据安全性要求: 需求描述:在同一时间上最多能并发多少客户端的请求,用于传送数据,保证数据存储的安全。 UR-O 0050 性能指标: 需求描述:分析客户端的最大连接量和服务器端的最大并发量。,7.2 项目设计,以上内容对需求进行了归纳和整理,按照软件工程的思想,下面将根据需求分析对项目进行概要设计和详细设计。在这个阶段中所形成的文档和成果是为接下来的编码做准备,能够指导程序员进行程序开发。 在项目的概要设计阶段以流程图为主,详细描述整个系统的流程。项目的流程图如图7-1所示。,图7-1 顶层数据流图,图7-2 系统详细流程图,7.2 项目设计,1、主界面需求分析:在主界面中包括“当地游”、“景区地图”、“实用信息”、“订单管理”和“我的收藏”5个功能模块。 2、当地游需求分析:当地游主要介绍当地城市的景点、美食、住宿和购物信息。用户可以点击景点、美食、宾馆、购物进入不同的界面,界面的布局尽量统一;界面显示要求:当前城市、排序操作按钮(包括类型、星级、价位)、数据量显示不要过大(暂定10条); 每条信息显示应该将最重要的信息简要显示出来,包括名称、人均消费、地点、类型、星级(可考虑GPS定位距离)情况;用户可单击该条信息进入详情页。其流程如7-3所示。,7.2 项目设计,3、详情页分为三部分组成:产品介绍、详细信息、预定须知。产品介绍主要显示星级情况、价位、类型、联系电话、景区简介、游览线路、指南(开放时间、优惠信息、旅游指南、景区交通)。 4、景区详细地图显示,将该景区中的各个景点、饭店、停车场和公共厕所等信息显示在地图上,同时显示个人的位置,能够搜索个人附近的景点、饭店、停车场和公共厕所。点击地图上的标签可以显示该点的信息。,7.2 项目设计,流程如7-3所示:,图7-3 当地游需求流程图,7.2 项目设计,图7-4景区详细地图显示,7.2 项目设计,5、购物需求分析。,购物入口:景点、美食、住宿、购物详情界面提供支付入口,在支付流程中,必须确定已经有账号登录,以便记录用户购买信息。 购物订单信息界面:需提供产品名称、单价、数量、总价,提供购买者的手机号码。 信息确认界面:当用户提交订单后,需要用户核实自己填写的信息,除用户填写的信息外,还要选择支付方式,支付方式选用支付宝支付,可以跳转到支付宝网站支付或者支付宝客户端软件支付(用户需安装,提示用户下载安装)。,7.2 项目设计,图7-5 购物流程,7.3 项目实施,项目实施阶段则主要是借助前期的需求分析、概要设计、详细设计进行功能的实现。在编码阶段,项目组内部需要对各个功能进行划分,同时需要建立svn资源库(资源库建立本书不再详述)。每个成员需要分别完成自己的内容,同时需要对自己所负责的功能模块负责,并进行单元测试。,7.3 项目实施,在项目开发中,还需要美工的协助。美工在项目中的主要职责是根据用户体验对程序的界面进行设计,同时需要将程序中的每个图标进行切割。程序员则利用美工设计的图标与界面进行功能的实现。,7.3 项目实施,项目的包结果图如7-6图所示,其中各个包介绍如下: com.leyou.collect:“我的收藏”模块,处理代码。 com.leyou.comment:“评论”模块,处理代码 com.leyou.detail:“景点详情”页面处理代码 com.leyou.main:“主界面”,启动界面入口页面处理代码 com.leyou.map:“地图模式”模块处理代码 com.leyou.obj:程序公共变量、方法包; com.leyou.order:订单管理模块功能代码 com.leyou.pay:“在线支付”功能模块代码 com.leyou.userinfo:“用户信息”功能模块代码 com.leyou.util:程序工具包 com.leyou.weibo:微博分享模块功能代码,7.3 项目实施,图7-6 项目的包结果图,7.3 项目实施,在程序中我们对腾讯微博、新浪微博、手机支付、百度地图进行了对接,故在程序中需要引用“tencent_sdk_v1.2.jar”、“baidumapapi.jar”、“alipay_map.jar”。同时为了丰富程序的动画效果,我们定义了自己的界面切换的效果,位于res/anim下,如图7-7所示。,7.3 项目实施,图7-7 系统资源,7.3 项目实施,在前面的学习中,我们已经对项目中的功能模块进行了讲解或联系,下面我们着重来讲解分享模块的实现。其中功能代码位于com.leyou.weibo包下。需要注意的是我们如果要将我们的应用程序与新浪、腾讯等开发平台我们需要在其网站上进行注册和认证。具体的可以参考新浪微博、腾讯微博官方要求。,7.3 项目实施,程序代码如下:,/发布按钮点击事件 private void initPublishBtn() /微博功能实现 mPublishWeibo_btn = (Button)findViewById(R.id.publishWeibo_btn);/查找Button对象 mPublishWeibo_btn.setOnClickListener(new View.OnClickListener() /设置点击监听器 public void onClick(View v) /处理点击回调方法onClick if(!NetworkControl.isNetworkAvailable(getApplicationContext() /检测网络 Toast.makeText(getApplicationContext(), “网络异常,请开启网络后再进行分享。“, Toast.LENGTH_SHORT).show();/显示网络异常信息,return; mContent = mWeiboShareContent_et.getText().toString();/获得微博信息 if(mWeiboType = WEIBOTYPE_TENCENT) loadTencentWeibo();/加载腾讯微博 else if(mWeiboType = WEIBOTYPE_SINA) loadSinaWeibo();/加载新浪微博 ); 通过loadSinaWeibo()方法加载新浪微博发布界面。 private void loadSinaWeibo() Weibo weibo = Weibo.getInstance();/获得Weibo对象实例 SharedPreferences sha
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号