计算机专业毕业设计论文基于Android平台的沙坪坝新世界商场的APP开发_第1页
计算机专业毕业设计论文基于Android平台的沙坪坝新世界商场的APP开发_第2页
计算机专业毕业设计论文基于Android平台的沙坪坝新世界商场的APP开发_第3页
计算机专业毕业设计论文基于Android平台的沙坪坝新世界商场的APP开发_第4页
计算机专业毕业设计论文基于Android平台的沙坪坝新世界商场的APP开发_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、全日制本科生毕业论文目:基于Android平台的沙坪坝新世界商场的APP开发学 院:计算机与信息科学学院专业年级:信息管理与信息系统20XX级20XX年5月6日基于Android平台的沙坪坝新世界商场的APP开发摘 要:本文对沙坪坝新世界商场室内APP的开发流程以及技术经验进行了总结,重点 介绍了 Android的开发流程、当前流行的开发技术以及一些全新的开发类库。开发出的APP 的UI能够兼容不同尺寸的手机,但只能运行于带有蓝牙4. 0及以上的手机。关键词:Android: Java:室内左位;shareSDK:混合APPAbstract: In this paper, developmen

2、t process and technical experience of indoor positioning APP produced by Ren Hua Media Technology Co are summarized 1( highlights the Android development process, the current popular development technologies as well as some new development library After testing. the development of APP's UI is co

3、mpatible with mobile phones of different sizes, but can only run on phones with Bluetooth 4.0 and aboveKey words: Android; Java; Indoor Positioning; shareSDK; MIX APP随着互联网+的提出,以及对人工智能化的追求,很多公司改变了传统的营销 模式,将产品与互联网相结合,使产品更加人性化、智能化,极大的提高了用户 体验皿。APP、微信是最常用的结合手段。腾讯、白度、阿里巴巴纷纷将自己产品 的接口开放岀来供开发者使用来丰富APP的功能,其中

4、用得最多的就是微信SDKo近儿年,随着html5技术日渐成熟和完善,webAPP与混合APP流行起来,巧 妙地运用html技术,可以很容易的实现跨平台的开发,并且不用顾虑底层适配的 繁琐以及语言跨平台开发遇到的兼容性问题。移动APP的版本迭代周期非常短, 平均不到一个月,APP的用户必须不断的更新,或者不断的重新下载,消耗大量的 时间和流量。而Web App不用重复下载和更新,只要html5页面的地址不变,就 可以动态升级。本APP则是采用了源生+web的混合。同时,智石科技公司研发了可同时用于iPhone和Android手机的Bright Beacon,运用蓝牙通讯,实现室内定位、物品绑定以

5、及蓝牙支付等功能。本APP则是使用Beacon实现定点推送h5页面。1需求分析一个用于商场的室内购物APP,是利用蓝牙通讯实现商品与手机的“互动”, 让客户购物更加方便快捷。打开APP后自动开启蓝牙,通过识别范围内 brightbeacon的唯一设备码,推送相应商家的h5页面。山于Android手机型号、 屏幕尺寸众多,所以,在设计APP时必须满足以下儿个需求:第一界面必须能够自适应各种屏幕。笫二要让客户能够找到这个商场。第三要让客户能够在接近商品时接到详情页的推送。第四要让客户能够收藏喜欢的商品或商家。功能概览如图l-lo图1T首页功能概览2系统分析2.1推送原理bright beacon会

6、将信息通过蓝牙发送出去,有效距离小于等于10米,其中 包括唯一的设备ID号、商品或者公司的信息等,手机通过蓝牙接收该ID并转发 给服务器,服务器将ID对应的h5页面网址传给手机,APP用一个webview加载该 页面。推送流程如图2-1。图2-1推送流程2.2 APP功能分析APP的第一个Activity必须包含所有主要功能能的入口,包括:导航入口(调 用百度地图)、感应Beacon的入口、订阅按钮以及详情页的入口,为了方便使用, 设值、收藏、退出等辅助功能入口全部放在仿QQ的侧滑菜单中。首页设汁图如图 2-2 o3开发所用技术3. 1 JavaSun公司开发,用于服务器的发开以及Androi

7、d 发。第3页(共18页)o2-2首页设计图3. 2百度地图API白度公司将白度地图的各类接口免费开放给开发者,其中包括用于网页开发 的JS接口、安卓版的接口、I0S版接口以及LBS (Location Based Service)等 多种开发工具和服务。运用这些接口可以实现地图的展示、基本的定位功能、云 端存储功能以及简单的室外导航和旅行线路的规划,并且这些接口可以在个人电 脑、手机、乃至服务器上使用,并且兼容各种操作系统。这里用到的是Android导航SDKo3.3 ShareSDKShareSDK是一个功能组件,兼容I0S、安卓以及windows phone,主要为移动 应用提供社会化功

8、能。在开发文档的帮助下开发人员只需要儿分钟就可以在APP 中集成社会化功能。运用ShareSDK可以实现第三方平台的登录、将内容分享到第 三方平台以及获取第三方平台的用户资料等功能,同时在第三方平台收集的信息 第4页(共18页)将被统计和分析,并生成折线图反馈给开发人员,从而了解用户的需求、爱好等, 为APP的运营模式和推广方式提供了非常重要的参考依据,并且为APP提供了可 观的社会化流量。3. 4 SI idingmenuSlidingmenu是基于安卓平台的一个开源且免费的项LI,用于方便快捷的开发 现在流行的左右滑动菜单,类似于较新版本的手机QQ。4开发以及测试坏境4. 1 Ec I i

9、 pse首先安装JDK,安装路径:X:java,在计算机中新建环境变量,变量名为 JAVA_HOME,变量值为X:Javajdkl.*.*,修改Path,将JDK的bin目录添加到 PATH目录下叫%JAVA_HOME%bin;%JAVA_HOME%jrebin;将java环境配置完毕后才可以正常的运行Eclipse,并且JDK和Eclipse必 须都是32位或者64位,否则将报错。4.2 HBuiIder安装HBuiIder前端开发工具,用于H5页面的前端开发。4.3 WampServerWampServer是用于PHP开发的方便快捷的Apache-Mysql集成环境,Android 的后台

10、开发和h5的后台开发也可以采用PHPo4.4 Photoshop从Adobe官网下载PS的安装包解压并断网安装,并用注册机去掉试用期。4.5夜神模拟器/海马玩模拟器主要推荐夜神模拟器和海马玩模拟器,两款模拟器都可以去各自官网上下载。夜神模拟器官网:http:/wwwyeshen. com/海马玩模拟器官网:http:/wwwdroiddx. cn/5项目实施5.1绘制设计图用Photoshop画好APP每个Activity的设计图,并用切片工具切好要用到的 icon和图片,测量容器、组件的width (宽)、height (高)、padding (内边距) 以及margin (外边距)等的像素

11、值,并在Android ±换算成dp单位,在h3前端 页面上换算成rem单位。5.2界面自适应处理Opx设值法配合layout_weight是U前最为推荐的Android多屏幕自适应解决 方案。Layout-weight属性指的是权重,决定了该布局或者组件在父级容器中显示的 比例。权重属性一般用在Linearlayout现行布局中,并且权重和本身大小成反 比,也就是说,权重越小,对应布局或组件的优先级和大小越大。在横向的线性 布局中,权重决定了 layout_width宽度的大小,在纵向的线性布局中,权重决定 T layout_height高度的大小。传统的安卓自适应方法是将组件宽高

12、都设置成fill_parent再山权重决定其 显示的大小和比例。由于权重和本身大小成反比,在一个容器中如果组件有很多 且大于三个的时候,即使将子组件的显示比例完全由权重去控制,该组件的大小 也是很难确定的。在传统的方法上做出改进,将width二Opx或height二Opx与权重属性配合使用, 是现在比较流行的适配安卓屏幕的办法。该方法能使通过权重控制大小的组件成 正比例显示,这也是解决安卓开发中很难解决的碎片化问题的有效方法。首先建立一个style_layout. xml,之后每个layout布局都通过权重与Opx设 值法得到自适应屏幕宽度的U的。<?xml version二"

13、1.0" encoding二"utf-8?><resources><!-全屏幕拉伸一<style name=/zlayout_ful 1/z><item name二"android: layout_widthz/>f ill_parent</item><item name二android: layout_heightz,>f ill_parent</item></style><!固定自身大小-<style name=z/layout_wrap/z>&l

14、t;item name=/android: layout_widthwrap_content/item><item name=/android: 1 ayout_height>wrap_content</item> </style><!横向分布一><style name=/z 1 ayout_horizonta 1,z parent二layout_full><item name=/android: layout_widthz/>Opx</item></style><!纵向分布->&

15、lt;style name=/zlayout_vertical/z parent=,zlayout_ful 1 z/><item name=/android: 1 ayout_height>0px</item></style></resources>然后每个layout根据需求引用style_layout. xml下的资源,每个layout下 的控件通过设置自身的1 ayout_wei ght控制自身的宽高。使用流程如图5-1。图 5-1 I ayout_we i ght 使用流程5. 3 si idingmenu 的使用slidingme

16、nu使用流程如图5-2。首先你需要在下载两个开源库两个zip格式的文件。(1) Slidingmenu 下载地址为:https:/github. com,/jfeinsteinlO/slidin gmenuT 下载其中中的 SlidingMenu-master. zip(2 ) Act ionbarsherlock 开源项 U 下载地址:ht tp : /act ionbarsherlock, com 中的 JakeWharton-ActionBarSherlock-4. 4. 0-0-g4a79d53. zip(3)然后分别解压这两个文件的得到:SlidingMenu-master zipJ

17、akeTiarton-ActionBarSherlock-4 4. 0一0-g4&79d53 zip将这两个文件夹下面的工程导入eclipse: SlidingMenu-master下面的 library 工程,JakeWharton-ActionBarSherlock-4. 4. 0-0-g4a79d53 文件夹 下面的act ionbar sher lock o然后将library库添加到你的项目中去,步骤:右键你的工程propertiesAndroidAdd 选 library 库然后 ok"。图5-2 s I i d i ngmenu使用流程Slidingmenu的引

18、用方法如下:新建xml布局,slidingmenu. xml代码如下:<com jeremyfeinstein. slidingmenu. lib SlidingMenuandroid:id二"+id/sliding"android: layout_width=/f i 1 l_parentz/android: layout_height=/zfi 1 l_parentz/></com jeremyfeinstein. slidingmenu. lib SlidingMenu> 在对应的Activity中进行初始化,并设值样式。5.4百度地图sdk的

19、使用疔度地图使用流程如图5-3o图5-3 baiduMap使用流程首先申请密钥,地址为:http:/lbsyun. baidu. com/apiconsole/key每个Key仅且唯一对于1个应用验证有效,即对该Key配置环节中使用的包 名匹配的应用有效他。因此,多个应用【包括多个包名】需申请多个Key,或者对 1个Key进行多次配置。在新建的 android 工程里的 assets L1 录添加 BaiduXaviSDK_Resource_X_X. p ng, BaiduNaviSDK _X_X. png 和 chanel 文件(demo 工程里面 assets 訂录有),在 libs LI

20、录添力1 BaiduNaviSDK_X_X. jar, httpmime-4. 1. 2. jar 在 libs/armeabi U 录添力口 so 库,1 ibappBaiduNaviApp 1 ib so、 1 ibapp_BaiduVIlib so、 libcur 1 so、 1ibgnustl_shared so、 libbds so libbd_etts so 、 1ibBDSpeechDecoder_ VI. S0o在AndroidMan辻est. xml文件中添加所需的权限。增加白度LBS密钥,将下面的key值修改为在LBS开放平台申请的AK。<meta一data andr

21、oid:name二com. baidu. lbsapiAPI_KEYandroid:value=/,CVCyYeTeOnllTDeONgGHWThva/,/>定位用的service:<serviceandroid:name二com. baidulocation. f"an dr o i d : enab 1 e d=,z t r u e,zandroid:process二":remote" />在使用SDK前,应该先进行白度服务授权和引擎初始化。private void initNavi() BaiduNaviManager getlnstanc

22、e() init(this,mSDCardPath, APP_FOLDER_NAME,new NavilnitListener() ©Overridepublic void onAuthResult (int status, String msg) if (0 = status) authinfo = "key 校验成功!"; else authinfo = "key 校验失败,"+ msg;)BNDemoMainActivity this runOnUiThread(new Runnable()©Override public vo

23、id run() Toast. makeText(BNDemoHdinActivity. this, authinfo, Toast. LENGTH_LONG). show(););public void initSuccess() Toast. makeText (BNDemoMainActivity. this,"白度导航引擎初始化 成功",Toast. LENGTH_SHORT). show();public void initStart () Toast. makeText (BNDemoMainActivity. this,"白度导航引擎初始化 开始&q

24、uot;,Toast. LENGTH_SHORT). show();)public void initFailedO Toast. makeText (BNDemoMainActivity. this,"白度导航引擎初始化 失败",Toast. LENGTH_SHORT). show();, null /mTTSCalIback*/);5. 5 sharesdk 的使用ShareSDK使用流程如图5-4。第一步:添加权限<uses-permission android:name二"android, permission. GET_TASKS" /&

25、gt;图5-4 shareSDK使用流程uses-permissionandroid:name二"android permission. GET_ACCOUNTS"/>第二步,添加Activity信息activityandroid:name="com mob tools MobUIShell"><intent-filter><data android:scheme二"tencent100371282 /> </intent-filter><!-调用新浪原生SDK,需要注册的回调activit

26、y ->intent-filter<actionandroid:name二"com. sina weibo. sdk action. ACTION_SDK_REQ_ACTIVITY" /><categoryandroid:name二"android intent category. DEFAULT/></intent-fiIter></activity>第三步:如果APP需要集成微信、易信、新浪微博、支付宝的分享功能, 需要添加activity进行回调使用血:<!一微信分享回调一<activitya

27、ndroid:name=". wxapi WXEntryActivity"android:theme=,android:style/Theme Translucent NoTitleBar"android:configChanges=/keyboardHidden orientation screenSize" android:exported二"true"android:screenOrientation=,/portrait,z /><!支付宝分享回调-><activityandroid:name=&quo

28、t; apshare ShareEntryActivity/zandroid:theme=,/android:style/Theme Translucent NoTitleBar"android:configChanges=,keyboardHidden orientation screenSize" android:exported二 true"/第四步:添加分享代码。5. 6 Andro i d数据库分析本APP不需要太多的数据存储,所以采用mysql数据库来存储数据。要用到 的数据包括becon ±绑定的数据,以及用户的收藏信息。如图5-5是beacon的E-R图。beacon图 5-5 Beacon 表 E-R 图如图5-6是收藏的E-R图。数据关系如图5-7。beaconaserviceidcompany_nameC<server_urlco

温馨提示

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

评论

0/150

提交评论