基于安卓android的手机团购应用的设计与实现毕业论文内容摘要:

还是有自己的鲜明特点: ( 1) 实现了自动管理内存。 Java 语言本身提供了 GC( 垃圾回收 ) 机制,垃圾回收器可以自动的管理应用程序所在的内存空间,程序员不必再为申请内存和释放内存劳心费神,彻底远离了可怕的内存泄露问题。 ( 2) 取消了“指针”这一概念,以“引用”代替,使开发人员摆脱了复杂的内存访问和内存管理问题,从而使 java 语言开发出来的程序更加安全健壮。 ( 3) 取消了“多重继承”,只支持单一继承,增加了接口概念和匿名内部类,间接地实现了“多重继承”机制的功能,避免了多重继承带来的复杂性。 Java 语言是一种解释型语言,跟 C、 C++这种类型的语言相比, java 的执行效率很低。 因为 Java 程序的执行必须依赖于 Java 解释器,而 java 解释器的存在使 java 真正实现了“一 次编写,处处运行”的目标,为了达到这个目标而牺牲一部分 5 效率还是非常值得的。 另外, Java 语言具有特别强大的、易于联网的特点,因此 Java 特别适合开发分布式的程序。 在所有的计算机高级语言中,使用 Java 语言编写 Socket 程序是最简单的 [3]。 系统架构 选择一个合理的系统架构能够很大程度上决定一个项目的开发成败。 在 互联网团购 类项目的开发历史中存在 C/S 和 B/S 两种架构。 在 B/S 体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所 需信息返回到浏览器。 B/S 结构简化了客户机的工作,客户机上只需配置少量的客户端软件。 服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。 实际上 B/S 体系结构是把二层 C/S 结构的事务处理逻辑模块从客户机的任务中分离出来,由 Web 服务器单独组成一层来负担其任务,这样 能减轻客户机的压力。 这种三层体系结构如图 所示。 图 B/S 三层架构示意图 C/S 架构主要包括“客 户 端” 、 “中间件” 、 “服务端”三大部分。 用户可以通过客户端应用程序向服务器发送各种请求,并 接收 从服务器返回的数据信息。 服务器会 接收 来自客户端的信息并作出 响应 ,同时负责管理系统的各种后台数据和信息,比如数据库信息。 服务器要面对的一个难点就是当多 个 用户同时请求同一种资源时,应该如何 响应 这些请求。 中间件是客户端程序和服务端程序沟通的桥梁,主要负责数据结构的定义和数据传输。 由于 Android 平台的应用开发非常的便捷高效, 借助 一个自主的 APP 应用程序,可以更加高效合理的展示 团购 商品信息,提高用户的手机 团购 体验,因此选择 C/S 架构作为 本 手机 团购应用 的系统架构。 Browse 浏览器 Web 服务器 数据库 6 C/S 架构的示意图如图 所示。 图 C/S 架构示意图 Android 平台 简介 Android 系统基于 Linux 内核,但并不是标准的 linux 内核。 为了让 Android 系统更加适用于移动终端设备, google 对 Linux 的内核进行了各种优化和加强。 Android 平台采用了一种“软件叠层”的方式构建,它由分别是应用程序层、框架层、函数库层、运行时库、内核五层构成。 这种构架方式的好处就是各层之间相互独立,底层的改变不会影响上层。 Android 体系结构 Android 体系结构从上到下一共分为 5 层,分别是应用程序层、 应用程序 框架层、函数库层、运行时库 层 、内核 层。 应用程序层主要包含系统的核心应用程序,比如浏览器、电话薄、日历计算器等等; 应用程序 框架层为应用程序层提供了所需要的 API,这些 API 都包含在 Google 提供的 Android SDK 中;函数库层 由大量的 C/C++库构成,这些库函数一般不会直接被应用程序调用,而是被 应用程序 框架层的 API 调用,而 Java 和 C/C++之间的跨语言调用借助于 JNI 技术;运行时库 层 包括核心 库和 Dalvik 虚拟机,核心库封装了 Java 语言的全部功能,Dalvik 虚拟机负责安卓应用程序的运行。 内核层主要负责内存管理、进程管理、网络协议栈和驱动模型的实现,位于整个架构的最底层 [4]。 Android 的体系结构图如图 所示。 客户端 中间件 服务器端 7 图 Android 系统架构图 Android 基本组件 Android 应用程序通常是由一个或者多个基本组件构成的。 Android 应用程序的基本组件包括: Activity(活动)、 Service(服务)、 BroadcastReceiver( 广播 ) 、 Application Framework(应用软件架构) View System Windows Manager Activity Manager Content Providers 软件组件 电话管理 资源管理 位置 管理 提示管理 Android Runtime Android Libraries Dalvik 虚拟机器 Library(函数库) Surface Manager Media Framework SQLite OpenGL FreeType WebKit SGL OpenSSL Libc Linux Kernel 硬件驱动 电源管理 WiFi网络 内存管理 相机驱动 Application(应用程序) 文件管理 浏览器 照相程序 通讯 录 电话 8 ContentProvider( 内容提供者 ) [5]。 其中最常用也是最常用到的组件就是 Activity( 活动 ) ,下面简要的介绍一下这四种组件。 ( 1) Activity(活动) Activity 是 Android 系统中负责跟用户进行交互的组件,它为 Android 系统提供了可视化的用户界面。 如果一个安卓应用程序包含多个用户界面,那么这个安卓应用必将包含多个 Activity。 多个 Activity 将组成一个 Activity 栈,栈顶对象就是当前处在活动状态的 Activity。 随着不同应用的交替运 行,每个 Activity 都可能从活动状态转入非活动状态,也可能从非活动状态转入活动状态。 Activity 具有四种状态:活动状态、暂停状态、停止状态、销毁状态。 当 Activity处于前台,用户可见并可获得焦点的时候, Activity 就处在活动状态;当其他 Activity 位于前台,该 Activity 依然可见但无法获得焦点,该 Activity 处在暂停状态;当 Activity 不可见,失去焦点时,该 Activity 处在停止状态;当 Activity所在的 Dalvik 进程结束时, Activity 处在销毁状态。 这四种状态的切换过程如图 所示。 图 Activity 生命周期 ( 2) Service(服务) Starting Running Stopped Paused Destroyed d (1)onCreat() (2)onStart() (3)onRestoreInstanceState()* (4)onResume() (1)onSaveInstanceState()* (2)onPause() (3)onResume() (2)onCreat() (1)onRestart() (1)onSaveInstanceState()* (2)onStop() onResume() onDestroy() or Process killed Process killed *(可选 ) 9 Android 系统架构中, Service 和 Activity 具有相同的地位。 Service 和 Activity的区别就是 Service 处在后台运行没有图形界面。 Service 运行起来以后也会具有自己的生命周期。 当需要在后台运行服务或者监控其他组件的状态 变化的时候,就需要借助 Service 组件了。 Service 跟 Activity 类似,也具有自己的生命周期,分别为:创建 ( onCreate) 、开始( OnStart) 、运行 ( ServiceRunning) 、停止 ( OnStop) 、销毁 ( OnDestroy)。 ( 3) BroadcastReceiver( 广播 ) 顾名思义, BroadcastReceiver 代表的就是广播消息接收器,该组件本质上是一种全局的监听器,可以监听的系统全部的广播。 从代码的实现角度来看,它非常类似于事件编程中的监听器。 与普通的事件监听器 不同的是, BroadcastReceiver 监听的事件源是 Android 系统中的组件,普通事件监听器监听的事程序中的对象,利用这点我们可以非常方便的实现系统中不同组件之间的通信。 需要注意的是对广播的滥用会加重系统的功耗负载。 ( 4) ContentProvider( 内容提供者 ) Android 系统中每个应用程序都运行在各自的 Dalvik 虚拟机中,也就是说应用程序之间是相互独立的。 但是在很多情况下 ,应用程序之间也是需要实时地交换数据的,例如打电话的程序就要调用 联系人应用中的电话号码。 ContentProvider 就是 Android系统为跨应用进程之间的数据交换设定的一种标准。 通常 ContentProvider 和 ContentResolver 是配套使用的,一个应用程序使用ContentProvider 暴露自己的数据,使用 ContentResolver 访问别的应用程序的数据。 Android 应用 工程源码结构 目前, Android 应用程序的主流开发平台是 Eclipse。 通过在 Eclipse 中安装 ADT 插件,用户可以非常方便的生成 Android 工程、管理虚拟机镜像( AVD),调试 Android 应用程序、打包 Android 应用程序等等。 在 Eclipse 环境下,一个典型的 Android 工程包括以下几个目录和文件: ( 1) Src/ 该目录下存放的是 Android 应用的源文件,都是用 java 语言编写成的。 10 ( 2) Gen/ 该目录下存放的系统自动生成的文件。 其中最核心的文件就是。 文件是由 appt 工具根据应用的资源文件自动生成的,换句话说 就是 Android 应用中的资源字典。 需要注意的是, 不可以删除,即使被删除了系统也会自动生成。 ( 3) 该目录下存放的是 Android SDK。 这是 Android 应用的程序开发包,其中提供了 Android 系统开放的所有 API。 根据用户设定的不同,该目录下 SDK 的版本号也不尽相同。 ( 4) Bin/ 该目录下存放生成的目标文件,比如 java 二进制文件、资源打包文件、 Dalvik虚拟机的可执行文件( .dex 后缀)。 ( 5) Libs/ 该目录存放用户导入的第三方 jar 包。 ( 6) Res/ Res 目录下存放了 Android 应用的所有资源,包括图片资源、颜色 资源、字符串资源、尺寸资源等等。 按照 Android 的规定,不同的资源都会放在不同的目录中,比如字符串资源就放在 /res/value/ 中。 ( 7) 文件是每个 Android 工程必备的,这是一个安卓应用的全局描述文件。 文件中制定了应用的名称、图标、包含的组件、应用程序兼容的最低版本、以及要获得的权限。 SSH 框架简介 SSH 框架在 Web 应用开发中是一种非常受欢 迎的架构,它主要由 “ struts” 、“ spring” 、 “ hibernate”构成,能够帮助开发人员在短时间内开发出结构健壮、重用性强、方便后期维护的 Web 应用。 从功能的角度我们可以将 SSH 分成三层:表示层、业务逻辑层、和数据持久层 [6]。 11 SSH 框架中,“ spring”负责整个系统的底层架构,它主要负责 MVC 模型结构分离,控制业务调用流程;“ hibernate”框架实现了对 JDBC 的轻量级封装,提供了对持久层的支持;“ struts”负责总体的管理。 采用 SSH 框架后,彻底实现了业务逻辑 层和持久层的分离,无论前端怎样变化,都不会对模型造成影响,数据库结构的改变也不会影响到前端。 SSH 框架模型如图 所示: 图 SSH 架构结构图 Quartz 调度框架 Quartz 是一种由 Java 写成的开源系统框架。 应用该项技术我们可以为一项作业创建简单 或 复杂的调度,提高开发效率。 在系。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。