基于android_医生站终端设计及实现毕业设计论文(编辑修改稿)内容摘要:

务器软件及相关技术。 第 3章, 介绍医生站终端的需求分析,从系统的可行性、功能、性能角度进行分析。 介绍系统的总体设计。 第 4章, 详细介绍 手机终端模块设计。 第 5章, 详细介绍手机终端的模块实现。 最后,总结本文工作以及对开发中出现的问题和发展趋势提出了建设性的意见。 江苏大学本科生毕业论文 6 第二章 相关技术介绍 Android 操作系统 Android 开发平台介绍 Android 平台总体上分为三层,第一层:底层的 Linux 操作系统。 第二层:中间层的中间件。 第三层:上层的 Java 应用程序。 应用程序可以重用和替换:以前的手机操作系统不允许替换,不可重新编写。 但是Android 操作系统允许开发者可以根据自己的喜好改变应用程序。 例如短信编写、界面 风格等。 Dalvik VM 虚拟机: Android 的应用程序是由 Java 编写。 Dalvik VM 通过获取的 Java 类文件,将他们组成一个或多个 Dalvik 可执行文件( .dex)。 Dalvik 虚拟机是基于寄存器的,相对于 Java 虚拟机速度快。 WebKit 引擎: Android 操作系统内置了开源的 WebKit 引擎 [4]。 多媒体:可以支持目前很多常见音频、视频和图像格式。 SQLite:结构化轻量级数据库。 嵌入在系统内部,支持 sql 语言 [5]。 Android 操作系统是基于 Linux 基础 上开发, Android 操作系统本身也是一个开放的系统,分为三个组成部分: ( 1) Android 源代码工程:提供 Android 系统的全部源代码。 ( 2) Android 开发者:开发者可应用 Android 的 API 进行开发。 ( 3) Android 市场:开发者将自己研发的应用程序发布在 Android 市场上,消费者可以购买并使用 [5]。 Android 之所以如此受到广大消费者、开发者、手机厂商的追捧,原因如下: ( 1)开放性: Android 系统的内核源于 Linux,完全对用户开放,开源的开发平 台。 对于开发者,可以随意设计属于自己风格的软件。 对于任意一个移动终端的生产厂商来说,可以充分的突出生产独有的品牌文化。 ( 2)价格低廉:正是由 Android 操作系统的开源性,它降低了生产商开发成本,不需要支付高额的版税,这使得众多生产商都采用 Android 操作系统。 由于价格低廉,符合社会众多阶层的需求,使得 Android 智能手机在市场上很受欢迎。 江苏大学本科生毕业论文 7 ( 3)程序的独立性:由于 Android 操作系统采用多层安全措施使得应用程序彼此分离,使得手机系统的稳定性得以提高,用户不用担心运行另一个程序时,现有程序 将会关闭。 ( 4)广泛性: Android 操作系统的所有程序都是由 Java 语言编写的, Java 语言本身在全球的编程语言中都是排在前列。 这使得开发者入门很快,开发的第三方软件也是极其丰富。 ( 5)与 Google 产品完美结合: Android 操作系统就是由 Google 研制开发,那么 Android操作系统是完全的兼容 Google 的任何一款软件。 例如, Google Map、 Google Chrome 等 [6]。 由于移动终端具有号码唯一性、便携性、位置移动性、长期开机等特点,并具备丰富的位置信息和个人化、特征化的身 份信息,使移动互联网业务具备社会化、开放化、便捷化、多样化、个性化等特征。 Android 操作系统介绍 Android 应用结构分析 Android 开发工具是 Eclipse,开发者可以登录 Android 开发者网站,免费下载Eclipse 和插件 ADT( Android Development Tools),为了开发人员的方便谷歌把 Eclipse 和 ADT 集成在一个文件里。 创建一个 Android 项目,只需要开发者在 src 文件中编写 Java 代码,在 res 文件的子文件 layout 中设置页面布局,实现了编码和布局的分离。 图 为 Android 项目结构图 [7]。 江苏大学本科生毕业论文 8 图 Android 项目结构图 Res 文件里存放着三个文件夹:( 1) drawable 文件:存放 Android 项目中所需图片资源、自定义的控件图形结构等。 ( 2) layout 文件: Activity 中创建的控件,控件摆放的位置,以及整体页面布局都放在这个文件中。 ( 3) values 文件:该文件中声明字符串的意义、颜色值等 [8]。 自动生成的 文件:当在 layout 中添加了控件后, Android 会在 类中自动生成一个地址,这个地址类似于 C 语言中的指针,编写 Java 代码时通过这个地址就能对该控件进行编辑了。 :所有的组件都要在这里注册,同时控制 Android 项目的访问权限(例如,访问互联网权限、获取照相机权限、程序发送短消息权限等),声明 SDK 版本号等 [9,10]。 Android 平台架构 Android 操作系统是基于 Linux 系统内核的。 它由四层组成:操作系统层( Linux 操作系统和驱动)、中间件层组成(系统库与 Android 运行时)、应用程序框架层( Java 框架)、应用程序层( Java 应用程序) [9,11]。 图 为 Android 平台架构图。 江苏大学本科生毕业论文 9 图 Android 平台架构图 ( 1)操作系统层( Linux 操作系统和驱动): Android 的核心系统基于 Linux 核,管理和驱动底层的硬件程序。 Android 作为手机操作系统,它最需要的是关于一些移动设备相关的驱动程序 [11]。 图 列出 Linux 内核驱动的程序。 图 Linux 内核驱动的程序 江苏大学本科生毕业论文 10 ( 2)中间件层组成(系统库与 Android 运行时):分为系统库和 Android 运行时。 系统库:主要是当开发者调用中间件层的上层应用程序框架时,提供各样的标准库来支持应用程序框架的具体实现。 例如,当开发者调用按钮( Button)的组件时系统库要提供相应的服务。 系统库包括:多媒体库、 SQLit 数据库、 WebKit 库等。 Android 运行时:类似于 Java 的虚拟机 Dalvik 虚拟机。 但是比 Java 的虚拟机效率高,适用于移动终端的设备。 移动终端的特点是运行速度差、内存小。 编译完成的 Java 程序会生成很多个 class 文件,此时 Dalvik 会将这些 class 文件进行组合生成一个或多个 .dex 文件。 .dex 是 Dalvik 专用文件,相比 Java 虚拟机没有被压缩的 .jar 文件省去了很大空间,同时增加了手机的 I/O 速度,提高手机的整体性能 [12]。 ( 3)应用程序框架层( Java 框架):是 Android 开发的基础,该层提供了 Android 的核心 API,很多应用程序都是通过这层来实现的。 开发者可以利用该层的各个组件来重复利用,来实现开发者设计要求。 例如按钮控件、文本控件、图片视图控件等。 ( 4)应用程序层( Java 应用程序):开发者可以使用 Java 语言进行编程,将应用程序运行在该层中,该层提供一些 Android 核心应用,例如邮件、浏览器等。 这些应用程序可以被开发者重用和改写,实现真正的开源、开放的平台。 Android 应用程序组件 作为一名 Android 程序开发者必须要理解 Android 应用程序组件。 Android 程序没有像 Java 程序中的 Main 函数作为程序的主函数,各个应用程序之间独自运行,互不影响。 根据组件的功能不同可分为四个核心模块: Activity、 Service、 BroadcastReceiver、ContentProvider 组件。 相同组件、组件与组件之间传递数据或函数需要使用函数 Intent 来实现。 当然使用任何一个组件时必须在 文件中注册,才能获取权限使用该组件 [6,13]。 下面分别介绍 Android 应用程序组件: ( 1) Activity:是 Android 程序中一个非常重要的可视化的用户接口,是用户和应用程序之间进行交互的接口。 Activity 可以理解为一个容器,在一个 activity 组件中可以放置多个控件,例如 Button 控件、文本控件、可编辑控件等,并可以为控件添加监听系统事件。 可以创建多个 activity,每一个单独的 activity 都有各自的功能,并独立完成。 每创建一个 activity 就要在 中注册,否则 Android 系统不会运行没有注册的 activity[14]。 江苏大学本科生毕业论文 11 Android 操作系统是多任务处理机制,可以同时运行多个程序,互不打扰。 例如,当用户在线听歌时收到了一条短信息,此时手机不会因为收到短信息而关闭在线听歌的程序。 但是,如果同时运行多个任务时, 手机内存占用率过高, Android 系统会强行关闭掉一些没有在前台运行的程序,有时关闭的程序可能是用户需要的程序,这就造成很多不便。 由此,Android 推出了应用程序组件运行周期的机制。 每个 Activity 都是独立运行的,当程序由当前的 activity 跳转至另一个 activity 时就涉及到了 activity 的生命周期。 图 为 activity 生命周期图 [15]。 图 activity 生命周期图 ( 2) Service:也称为“服务”。 Service 没有图形化界面,通常用 来处理一些耗时比较长的操作,如网络下载、播放 mp3( Moving Picture Experts Group AudioLayer III)等。 可以使用 Service 更新 ContentProvider。 Service 不是一个单独的进程,也不是一个线程,它是运行在后台的进程,一般用于为其他组件提供后台服务或者监听其他组件的运行状态。 例如,当播放电影时,用户又启动了其他应用程序,但是电影并没有停止仍然继续播放,这就是利用 Service 来控制的。 当用户退出电影时, Service 也随着结束。 Service 也有自己的生命周期 [13],图 为 Service 生命周期。 江苏大学本科生毕业论文 12 图 Service 生命周期图 ( 3) BroadcastReceiver:广播机制。 数据的发送方只负责发送数据,而数据如何接收以及数据如何处理都是由接收方来决定。 广播系统产生各种各样的事件。 例如,手机短信屏蔽功能:手机接收到一条短消息就会产生收到短消息的事件,会向所有的广播接收器对象进行广播,广播接收器判断广播的数据,这时手机屏蔽的程序接到广播的数据后就对该号码进行屏蔽。 ( 4) ContentProvider:在 Android 系统中程序之间是相互独立运行,如果两个独立的程序想进行数据间的交换,就调用了 ContentProvider,它相当于一个数据存储的容器,在与其他程序交换数据时,就会到 ContentProvider 中提取。 ContentProvider 提供了为存储和获取数据统一的标准方法接口,可以在不同的程序之间实现数据共享,它是应用程序之间共享数据的唯一方法。 Android 为常见的一些数据提供了 ContentProvider(如短信、通讯记录和通讯录等)。 ContentProvider 认为无论数据 的来源如何,它都认为是以表格的形式来存储,每一种数据都对应着一种 ContentProvider。 ( 5) Intent:实际上 Intent 不是 Android 的应用组件,但是 Intent 就像一座桥梁江苏大学本科生毕业论文 13 一样连接各个组件。 一个应用程序一般由四种组件构成,当程序运行到一个节点时,此时需要运行另一个组件,这时就需要 Intent 来传递参数。 例如,在第一个 activity 的文本框内输入一段文字,在第二个 activity 的文本框内显示这段文字,这时调用函数 ( Intent, intent)来传递变量。 Intent 可以传递很多参数,例如,传递网址、电话号码、短信、电子邮件、浏览器等。 例如,当用户查阅通讯录时想给某个联系人发送短消息,此时就需要 Intent 来传递联系人的手机号码发送给短消息的程序。 如果需要启动 Service,就调用 startService( Intent, intent)方法 [13]。 Web 开发架构 Web 服务器架构 本课题的服务器端采用 WAMP 架构。 图 为 WAMP 架构图。 图 WAMP 架构图 Web 开发的三层架构:根据整体功能划分为三个模块:图形界面层、逻辑控制层、数据库操作层。 图形界面层:一般是给用户提供的可视化的图形界面,用户可以在界面内进行输入数据,点击按钮等操作。 逻辑控制层:当用户对图形界面进行操作后,进行相应的事件处理。 数据库操作层:对。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。