




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Android应用开发基础第1章 认识一下Android主讲教师:贾震斌苏州市职业大学计算机工程系第1章 认识一下Android主讲教师:贾震斌主讲教师:贾震斌Android应用开发基础第1章 认识一下Android主讲教师:贾震斌本章目录本章目录 1.1 什么是Android 1.2 为什么推出Android 1.3 Android包含什么 1.4 为什么选择Android 1.5 为什么不是J2ME 1.6 开发Android需要准备什么 1.7 Android开发有哪些新特点Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.1 什么是什么是Android And
2、roid(机器人)是Google于2007年11月5日发布的基于Linux平台的开放源代码移动操作系统的名称Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.1.1 Android是操作系统吗是操作系统吗 Android是一个完整的移动操作系统,利用Linux作为系统内核,实现了存储管理、设备管理、文件管理、进程管理、安全管理等操作系统的基本功能。Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.1.2 Android是是Linux操作系统的分支吗操作系统的分支吗 Android仅采用Linux内核实现操作系统的基本功能,但操作系统核心功能之
3、一的设备管理,Android的底层硬件驱动并不遵循Linux的GPL规范,也没有使用Linux的GUI方案,它的应用框架和GUI库都采用Java语言实现 2009年12月,Linux已经将Android从其代码树中排除Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.1.3 Android是开发平台吗是开发平台吗 Android不仅是一个操作系统,而且还提供了强大的应用开发框架,以及应用开发和调试工具Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.1.4 Android是是J2ME的一个实现吗的一个实现吗 Android运行的虚拟机不是Ja
4、va虚拟机,而是经过改造的Dalvik虚拟机,在Dalvik虚拟机内运行的并不是Java编译后的字节码,而是后缀名为dex内部格式文件 Android早期发展中明显地受J2ME设计思想的影响Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.2 为什么推出为什么推出Android Android的推出是在移动互联网迅猛发展背景下Google主导的发展战略 在移动互联网时代,以智能手机、平板电脑为代表的移动信息设备是应用终端,目前除Android外其他移动操作系统和开发平台都是封闭软件系统,仅提供有限的API供第三方开发人员使用,而且应用发布还要受制于签名认证等限制措施,
5、阻碍了移动互联网应用的快速发展,为了打破这种封锁,Google收购了致力于移动终端开源操作系统的Android公司,然后在2007年主导建立了开放手机联盟,建立一个统一开放的移动应用和开发平台,促进移动互联网的发展。 Android版本进化历程,参见教材p.3Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.3 Android包含什么包含什么 Android采用堆栈式软件架构,实现了从底层操作系统和顶层核心应用在内的丰富的功能集合,整个系统结构分为5个层次。如图所示。Android应用开发基础第1章 认识一下Android主讲教师:贾震斌Android应用开发基础第1
6、章 认识一下Android主讲教师:贾震斌1.3.1 Linux内核(内核(Linux Kernel) 最底层是Linux内核层,基于相当成熟的Linux 2.6提供核心系统服务,实现内存管理、进程管理、网络堆栈、驱动模型和安全管理等系统功能。其中驱动模型是硬件和软件之间的抽象层,隐藏具体硬件细节而为上层提供统一的服务,驱动模型包括:显示驱动、键盘和触控驱动、摄像头驱动、WiFi驱动、闪存驱动、音频驱动、Binder(IPC)驱动和电源管理等。Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.3.2 Android运行环境运行环境( Android Runtime )
7、 Android Runtime 为Android应用提供一个运行环境,包括核心库和Dalvik虚拟机两部分 Dalvik虚拟机用来运行Android应用实例,每一个Android应用程序都是Dalvik虚拟机中的实例,运行在它们自己的进程中。 Dalvik虚拟机设计成一个设备中可以高效地运行多个虚拟机实例。 Dalvik虚拟机的可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理机速度有限的系统 注意:核心库不同于J2SE标准库,可以看作是J2SE的子集,但并不承诺遵守Java规范,这也是Android设备通常不能安装、运行J2ME程序的原因Android
8、应用开发基础第1章 认识一下Android主讲教师:贾震斌1.3.3 库集合(库集合(Libraries) Android包含一个 C/C+ 库的集合,通过Android应用程序框架(Application Framework)提供给上层的Android应用,实现一些常用功能。这些库包括: 系统 C 库:标准 C 系统库(libc)的BSD衍生,改造为适合嵌入式Linux设备 媒体库:基于 PacketVideo 的OpenCORE,支持回放和记录主流的音频、视频和静态图像文件格式,包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG等 界面管理:管理显示子系统的访问,组合多个应
9、用程序的二维和三维图形层 LibWebCore:新式的Web浏览器引擎,驱动Android浏览器和内嵌的Web视图 SGL:底层的2D图形引擎 FreeType:位图和矢量字体渲染 SQLite:关系数据库引擎Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.3.4 应用框架应用框架(Application Framework) 作为一个开放的开发平台,应用框架使开发者能够很容易地开发功能强大的应用程序。开发者可以自由地利用所有的设备硬件资源、访问位置信息、运行后台服务、设置定时、向状态栏添加通知等。 应用框架包含以下组件: View组件:如Button、EditVi
10、ew、TextView、List等,这些组件可以创建用户交互界面。 Content Providers组件:允许不同应用程序之间实现数据共享。 ResourceManager:管理包括图像、用户界面(Layout XML)、字体、颜色、UI组件的ID等资源。 NotificationManager:在状态栏上提供消息提示。 ActivityManager:应用程序生命周期管理。 WindowManger:管理所有启动窗口。 LocationManger:地图服务相关管理。 TelephoneyManager:管理电话功能。 PackageManager:管理所有已安装的应用程序。Android
11、应用开发基础第1章 认识一下Android主讲教师:贾震斌1.3.5 应用(应用(Applications) 应用层包含所有核心应用程序,如电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。 基于Android SDK开发的应用程序。 第三方开发的应用程序可以替换Android自带的核心应用程序。Android应用开发基础第1章 认识一下Android主讲教师:贾震斌Android为什么采用分层的系统结构为什么采用分层的系统结构 从软件工程的角度来看,下层可以为上层提供统一的服务,屏蔽层内部的实现细节,当下层内部设计细节发生时不影响上层的设计,从而保证整个系统的架构稳定,也保证
12、了系统的可扩展性。Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.4 为什么选择为什么选择Android 巨大的市场前景 完全的开放特性 强大的应用支持 完整的产业链条Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.5 为什么不是为什么不是J2ME J2ME只是一个应用层的抽象平台,为高层应用提供统一的运行环境;Android是完整的操作系统,提供了包括操作系统内核、系统类库、运行环境和应用开发框架在内的完整的软件堆栈式构架; J2ME为了适应不同的硬件配置提供不同的配置和简表,为了满足不同的操作系统,只能实现应用层级别的抽象,难以访问底
13、层核心功能和资源,功能受到底层操作系统提供的API限制;Android实现从底层操作系统核心到高层应用的完整而统一的软件构架,打破J2ME所受的限制,可以访问系统核心功能和设备资源,保证了应用性能和效率,可以开发功能强大的应用。 Android的开发特性使用Android系统需要支持的设备各类非常多,因此在用户界面、硬件配置等方面开发过程相对复杂;销售模式和盈利渠道相对分散。Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.6 开发开发Android需要准备什么需要准备什么 1.6.1 需要掌握Linux吗 Android应用级程序开发采用Java语言,运行在Dalv
14、ik虚拟机中,并不需要直接操作Linux内核; Android系统采用Linux内核,掌握Linux操作系统原理和思想更有利于开发人员更好地理解Android系统运行过程,更好地理解Android应用与系统的关系,更好地掌握程序设计与调试技术; Android系统级开发必须掌握Linux操作系统构架。Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.6.2 需要掌握需要掌握Java吗吗 Android应用都是基于Java开发,掌握Java语言是开发Android应用的基础; Android应用对于Java语言的需求是主要体现在基本语法、核心类库API方面,桌面应用中Java语言的一些扩展功能对于Android应用并不需要, 相反Android系统中有自己特有SDK API库。Android应用开发基础第1章 认识一下Android主讲教师:贾震斌1.6.3 需要一部需要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 解除船舶租赁合同协议
- 订餐合同协议书范本
- 超市临时员工合同协议
- 计件合同协议标准版
- 2025年口腔医学专业考试试卷及答案
- 品牌顾问合同协议书范本
- 槟榔园出租合同协议
- 员工聘用合同协议模板
- 母女关系互换协议书模板
- 员工购房协议书范本
- 环境艺术设计职业生涯规划书
- 2025年java开发面试题及答案
- 广州市黄埔区教育局招聘事业编制教职员考试真题2024
- 国际经济学(下册国际金融)克鲁格曼-中文答案
- 2025年宁夏银川市唐徕中学南校区中考一模英语试题(原卷版+解析版)
- 全过程工程咨询投标方案(技术方案)
- 《住宅室内防水工程技术规范JGJ298-2013》
- 自然辩证法(2023修订版)课后思考题
- 复摆式颚式破碎机结构设计毕业设计
- IP-R-6005 离职知识产权提醒
- 番号-大桥未久
评论
0/150
提交评论