基于Android手机美食外卖系统的设计与实现(3)

2019-03-16 14:08

额,已经确定了Android系统的市场占有比。据业内人士分析,随着Android系统相应软件的不断开发应用,选择Android系统手机或者无线终端设备的人会越来越多,其市场霸主的地位在更新更好的系统出现之前是不可动摇地。

中国是世界上最大的手机销费国。由于3G业务的不断推广,对整个手机业起大了巨大的促进作用,当前国内手机市场正在快速向智能手机推进,而Android系统无疑是最大的市场需求。各大中小型手机制造商近两年都在引入Android工程师,开发基于Android系统的智能手机。

未来基于Android系统的应用软件将进入飞速发展的全新阶段。Android系统的应用绝不仅局限于手机产业,几年来其迅速扩张到相关领域,例如平板电脑、车载系统、电视STB、智能电器、智能会议系统等。目前,各IT厂商都在努力的研发前沿应用软件,以期在Android系统发展这一群雄逐鹿的关键阶段,占领更多的市场份额。 Android应用软件的开发技术不是孤立的,它不仅要掌握Android三层框架同时,也必须融合Java层框架内的通信机制、 Java与C/C++整合开发的技术、核心服务框架的关键机制、HAL驱动框架及其API、云服务(Cloud Service)框架及其API等技术。

移动应用分析公司Flurry最新报告指出,仅从今年1月到10月期间,国内的Android应用下载总量就较去年全年增长了870%。但同时,仅有20%左右的应用来自于Google官方的Android Market。 Android应用市场现状:

基于Android平台自身的开放特性,更多的参与者开始脱离Google,建立起一个个小型的生态系统。在国内,以运营商、终端厂商以及第三方应用商店为主的应用市场超过70家,移动广告联盟超过30家,相关论坛大概在10万的数量级别。同时,以百度、腾讯、360为代表的传统互联网巨头也开始对这个市场虎视眈眈。

尽管Google仍未透露将在何时以何种方式进入中国,但目前的竞争环境已足以有了白热化的趋势。

2.2 体系结构

2.2.1 系统体系机构的一般阐述

MIS系统平台结构模式大体上分为4种:主机终端模式、文件服务器模式、客户机/服务器模式(Clint/Server,简称C/S)、web浏览器/服务器模式(Browser/Server,简称B/S)。主机终端模式由于硬件选择有限,已被逐步淘汰。而文件服务器模式由于硬

第 11 页 共 27 页

件选择有限,硬件投资得不到保证,已被逐步淘汰。而文件服务器模式只适合小规模的局域网,对于用户多,数据量大的情况就会产生网络瓶颈,特别是在互联网上不能满足用户要求。因此,现代企业级平台结构模式应主要考虑C/S模式和B/S模式。 2.2.2 C/S模式与B/S模式的分析比较

C/S模式及其特点

C/S(Client/Server)结构,即客户机和服务器结构。C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。 对于C/S模式而言,其主要特点为:

1.C/S模式将应用与服务分离,系统具有稳定性和灵活性;

2.C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性; 3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快; 4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂。

B/S模式及其特点

B/S模式即Brower/Server结构模式,是基于Internet/Intranet的结构模式,分为三层,第一层为表示层,用户通过浏览器完成和后台的交互及最终查询结果的输出功能。第二层为具有ODBC接口的WEB服务器,属功能层,主要利用服务器完成客户的应用功能。第三层为数据层,根据客户的请求独立地进行各种运算。即前台客户端采用浏览器,中间件服务器为Web服务器,后台为数据库服务器。此种结构由客户端在Web页面发出请求至Web Sever,再由Web Sever向数据库服务器发出请求,而最后中间件服务器接受到数据库服务器的应答后,最终返回给客户端的仍然是页面形式。这样实现了客户端不直接和数据库服务器发生关系,保证了数据安全性。对Browse/Server模式而言,其主要特点为:

用户使用方便

第 12 页 共 27 页

其在逻辑上采用了3层结构,它在前台Browse和后台Server之间增加了一层Web Server层,所有的应用程序模块都安装在它上面,在Browse上只需安装一个通用的浏览器软件,因此,这种模式简化了客户端,使用户的操作更加方便。

系统开发、维护、升级方便

每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便。

B/S模式具有很强的开放性

在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好。 B/S模式的结构易于扩展

由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统。根据发展需要,可对系统随时进行扩展,降低了系统的开发和维护的开销 。

鉴于B/S相对于C/S的先进性,在某些方面相对于C/S的巨大改进,使B/S成了MIS系统平台的首选,也使人忽略了B/S不成熟的一面,以及C/S所固有的一些优点。各软件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。一些企业已经领先一步开始使用它,并且收到了一定的成效。

2.2.3 Android开发环境介绍

Android平台使用Java编程语言来开发应用程序,而Android提供了对Java的核心支持。考虑到Java虚拟机的执行效率和占用资源情况,Google重新设计了Java的编译器,命名为Dalvik。Dalvik是经过优化的Java编译器,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik应用作为一个独立的Linux进程执行,独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。

项目的开发在Eclipse环境中进行,由于进行的是Android应用程序的开发,需要在Eclipse安装ADT插件,即Android开发工具,这样Eclipse就可以和Android SDK建立连接,在Eclipse中启动Android模拟器、调试程序等工作。

由以上分析可知,Android平台的搭建需要Android SDK、Java SDK、Eclipse和ADT四个软件。

第 13 页 共 27 页

2.2.3 Android开发平台搭建

在进行Android应用程序的开发前,要先搭建Android平台,然后才能在开发环境中进行编程。根据官方指导,对Android平台的搭建过程介绍如下:

首先,在官方网址上下载JDK6.0并安装,安装后设置系统环境变量JAVA_HOME、CLASS_PATH、PATH的值;然后,在官方网址上下载更新的SDK进行安装,下载完后解压到指定文件夹,启动SDK Manager进行安装,选择需要的Android版本,然后更新,这次更新需要的时间比较慢,所以更新前要做好准备。安装完成后,将ADB命令所在的目录platform-tools的完整路径添加到系统的环境变量PATH中,就能够在命令中使用ADB命令了;接下来要安装的是ADT插件,即Android开发工具。因为ADT在线安装容易遇到问题,增加一些不必要的麻烦所以需要下载后在本地安装。下载存放在指定的位置以便后面使用;最后,下载Eclipse,建议选择Eclipse3.4以上版本,解压到指定位置后运行。选择Eclipse菜单中的Help>Install New Software选项卡上的Available Software,点击右侧的Add,然后在Name框中填写Android,在Location框中选择上步下载的ADT文件,然后点击OK>Finish>Install All,这时关闭Eclipse再重新启动。重启后选择Eclipse菜单中的Window>Preferences,在左侧的Android项目中SDK Location中填入Android SDK解压后的目录,然后点击Apply。这样,整个平台的搭建工作就完成了。

Activity:在Android应用程序中,一个活动Activity通常就是一个单独的界面。每一个界面都被实现为一个独立的类,并且从Activity基类中继承而来,Activity将会显示由空间组成的用户接口,并对事件做出响应。大多数的应用都是由多个Activity显示组成。

这里的每一个界面就是一个Activity,很容易是从一个界面到一个新的界面,并且完成新的Activity。当一个新的界面打开后,前一个界面将会暂停,并保留在历史栈中。用户可以返回到历史栈中的前一个界面,当界面不再使用时,从历史栈中删除。

简单理解,Activity代表一个用户所能看到的界面,主要用于处理应用程序的整体性工作,例如,监听系统事件(按键事件、触摸屏事件等),为用户显示指定的View,启动其他Activity等。所有应用的Activity都继承于android.app.Activity类,该类是Android提供的基层类,其他的Activity继承该父类后,通过父类的方法实现各种功能,这种设计在其他领域也较为常见。 Intent:Android基本的设计理念是鼓励减

第 14 页 共 27 页

少组件间的耦合,因此Android提供了Intent(意图),Intent提供了一种通用的消息系统,它允许在你的应用程序与其他的应用程序间传递Intent来执行动作和产生时间。使用Intent可以激活Android应用的三个核心组件:活动、服务和广播接收器。

Intent可以划分为显示意图和隐式意图。显示意图调用Intent。SetClass方法明确制定了组件名的Intent为显示意图,显示意图明确制定了Intent应该传递给那个组件,在同一个应用内部使用的。隐式意图没有明确指定组件名的Intent为隐式意图。Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。

Intent负责对应用中一次操作的动作、动作涉及数据和附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的结构。

Service:如果把Activity比喻为前台程序,那么Service就是后台程序,Service的整个生命周期都只会在后台执行。Service跟 Activity一样也由Intent调用。由于Service在后台运行,所以没有界面,用来处理耗时比较长,而且Service不是一个单独的进程,也不是一个单独的线程。Service有两种类型:

本地服务(Local Service):用于应用程序内部;

远程服务(Remote Sercie):用于android系统内部的应用程序之间;

前者用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线程后台执行,这样用户体验比较好。后者可被其他应用程序复用。

Service的生命周期,Service有startService和bindService两种启动Service方法,每种方法Service的生命周期是不一样的。

(1)通过startService() —— Service会经历 onCreate --> onStartCommand(),stopService的时候直接onDestroy,如果是调用者直接退出而没有调用stopService的话,Service会一直在后台运行,下次调用者再起来仍然可以stopService;

(2)通过bindService() —— Service只会运行onCreate()-->onBind() 这个时候调用者和Service绑定在一起 unbindService的时候onUnbind() --> onDestroyed(),调用者退出了,Srevice就会调用onUnbind() --> onDestroyed()。

第 15 页 共 27 页


基于Android手机美食外卖系统的设计与实现(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:七年级语文下册第七单元小专题口语交际讨论同步练习(新版)语文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: