安卓实训指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安卓实训指导书
河北科技大学信息科学与工程学院二零一四年十二月
目录
前言
第一章认识一下安卓
第二章搭建Android应用开发环境第三章JAVA的基础知识
第四章Android开发实例详解
第五章Android应用开发实验
前言
Android目前完全可以用“炙手可热”这个词来形容,截至2011年5月,每天40万个Android设备被激活,全球Android开发者超过了45万,Android Maket应用数量超过30万,Android应用安装量超过了45亿次,这些数字足以让它成为当今移动互联网大潮中的弄潮儿。
由于Android的程序设计包含的内容实在太丰富,而且Android 系统版本也一直不断的更新,因此想通过几节课的时间来讲通Android的全部内容是不可能的。本次实训就是通过几节课的时间带领大家认识和学习Android程序设计中最基础和核心的东西。
第一章认识一下Android
1.1什么是Android
Android译为安卓或者安致一词,英文本义译为“机器人”,但真正让它一夜成名的是作为Google于2007年11月5日发布的基于Linux平台的开源移动操作系统的名称。
Android是一款完整的移动操作系统,它借用了Linux的内核作为自己的基础核心,实现了存储管理,设备管理,文件管理,进程管理,安全管理等操作系统的基本职能。尽管它借用了Linux的内核实现了操作系统的基本功能,但是作为操作系统的核心功能之一的设备管理,Android所依赖的底层硬件驱动并不遵循Linux的GPL规范。另外,它没有使用任何Linux的GUI方案。它的应用框架和GUI库都采用Java语言来实现因此,Android不应看作是Linux操作系统的分支。
1.2Android是一款开发平台
除了基本的操作系统功能外,Android还提供了一个强大的应用开发框架,以及一系列的应用开发和调试工具。开发人员可以轻松的开发各种移动应用。然而,在Android上运行的虚拟机不是Java虚拟机,而是经过改造的Dalvik虚拟机,相对于Java虚拟机,他的运行效率更加优化。在Dalvik内运行的不是Java编译后的字节码,而是一种后缀名为dex的内部格式。
1.3为什么推出Android
在移动互联网时代,将Google的服务植入到包括手机,平板电脑
在内的形形色色的移动设备是其终极目标。但当时的移动应用开发环境难以让Google满意。Windows Mobile是微软的,iOS是Apple的,Symbian是诺基亚的,这些移动操作系统都是封闭的,仅仅提供了有限的第三方开发人员使用,而且第三方应用的发布还受到认证签名等限制措施。为了打破这种封锁,推广自己的Google服务,开源的Android操作系统成为Google布局移动互联网的重要一步。Google在2005年收购了Android这家致力于移动终端开源操作系统的公司。然后在2007年主导建立了开放手机联盟(Open Handset Alliance,OHA),这个联盟集结了包括从芯片厂商到运营商等产业重要力量。2007年11月5日,OHA正式推出了Android1.0版本,它标志着一个新的时代的来临。
1.4Android的软件架构
Android采用堆栈式软件架构,实现了从底层操作系统和顶层核心应用在内的丰富的功能集合。整个系统的结构分为五个层次,如图1-1所示。
吧
图1-1
1.4.1Linux内核
最底层的是Linux内核层。Android基于Linux2.6提供核心系统服务,例如,安全、内存管理、进程管理、网络堆栈、驱动模型。其中Linux内核中的驱动模型作为硬件和软件之间的抽象层,他隐藏具体的硬件细节而为上层提供统一的服务。驱动程序模型包含以下常见的驱动程序:显示驱动、键盘和触控板驱动、摄像头驱动、WIFI驱动、闪存驱动、音频驱动、Binder(IPC)驱动和电源管理等。
1.4.2Android运行环境(Android Runtime)
Android Runtime为Android应用提供了一个运行环境。
它包括核心库和Dalvik虚拟机两部分。Dalvik虚拟机用来运行Android应用实例。Dalvik虚拟机的可执行文件格式是.dex,dex 格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik虚拟机依赖于Linux内核提供基本功能,如内存管理等。核心库为Android应用提供功能支持,它提供了Java 编程语言核心类库中的大部分功能。
1.4.3库集合(Libraries)
Android包含了一个C/C++库的集合,它们通过Android的应用程序框架(Application Framework)提供给上层的Android应用,帮助上一层应用实现一些常用的功能。这些库包括:系统C库、媒体库、界面管理、LibWebCore新式浏览器引擎、SGL底层2D图形引擎、3D库、FreeType、SQLite数据库。
1.4.4应用框架(Application Framework)
作为一个开放的开发平台,应用框架使开发者能够很容易的开发功能强大的应用程序。开发者可以自由的利用所有的设备硬件资源、访问位置信息、运行后台服务、设置定时、向状态栏添加通知,等等。
其中Content Providers(内容提供者):因为Android是基于Linux内核的,因此,不同于Windows下的应用,Android应用的数据都是私有的,不容许其他应用随便访问。而Content Provider 就是提供一种服务,通过这种服务应用程序之间可以实现数据的共享。ResourceManager:Android中的资源很多,包括图像,用户界面,字体,颜色,UI组件的ID等都可以称为资源,这些资源丰富,都是通过ResourceManager来统一进行管理的。NotificationManager(消息通知管理):它在不影响用户正常操作和使用设备的时候再状态栏上提供消息的提示。例如有短信息来的时候,Android会自动将这个消息提示在状态栏上,以便用户及时发现。ActivityManager(活动管理):管理应用程序的生命周期,并且控制着应用的导航,扮演控制器的角色。WindowsManager(窗口管理):管理所有的启动窗口。LocationManager(位置管理):管理地图服务相关功能。TelephoneyManager(电话管理):用来管理电话相关功能。PackageManager(包管理):管理所有的安装在Android系统内的应用程序。
1.4.5应用(Application)