Android的环境搭建
展开查看详情
1.Android 系统开发 —基础篇 (1) 2011 整理
2.第一章 Android 介绍
3.主要内容提要 Android 的发展历史 Android 的架构简介 Android 的主要特 点 Android 环境的搭建 问题答疑
4. Android 系统的发展历史 Android 早期由 “ Android 之父 ”之称的安迪 · 鲁宾创 办, Google 于2005年并购了成立不到 2 年的高科技 企业 Android ,展开了短信、手机检索、定位等业务, 基于 Linux 的通用平台进入了开发。 Google公司在2007年11月 5日正式公布这个操作系 统, 2008 年, Patrick Brady 于 Google I/O演讲 “ Anat omy & Physiology of an Android” ,并提出的 Androi d HAL 架构图。 HAL以 *.so 档的形式存在,可以把 An droid framework 与 Linux kernel 隔开。 2010 年 2 月 3 日, Linux 内核开发者 Greg Kroah-Hart man 将 Android 的驱动程序从 Linux 内核 “状态树 ” ( “ staging tree” )上除去,从此, Android 与 Linux 核心开发分道扬镳。 [
5.Android 系统的发展历史
6.Android 系统的发展历史
7.Android 系统的发展历史
8.Android 系统的发展历史
9. 结论 Android 颠覆了传统智能手机的概念,重 新诠释了什么是“智能手机” 开放、共享理念使其在短期内得到了很大 的发展(预计 2011 年末会达到市场占用 率第一) 为广大的 IT 爱好者提供了新的“赚钱”机 会。 未来几年是其发展期,精通 android 的开 发就有新的机遇。
10.第二章 Android 架构介绍
11.Android 架构简介
12. Android 简介 —应用程序 Android 以 Linux 为核心的移动开发平台,使用 Java 作为编程语言,使接口到功能,都有层出 不穷的变化 其中 Activity 等同于 J2ME 的 MIDlet , Activity 类负责创建视窗,一个活动中的 Activity 就是在 fo 最前的窗体,背后执行的程序叫做 Service 。 两者之间透过由 ServiceConnection 和 AIDL 连 结,达到程序同时执行的效果。如果执行中的 Activity 全部画面被其他 Activity 取代时,该 Act ivity 便被停止,甚至被系统清除。
13. Android 简介 —应用程序 View 等同于 J2ME 的 Displayable ,程序人员可以透过 Vi ew 类别与“ XML layout” 档将 UI 放置在视窗上, Android 1.5 的版本可以利用 View 打造出所谓的 Widgets ,其实 Widget 只是 View 的一种,所以可以使用 xml 来设计 layo ut , HTC的 Android Hero 手机即含有大量的 widget 。 至于 ViewGroup 是各种 layout 的基础抽象类别, ViewGr oup 之内还可以有 ViewGroup 。 View 的构造函数不需要 在 Activity 中调用,但是 Displayable 的是必须的,在 Acti vity 中,要通过 findViewById() 来从 XML 中取得 View , Android 的 View 类的显示很大程度上是从 XML 中读取 的。 View 与事件息息相关,两者之间透过 Listener 结合 在一起,每一个 View 都可以注册一个 event listener ,例 如:当 View 要处理用户触碰的事件时,就要向 Android 框架注册 View.OnClickListener 。 另外还有 Image 等同于 J2ME 的 BitMap 。
14. Android 简介 —中介软件 操作系统与应用程序的沟通桥梁,并用分为两层:函数层和虚拟机器。 Bionic 是 Android 改良 libc 的版本。 Android 同时包含了 Webkit ,所谓的 Webkit 就是 Google Chrome 浏览器背后的引擎。 Surface flinger 是就 2D 或 3D 的内容显示到 萤幕上。 Android 使用工具链为 Google 自制的 Bionic Libc 。 Android 采用 OpenCORE 作为基础多媒体框架。 OpenCORE 可分 7 大块: PVPl ayer 、 PVAuthor 、 Codec 、 PacketVideo Multimedia Framework(PVMF) 、 Op erating System Compatibility Library(OSCL) 、 Common 、 OpenMAX 。 Android 使用 Skia 为核心图形引擎,搭配 OpenGL/ES 。 Skia 与 Linux Cairo 功 能相当,但相较于 Linux Cairo, Skia 功能还只是阳春型的。 2005 年 Skia 公司被 Google 收购, 2007 年初, Skia GL 源码被公开,目前 Skia 也是 Google Chrome 的图形引擎。 Android 的多媒体资料库采用 SQLite 资料库系统。资料库又分为共用资料库及私 用资料库。用户可透过 ContentResolver 类别取得共用资料库。 Android 的中间层多以 Java 实现,并且采用特殊的 Dalvik 虚拟机器。 Dalvik 虚 拟机器是一种 “暂存器型态 ”的 Java 虚拟机器,变数皆存放于暂存器中,虚拟机器 的指令相对减少。 Dalvik 虚拟机器可以有多个实例,每个 Android 应用程序都用一个自属的 Dalvik 虚拟机器来执行,让系统在执行程序时可达到优化。 Dalvik 虚拟机器并非执行 Jav a 字节码,而是执行一种称为 .dex 格式的档案。
15. Android 简介 -- 硬件抽像层 Android 的硬件抽像层是能以封闭源码形式提供硬 件驱动模块。 HAL 的目的是为了把 Android frame work 与 Linux kernel 隔开,让 Android 不至过度 依赖 Linux kernel ,以达成 kernel independent 的 概念,也让 Android framework 的开发能在不考量 驱动程序的前提下进行发展。 HAL stub 是一种代理人的概念, stub 是以 *.so 档 的形式存在。 Stub 向 HAL“ 提供 ”操作函数,并由 Android runtime 向 HAL 取得 stub 的 operation s ,再 callback 这些操作函数。 HAL 里包含了许多 的 stub (代理人)。 Runtime 只要说明 “类型 ”, 即 module ID ,就可以取得操作函数。
16. Android 简介 -- 编程语言 Android 是执行于 Linux kernel 之上,但并不是 GNU/Linu x 。因为在一般 GNU/Linux 里支持的功能, Android 大都没 有支持,包括 Cairo 、 X11 、 Alsa 、 FFmpeg 、 GTK 、 Pa ngo 及 Glibc 等都被移除掉了。 Android 又以 bionic 取代 Gli bc 、以 Skia 取代 Cairo 、再以 opencore 取代 FFmpeg 等 等。 Android 为了达到商业应用,必须移除被 GNU GPL 授 权证所约束的部份, Android 并没有 user space driver 这 种东西。所有的 Driver 还是在 Kernel space 。并以 HAL 隔开版权问题。 bionic/libc/kernel/ 并非标准的 kernel head er files 。 Android 的 kernel header 是利用工具由 Linux ker nel header 所产生的,这样做是为了保留常数、资料结构与 宏。 目前 Android 的 Linux kernel 控制包括安全,存储器管理, 进程管理,网络堆叠,驱动程序模型等。下载 Android 源码之 前,先要安装其构建工具 Repo 来初始化源码。 Repo 是 And
17.第三章 Android 特性
18. Android 的主要特点 1.android 是什么? Android 是一个平台,主 关键应用 要包括 Linux 微内核, 中间件( SQLite 等), 中间件 关键应用(电话本、邮 件、短消息、 GoogleM Jvm ap 、浏览器等),提供 的 Java 框架,以及 An linux 内核 droid 中的 JVM
19. Android 的主要特点 2. 管理和控件类 视图( View ) ContentProviders (应用交互管理类) ResourceManager( 非编码资源管理类 ) NotificationManager (通告管理类) ActivityManager (生命周期管理类)
20. Android 的主要特点 3. 界面开发 可以利用 Java 组件进行界面开发 通过 xml 配置文件生成界面 UI
21. Android 的主要特点 4. 应用构成 Android 的应用一般由以下四个关键部分构成 Activity IntentReceiver Service ContentProvider 其中 Activity 是必要部分
22. Android 的主要特点 5. 布局管理 FrameLayout :左上角只显示一个组件。 LinearLayout :线性布局管理器,分为水平和垂直两种, 只能进行单行布局。 TableLayout :任意行和列的表格布局管理器。其中 Table Row 代表一行, TableRow 的每一个视图组件代表一个单 元格。 AbsoluteLayout :绝对布局管理器,坐标轴的方式,左上 角是( 0 , 0 )点,往右 x 轴递增,往下 Y 轴递增。 RelativeLayout :相对布局管理器,更具最近一个视图组 件,或是顶层父组件来确定下一个组件的位置。
23. Android 的主要特点 6.Activity 交互 Intent 方式 :Intent 其实就是用来在 Activity 之间做交互用的, 例如,有种叫 Intent.ACTION_CALL ,可直接拨打电话。 SharedPreferences 是 Android 平台上一个轻量级的存储类, 主要是保存一些常用的配置。 SharedPreferences 类似过去 W indows 系统上的 ini 配置文件,但是它分为多种权限,可以全 局共享访问,最终是以 xml 方式来保存,效率不如 Intent ,但 是由于可以共享,所以可以在 Acitivity 之间交互。但其效率比 SQLite 要高。 SQLite 也就是数据库,这种方式不推介,因为其效率问题,如 果是在不同应用之间交互,可以考虑 SQLite 。或是永久存储 的情况下。
24. Android 的主要特点 7. 生命周期 • 每一个 Android 应用都是以一个进程的方式运行 的,其生命周期不是由自身控制,而是由系统根 据运行的应用的一些特征来决定。 • 好的生命周期设计可提高应用的健壮性。比如应 用的初始化应该放到 onCreate 方法中,应用暂 停的时候应用重写 onPause 方法来保存当前应 用操作结果。
25. Android 的主要特点 8. 传统特性 可重用和可替换组件的程序应用框架 针对移动设备优化过的 Dalvik 虚拟机 集成了基于开源 Webkit 引擎的网页浏览器 经过优化过的自定义 2D 图形库和基于 OpenGL ES 1.0 库 可选硬件加速 SQLite 结构化的数据存储数据库 支持常规的音频视频多媒体格式,如 MPEG4 、 H.264 、 MP3 、 AA C 、 AMR 、 JPG 、 PNG 、 GIF GSM 电话 ( 硬件决定 ) 蓝牙、 GPRS-EDGE 、 3G 和 Wifi 无线网络 ( 硬件决定 ) 相机、 GPS 全球定位、导航和感应加速器 丰富的开发环境包含设备模拟器、工具、调试器、内存和性能分析工 具,以及 Eclipse 集成开发环境插件 所有源代码开放
26.第四章 Android 环境构建
27. Android 的环境搭建 1. 下载 JDK http://www.java.com/zh_CN/download/manual.jsp
28. Android 的环境搭建 2. 下载 Eclipse 开发工具
29. Android 的环境搭建 3. 下载 android SDK http://developer.android.com/sdk/index.html