基于android的无线手机助手_毕业设计(论文)开题报告(编辑修改稿)内容摘要:
广泛认可的基础之上: Linux 内核。 1991 年,还是赫尔辛 基大学学生的 Linus Torvalds 开发了 Linux 内核。 现在, Linux 可以说是无所不在,从手表到超级计算机中都能找到它的身影。 Linux 为 Android 提供了硬件抽象层,以便将来把 Android 移植到更多的平台上。 从内部来看, Android 使用 Linux 完成其内存管理、进程管理、网络和其他操作系统服务工作。 Android 手机用户永远不会看到 Linux,程序也不会直接进行 Linux 调用。 但是作为开发人员,你需要知道 Linux 在 Android 中的用途。 开发期间需要的某些实用程序要和 Linux 打交道。 例如, adb shell 命令将打开一个 Linux 命令行窗口,从中可以输入要在设备上运行的其他命令。 例如,可以通过这个命令行窗口来检查 Linux 文件系统、查看活动的进程等。 本机库 Linux 内核层上面的一层中包含了 Android 本机库。 这些共享库都是用 C 或 C++语言便携带,并且针对电话使用的特定硬件架构进行了编译,并已由手机制造商预先安装到手机中。 其中最重要的一些库包括下面 5 个部分。 浙江大学城市学院毕业论文 外文翻译 17 界面管理器。 Android 使用与 Vista 或 Compiz 类似的组合窗口管理器,但是它要更简单一些。 它并不是 将显示内容直接绘制到屏幕缓冲区中,而是将绘制命令传递给屏幕外的位图,然后将该位图与其他位图组合起来,形成用户看到的显示内容。 这种方法允许系统实现所有有趣的效果,如透明的窗口和奇特的过渡效果。 2D 和 3D图形。 使用 Android 时,二位和三维元素可结合到一个用户界面中。 库将使用 3D 硬件(如果设备上有的话)或者快速软件渲染器(如果没有 3D 硬件设备)。 参见第 4 章和第 10 章。 媒体编解码器。 Android 可播放视频内容,并可用各种格式录制和播放音频,这些格式包括 AAC、 AVC( )、 、 MP3 和 MPEG4。 参见第 5 章中相关的示例。 SQL 数据库。 Android 提供了轻量级的 SQLite 数据库引擎, Firefox 和苹果的iPhone 中使用的也是该数据库引擎。 使用该引擎可在应用程序中持续储存。 参见第 9章中相关的示例。 浏览器引擎。 为保证快速显示 HTML 内容, Android 使用了 WebKit 库。 GoogleChrome 浏览器、苹果的 Safari 浏览器、苹果 iPhone 和诺基亚的 S60 平台都是用了该引擎。 参见第 7 章中相关的示例。 Android 运行时 在 Linux 内核层上面还有一个 Android 运行时层,改成包括 Dalvik 虚拟机以及 Java核心库。 Dalvik 虚拟机是 Google 的 Java 实现,专门针对移动设备进行了优化。 为 Android编写的所有代码使用的都是 Java 语言,这些代码都在虚拟机中运行。 Dalvik 与传统 Java 虚拟机的不同之处体现在下面两个重要的方面。 Dalvik VM 运行 .dex 文件,即编译时会将标准的 .class 和 .jar 文件转化成 .dex 文件。 .dex 文件比类文件更加紧凑并且更加高效,这是针对运行 Android 的设备内存有限且通过电池供电的特点所作出的重要 改进。 Android 附带的 Java 核心库与 Java SE 库和 Java ME 库不同。 但是,他们之间有很大部分还是相同的。 附录 A 比较了 Android 库与 Java 标准库。 应用程序框架 位于本机类库和运行时上面的是应用程序框架层。 该成提供了在创建应用程序时浙江大学城市学院毕业论文 外文翻译 18 需要使用的各种高级构建块。 该框架已随 Android 一同安装,但开发人员也可以根据需要使用自己的组件扩展该框架。 该框架最重要的部分包括下面 5 个。 活动管理器。 该管理器控制应用程序的生命周期(参见 节),同时维护一个公告的“后退栈”供用户导航。 内容提供者。 这些对象封转需要在应用程序之间共享的数据,如联系人信息。 参见 节。 资源管理器。 资源是程序中涉及到任何非代码内容。 参见 节。 位置管理器。 Android 手机始终知道目前所处的位置。 参见第 8 章。 通知管理器。 像收到短信、临近预约时间、临界状态报警、异常入侵等事件都可以通过友好的方式通知用户。 应用程序 Android 架构图中的最高层是应用程序层。 可将该层想象为浮出海面的 Android 冰山的一角。 最终用户只能看到这些应用程序,根本不会觉察到在该层下面执行的操作。 但是作 为一名 Android 开发人员,你应该知道这些操作。 购置 Android 手机时,手机中会预装一些标准的系统应用程序,包括: 电话拨号程序; 电子邮件收发程序; 联系人管理程序; Web 浏览器; Android Market。 用户可以从 Android Market 下载在本机运行的新应用程序。 这里也将是你大显身手的地方,学习完本书后,你也能够为 Android 编写出令人一见钟情的应用程序。 现在,让我们仔细地了解一下 Android 应用程序生命周期,它与你以前熟悉的概念有所不同。 它还活着 标准的 Linux 或 Windows 桌面可以同时运行许多应用程序,并且可以在不同的窗口中同时看到这些程序。 除了其中某个程序拥有键盘焦点外,所有程序都是平等的。 用户可以轻松地在这些程序之间切换,但是要想知道自己在做什么,或者想要关浙江大学城市学院毕业论文 外文翻译 19 闭不再需要的程序,用户必须亲自动手。 Android 不是这样管理窗口的。 Android 中有一个前台应用程序,它通常为占据状态栏以外的所有将屏幕空间。 用户开机时,他们看到的第一个应用程序是 Home 应用程序(参见图 22)。 这个程序通常会显示时间、背景图像。 以及一个滚动列表,其中包含用户可以 打开的其他应用程序。 用户在运行应用程序时, Android 会启动该程序并将他至于前台。 用户可以从该应用程序中打开其他应用程序,或者打开同一应用程序的其他窗口,然后再调用其他应用程序。 所有这些程序和窗口都被系统的活动管理器李璐在应用程序栈中。 用户可随时按 Back 按钮返回到栈中的上一个窗口。 从用户的角度看,这种工作方式类似于 Web浏览器中的历史功能,即按 Back 返回到上一个页面。 应用程序生命周期 Android 程序中的每个活动在其存在期间都会处于以下多种状态之一,如图 23 所示。 开发人员不能控制程 序处于哪个状态,这是由系统管理的。 但是通过 onXX()方法调用改变状态时,系统会通知开发人员。 你需要在 Activity 类中重写这些方法,而Android 会在合适的时间调用下面这些方法。 onCreate(Bundle)。 首次启动活动时会调用该方法。 可使用该方法执行一次性的初始化工作,如创建用户界面。 onCreate()接受一个参数,可以是 null 或由onSaveInstanceState()方法以前保存的某些状态信息。 onStart()。 该方法说明了将要显示给用户的活动。 onResume()。 用户 可以开始与活动进行交互时会调用该方法。 这个方法非常适合开始播放动画和音乐。 onPause()。 活动将要进入后台时会运行该方法,活动进入后台的原因通常是在前台启动了另一个活动。 还应该在该方法中保存程序的持久状态。 如正在编辑的数据库记录。 onStop()。 用户无需看到某个活动,或者在一段时间内不需要某个活动时,可以调用该方法。 如果内存不足,可能永远都不会调用 onStop()(系统可能只是终止进程)。 onRestart()。 如果调用该方法,则表明要将已处于停止状态的活动重新显示给浙江大学城市学院毕业论文 外文翻译 20 用户。 onDestroy()。 销毁活动前会调用该方法。 如果内存不足,可能永远都不会调用 onDestroy()(系统可能只是终止进程)。 onSaveInstanceState( Bundle)。 Android 调用该方法的作用是让活动可以保存每个实例的状态,如光标在文本字段中的位置。 通常你无需重写该方法,因为该方法的实现会自动保存所有用户界面控件的状态。 onRestoreInstanceState( Bundle)。 使用 onSaveInstanceState()方法以前保存的状态重新初始化某个活动时会调用该方法。 默认实现会还 原用户界面的状态。 没有在前台中运行的活动可能已被停止,或者是容纳这些活动的 Linux 进程已被“杀死”(结束),从而为新的活动腾出空间。 这是经常出现的情况,所以在一开始设计应用程序时就记住这一点很重要。 在某些情况下, onPause()方法可能是活动者调用的最后一个方法,所以才应在该方法中保存下次要继续使用的任何数据。 除了管理应用程序的生命周期, Android 框架还提供了很多构建块,开发人员可使用这些构件块创建应用程序。 下面仔细了解这些构建块。 构建块 每位开发人员都要熟悉 Android SDK 中定 义的一些对象。 其中最为重要的就是活动、意图、服务和内容提供者。 本书的其余部分提供了关于这些对象的多个实例,所以现在先简要介绍一下他们。 活动 一个活动就是一个用户界面屏幕。 应用程序可以定义一个或多个活动,以处理程序不同阶段中的任务。 如 节所述,作为应用程序生命周期的一部分,每个活动都要保存自己的状态,以便日后还原这些状态。 节提供了一个示例。 意图 意图是一种描述具体动作的机制,例如“拍照”、“往家中拨电话”或“打开仓门” 在 Android 中,几乎所有事情都要经历意图这个阶段, 所以有很多机会可以替换或重用很多组件。 节提供了一个意图的示例。 例如,现在有一个“发送一封电子邮件”的意图。 如果应用程序需要发送邮件,就可调用该意图。 或者你正在编写一个新的电子邮件应用程序,就可注册一个活动来处理该意图,并用该电子邮件程序替换标准的邮件程序。 下次其他人尝试发送电子邮浙江大学城市学院毕业论文 外文翻译 21 件时,他们会使用你的电子邮件程序,而不是标准的邮件程序。 服务 服务是在后台运行的任务,无需用户直接与其交互,它与 Unix 的守护进程类似。 例如,假设有一个音乐播放器。 可以通过某个活动来播放音乐,但是我们希望即使当用户使用其他程序时,人能继续播放音乐。 所以,执行音乐播放的代码应该在某个服务中。 之后,另一个活动可能会绑定到该服务上,告诉该服务切换音轨或停止播放。 Android 内置了许多服务,以及许多可轻松访问这些服务的 API。 内容提供者 内容提供者是封装在自定义 API 中的一组数据,可以读取该数据和向 API 中写入数据。 这是在应用程序之间共享全局数据的最佳方式。 例如,谷歌为联系人程序提供了一个内容提供者。 任何要使用联系人信息的应用程序都可共享其中的所有信息,包括姓名、地址、电话号码等。 节提供了一个示例。 浙江大学城市学院毕业论文 外文翻译 22 Android Key Concepts Now that you have an idea of what Android is, let’s take a look at how it works. Some parts of Android may be familiar, such as the Linux kernel,OpenGL, and the SQL database. Others will be pletely foreign,such as Android’s idea of the application life ’ll need a good understanding of these key concepts in order to writewellbehaved Android applications, so if you read only one chapter in this book, read this one. The Big Picture Let’s start by taking a look at the overall system architecture—the key layers and ponents that make up the Android open sou。基于android的无线手机助手_毕业设计(论文)开题报告(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。