基于android的手机天气预报系统毕业论文(编辑修改稿)内容摘要:

MMS 或直接上传到 youtube 等方式来分享视频。 5)更快,更兼容的浏览器, Android 的基于 Webkit 内核的浏览器带来了重要的调速半置,这得益于新的 Wenkit 渲染引擎和优化的 JAVA 脚本编译器。 6) Voice search 语音搜索。 带有语音识别技术的 Google 手机已于 2020 年 11 月面世,它支持语音搜索功能,该功能增强了默认的搜 索能力,已超过了纯文本搜索。 7)立体蓝牙和免提电话。 除了增强的免提电话体验, Android 还支持立体蓝牙( A2Dphe和 AVCRP) ,并有自动配对功能。 8)强大的 GPS 技术 .Android 内部提供了大量的 GPS 组件,我们可以很轻松地获得设备当前的位置等信息,让导航等功能更加完善。 9) Android 系统硬件检测, android 可自动检测和修复 SD 卡的文件系统,允许第三方应用显示 Android 系统的硬件特征,为了让用户下载到与自已的设备匹配的应用,我们可以检测用户设备的硬件信息,让满足应用要求的设备安装该 程序,当更多的 android 设备建立在不同的硬件上时,这个功能显得很实用 [6]。 架构 Android 的系统架构和其它操作系统一样,采用了分层的架构。 android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和 linux 核心层。 合肥学院计算机科学与技术系毕业论文 7 图 31 Android 架构 Android 是以 Linux 为核心的手机操作平台,作为一款开放式的操作系统,随着 Android的快速发展,如今已允许开发者使用多种编程语言来开发 Android 应用程序,而不再是以前只能使用 Java 开发 Android 应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统 [7]。 Kernel Android 基于 Linux ,例如:安全、 内存管理 、 进程管理 、网络 堆栈 、驱动模型。 Linux Kernel 也作为硬件和 软件 之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。 如果你学过计算机网络知道 OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。 也就是说 各层各尽其职,各层提供固定的 SAP( ServiceAccess Point),专业点可以说是 高内聚、低耦合。 如果你只是做应用开发,就不需要深入了解 Linux Kernel层。 Runtime Android 包含一个核心库的集合,提供大部分在 Java 编程语言 核心类库中可用的功能。 每一个 Android 应用程序 是 Dalvik 虚拟机 中的实例,运行在他们自己的进程中。 Dalvik 虚拟机 设计成,在一个设备可以高效地运行多个 虚拟机。 Dalvik 虚拟机可执行 文件格式 是 .dex,dex 格式是专为 Dalvik 设计的一种压缩格式,适合内存和处理器速度有限的系统。 大多数 虚拟机 包括 JVM 都是基于栈的,而 Dalvik 虚拟机则是基于寄存器的。 两种架构各有优劣,一合肥学院计算机科学与技术系毕业论文 8 般而言,基于栈的机器 需要更多指令,而基于寄存器的机器指令更大。 dx 是一套工具,可以将 Java .class 转换成 .dex 格式。 一个 dex 文件通常会有多个 .class。 由于 dex 有时必须进行最佳化,会使文件大小增加 14倍,以 ODEX 结尾。 Dalvik 虚拟机 依赖于 Linux 内核提供基本功能,如线程和底层 内存管理。 Android 包含一个 C/C++库的集合,供 Android 系统的各个组件使用。 这些功能通过Android 的 应用程序 框架( application framework)暴露给开发者。 下面列出一些核心库:系统 C 库 ——标准 C 系统库( libc)的 BSD 衍生,调整为基于嵌入式 Linux 设备媒体库 ——基于 PacketVideo 的 OpenCORE。 这些库支持播放和录制许多流行的音频和视频 格式,以及静态图像文件,包括 MPEG 、 MP AAC、 AMR、 JPG、 PNG 界面管理 ——管理访问显示子系统和无缝组合多个 应用程序 的二维和三维图形层 LibWebCore——新式的 Web 浏览器 引擎 ,驱动 Android 浏览器和内嵌的 web 视图 SGL——基本的 2D 图形引擎 3D 库 ——基于OpenGL ES APIs 的实现。 库使用硬件 3D加速或包含高度优化的 3D 软件 光栅 FreeType——位图和矢量字体渲染 SQLite——所有 应用程序 都可以使用的强大而轻量级的关系数据库引擎。 Framework 通过提供开放的开发平台, Android 使开发 者能够编制极其丰富和新颖的 应用程序。 开发者可以自由地利用设备硬件优势、访问位置信息、运行 后台 服务、设置闹钟、向状态栏添加通知等等,很多很多。 开发者可以完全使用核心 应用程序 所使用的框架 APIs。 应用程序 的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。 这一机制允许用户替换组件。 所有的 应用程序 其实是一组服务和系统,包括: 视图 ( View) ——丰富的、可扩展的视图集合,可用于构建一个应用程序。 包括包括列表、 网格 、文本框、按钮,甚至是内嵌的 网页浏览器 内容提供者( Content Providers) ——使 应用程序 能 访问其他应用程序(如通讯录)的数据,或共享自己的数据 资源管理器 ( Resource Manager) ——提供访问非代码资源,如本地化字符串、图形和布局文件通知管理器( Notification Manager) ——使所有的应用程序能够在状态栏显示自定义警告活动管理器( Activity Manager) ——管理应用程序生命周期 ,提供通用的导航回退功能。 Android 装配一个 核心 应用程序 集合,包括 电子邮件 客户端 、 SMS 程序、日历、地图、浏览器 、联系人和其他设置。 所有 应用程序 都是用 Java 编程语言写的。 更加丰富的 应用程序有待我们去开发。 从上面我们知道 Android 的架构是分层的,非常清晰,分工很明确。 Android本身是一套 软件 堆叠 (Software Stack),或称为「 软件叠层架构」,叠层主要分成三层:操作系合肥学院计算机科学与技术系毕业论文 9 统、中间件、 应用程序。 从上面我们也看到了开源的力量,一个个熟悉的 开源软件 在这里贡献了自己的一份力量。 系统组件 Android 开发四大组件分别是:活动 (Activity): 用于表现功能。 服务 (Service): 后台运行服务,不提供界面呈现。 广播接收器 (BroadcastReceiver):用于接收广播。 内容提供商( Content Provider): 支持在多个应用中存储和读取数据,相当于数据库 [8]。 应用程序的显示层。 每一个画面对应于你的应用程序,将会是 Activity 类的扩展。 Activity使用 Views 去构建 UI 来显示信息和响应用户的行为。 就 桌面 开发而言,一个 Activity 相当于一张 Form。 一个 Activity 通常展现为一个可视化的用户界面。 例如,一个 Activity 可能展现为一个用户可以选择的菜单项列表或者展现一些图片以及图片的标题。 一个消息服务应用程序可能包含一个显示联系人列表的 Activity,一个编写信息的 Activity,以及其它一些查看信息和修改应用程序设置的 Activity。 虽然这些 Activity 一起工作,共同组成了一个应用程序,但每一个Activity 都是相对独立的。 每一个 Activity 都是 Activity()的子类。 Android 应用程序中不可见的 “工人 ”。 Service 组件运行时不可见,但它负责更新的数据源和可见的 Activity,以及触发通知。 它们常用来执行一些需要持续运行的处理,当你的 Activity 已经不处于激活状态或不可见。 Service 没有用户界面,但它会在后台一直运行。 例如, Service 可能在用户处理其它事情的时候播放背景音乐,或者从网络上获取数据,或者执行一些运算,并把运算结构提供给Activity 展示给用户。 每个 Service 都扩展自类 Serivce。 应用程序可以连接到一个正在运行中的 Service。 当连接到一个 Service 后,可以使用这个 Service 向外暴露的接口与这个 Service 进行通信。 对于上面提到的播放音乐的 Service,这个接口可能允许用户暂停,停止或重新播放音乐。 与 activity 以及其它组件一样, Service 同样运行在应用程序进程的 主线程 中。 所以它们不能阻塞其它组件或用户界面,通常需要为这些 Service 派生一个线程执行耗时的任务。 Intent 广播的 “消费者 ”。 通过创建和注册一个 Broadcast Receiver,应用程序可以监听符合合肥学院计算机科学与技术系毕业论文 10 特定条件的广播的 Intent。 Broadcast Receiver 会自动的启动你的 Android 应用程序去响应新来的 Intent。 Broadcast Receiver 是事件驱动程序的理想手段。 Broadcase Receiver 不执行任何任务,仅仅是接受并响应广播通知的一类组件。 大部分广播通知是由系统产生的,例如改变时区,电池电量低,用户选择了一幅图片或者用户改变了语言首选项。 应用程序同 样也可以发送广播通知,例如通知其他应用程序某些数据已经被下载到设备上可以使用。 Provider 提供共享的 数据存储。 Content Provider(内容提供器 )用来管理和共享应用程序的数据库。 在应用程序间, Content Provider 是共享数据的首选方式。 这意味着,你可以配置自己的 Content Provider 去存取其他的应用程序或者通过其他应用程序暴露的 Content Provider 去存取它们的数据。 Android 设备本身包含了几个 Content Provider 来访问像联系人信息等有用的数据库。 应用程序可以通过 Content Provider 访问其它应用程序的一些私有数据,这是 Android 提供的一种标准的共享数据的机制。 共享的数据可以是存储在文件系统中、 SQLite 数据库中或其它的一些媒体中。 Content Provider 扩展自 ContentProvider 类,通过实现此类的一组标准的接口可以使其它应用程序存取由它控制的数据。 然而应用程序并不会直接调用ContentProvider 中的方法,而是通过类 ContentResolver。 ContentResolver 能够与任何一个 ContentProvider 通信,它与 ContentProvider 合作管理进程间的通信。 合肥学院计算机科学与技术系毕业论文 11 第四章 系统开发及其相关技术 开发环境介绍 Android 的上层应用程序是用 Java 语言开发,同时还需要基于 Dalvik 虚拟机,所以,Google 公司推荐使用主流的 Java 继承开发环境 Eclipse。 只有 Eclipse 还不够,因为是使用Java 语言进行开发,还 应该有由 SUN 公司提供的 Java SDK(其中包括 JRE: Java Runtime Environment)。 此外, Android 的应用程序开发和 Java 开发有较大区别的,所以还需要有Google 提供的 Android SDK。 同时,还需要在 Eclipse 安装 ADT,为 Android 开发提供开发工具的升级或者变更,是 Eclipse 下开发工具的升级下载的工具。 简言之,需要以下软件,才能搭建 Android 开发环境,从而进行 Android 应用程序的开发。 1) Java SDK 2) Eclipse 3) Android SDK 4) ADT 日前, Google Android Studio 开发环境的推出,无疑给 Android 软件开发带来了极大的便捷。 开发平台搭建 Android 开发平台搭建步骤: 1)首先到 Eclipse 集成开发环境并且解压,这里推荐下载 Java EE 集 成 版 本 , 可 以 为 平 台 的 搭 建 省 下 不 少 工 作。 接 着 再 去 站 点 下 载 Android 后解压。 第一步下载工序就结束了。 2)双击 Eclipse 解压后目录中的 然后启动,选择 Eclipse 菜单中的 Help Install New Software 选 项 卡 上 的 Available Software ,点击右侧的 “Add” 输入 “Work with”下拉菜单中选择刚才输入的网址。 过一会就会出现一个 Developer Tools 选项,勾上以后点击 Next 以后 Eclipse 会自动合肥学院计算机科学与技术系毕业。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。