1、全日制本科生毕业论文题 目: 基于 Android平台的沙坪坝新世界商场的APP开发学 院: 计算机与信息科学学院 专业年级: 信息管理与信息系统 学生姓名: 学号: XXXXXXXXXXXX指导教师: 职称: 年 月 日第 1 页 (共 18 页)基于 Android 平台的沙坪坝新世界商场的 APP 开发摘 要:本文对沙坪坝新世界商场室内 APP 的开发流程以及技术经验进行了总结,重点介绍了 Android 的开发流程、当前流行的开发技术以及一些全新的开发类库。开发出的 APP的 UI 能够兼容不同尺寸的手机,但只能运行于带有蓝牙 4.0 及以上的手机。关键词:Android;Java;室
2、内定位;shareSDK;混合 APPAbstract:In this paper, development process and technical experience of indoor positioning APP produced by Ren Hua Media Technology Co are summarized. It highlights the Android development process, the current popular development technologies as well as some new development librar
3、y. After testing, the development of APPs UI is compatible with mobile phones of different sizes, but can only run on phones with Bluetooth 4.0 and above.Key words:Android;Java; Indoor Positioning;shareSDK;MIX APP随着互联网+的提出,以及对人工智能化的追求,很多公司改变了传统的营销模式,将产品与互联网相结合,使产品更加人性化、智能化,极大的提高了用户体验 1。APP、微信是最常用的结合
4、手段。腾讯、百度、阿里巴巴纷纷将自己产品的接口开放出来供开发者使用来丰富 APP 的功能,其中用得最多的就是微信SDK。近几年,随着 html5 技术日渐成熟和完善,webAPP 与混合 APP 流行起来,巧妙地运用 html 技术,可以很容易的实现跨平台的开发,并且不用顾虑底层适配的繁琐以及语言跨平台开发遇到的兼容性问题。 移动 APP 的版本迭代周期非常短,平均不到一个月,APP 的用户必须不断的更新,或者不断的重新下载,消耗大量的时间和流量。而 Web App 不用重复下载和更新,只要 html5 页面的地址不变,就可以动态升级 2。本 APP 则是采用了源生+web 的混合。同时,智石
5、科技公司研发了可同时用于 iPhone 和 Android 手机的 Bright 第 2 页 (共 18 页)Beacon,运用蓝牙通讯,实现室内定位、物品绑定以及蓝牙支付等功能。本 APP则是使用 Beacon 实现定点推送 h5 页面 3。1 需求分析一个用于商场的室内购物 APP,是利用蓝牙通讯实现商品与手机的“互动” ,让客户购物更加方便快捷。打开 APP 后自动开启蓝牙,通过识别范围内brightbeacon 的唯一设备码,推送相应商家的 h5 页面。由于 Android 手机型号、屏幕尺寸众多,所以,在设计 APP 时必须满足以下几个需求:第一 界面必须能够自适应各种屏幕。第二 要
6、让客户能够找到这个商场。第三 要让客户能够在接近商品时接到详情页的推送。第四 要让客户能够收藏喜欢的商品或商家。功能概览如图 1-1。图 1-1 首页功能概览2 系统分析第 3 页 (共 18 页)2.1 推送原理bright beacon 会将信息通过蓝牙发送出去,有效距离小于等于 10 米,其中包括唯一的设备 ID 号、商品或者公司的信息等,手机通过蓝牙接收该 ID 并转发给服务器,服务器将 ID 对应的 h5 页面网址传给手机,APP 用一个 webview 加载该页面。推送流程如图 2-1。图 2-1 推送流程2.2 APP 功能分析APP 的第一个 Activity 必须包含所有主要
7、功能能的入口,包括:导航入口(调用百度地图) 、感应 Beacon 的入口、订阅按钮以及详情页的入口,为了方便使用,设值、收藏、退出等辅助功能入口全部放在仿 QQ 的侧滑菜单中。首页设计图如图 2-2。3 开发所用技术3.1 Java第 4 页 (共 18 页)Sun 公司开发,用于服务器的发开以及 Android 开发。2-2 首页设计图3.2 百度地图 API百度公司将百度地图的各类接口免费开放给开发者,其中包括用于网页开发的 JS 接口、安卓版的接口、IOS 版接口以及 LBS(Location Based Service)等多种开发工具和服务 4。运用这些接口可以实现地图的展示、基本的
8、定位功能、云端存储功能以及简单的室外导航和旅行线路的规划,并且这些接口可以在个人电脑、手机、乃至服务器上使用,并且兼容各种操作系统。这里用到的是 Android 导航 SDK。3.3 ShareSDKShareSDK 是一个功能组件,兼容 IOS、安卓以及 windows phone,主要为移动应用提供社会化功能。在开发文档的帮助下开发人员只需要几分钟就可以在APP 中集成社会化功能。运用 ShareSDK 可以实现第三方平台的登录、将内容分享第 5 页 (共 18 页)到第三方平台以及获取第三方平台的用户资料等功能,同时在第三方平台收集的信息将被统计和分析,并生成折线图反馈给开发人员,从而了
9、解用户的需求、爱好等,为 APP 的运营模式和推广方式提供了非常重要的参考依据,并且为 APP 提供了可观的社会化流量 5。3.4 SlidingmenuSlidingmenu 是基于安卓平台的一个开源且免费的项目,用于方便快捷的开发现在流行的左右滑动菜单,类似于较新版本的手机 QQ6。4 开发以及测试环境4.1 Eclipse首先安装 JDK,安装路径:X:java,在计算机中新建环境变量,变量名为JAVA_HOME,变量值为 X:Javajdk1.*.*,修改 Path,将 JDK 的 bin 目录添加到PATH 目录下 7。%JAVA_HOME%bin;%JAVA_HOME%jrebin
10、;将 java 环境配置完毕后才可以正常的运行 Eclipse,并且 JDK 和 Eclipse 必须都是 32 位或者 64 位,否则将报错。4.2 HBuilder安装 HBuilder 前端开发工具,用于 H5 页面的前端开发。4.3 WampServerWampServer 是用于 PHP 开发的方便快捷的 Apache-Mysql 集成环境,Android的后台开发和 h5 的后台开发也可以采用 PHP。4.4 Photoshop从 Adobe 官网下载 PS 的安装包解压并断网安装,并用注册机去掉试用期。4.5 夜神模拟器/海马玩模拟器第 6 页 (共 18 页)主要推荐夜神模拟器
11、和海马玩模拟器,两款模拟器都可以去各自官网上下载。夜神模拟器官网:http:/ 项目实施5.1 绘制设计图用 Photoshop 画好 APP 每个 Activity 的设计图,并用切片工具切好要用到的 icon 和图片,测量容器、组件的 width(宽)、height(高)、padding(内边距)以及 margin(外边距)等的像素值,并在 Android 上换算成 dp 单位,在h5 前端页面上换算成 rem 单位。5.2 界面自适应处理0px 设值法配合 layout_weight 是目前最为推荐的 Android 多屏幕自适应解决方案。Layout_weight 属性指的是权重,决定了该布局或者组件在父级容器中显示的比例。权重属性一般用在 Linearlayout 现行布局当中,并且权重和本身大小成反比,也就是说,权重越小,对应布局或组件的优先级和大小越大。在横向的线性布局中,权重决定了 layout_width 宽度的大小,在纵向的线性布局中,权重决定了 layout_height 高度的大小 8。传统的安卓自适应方法是将组件宽高都设置成 fill_parent 再由权重决定其显示的大小和比例。由于权重和本身大小成反比,在一个容器中如