第一篇 Android 系统结构和 SDK 使用 5
Android 应用开发入门教程(经典版)电子书免费下载Linux公社
第 1 章 Android 的系统介绍 5
1.1系统介绍 5
1.2软件结构和使用的工具 7
第 2 章 Android SDK 的开发环境 10
2.1Android SDK 的结构 10
2.2Android SDK 环境安装 11
2.2.1.安装 JDK 基本 Java 环境。 11
2.2.2.安装 Eclipse 12
2.2.3.获得 Android SDK 12
2.2.4(1). 在 Eclipse 3.4(Ganymede)中安装 ADT 14
2.2.4(2). 在 Eclipse 3.5(Galileo)中安装 ADT 17
2.2.5. 在 Eclipse 中配置 Android SDK 20
2.3Android 中运行仿真器环境 21
2.3.1.建立 Android 虚拟设备 21
2.3.2.运行虚拟设备 22
2.3.3.使用 Android 中的工具 23
2.3.4.使用 logcat 24
2.3.5.使用仿真器控制 25
2.3.6.命令行工具 adb、mksdcard 等 26
2.3.7.使用设备控制 28
2.4Android 中建立工程 29
2.4.1.建立工程 29
2.4.2.查看和编辑各个文件 31
2.4.3.运行工程 33
第二篇 Android 应用程序的概述和框架 36
第 3 章 Android 应用层程序的开发方式 36
3.1应用程序开发的结构 36
3.2API 参考文档的使用 36
第 4 章 Android 应用程序示例 40
4.1HelloActivity 程序的运行 40
4.2HelloActivity 的源文件结构 41
4.2.1.Android.mk 文件 41
4.2.2.AndroidManifest.xml 文件 42
4.2.3.源代码文件 42
4.2.4.布局文件 43
4.2.5.其他资源文件 43
4.3HelloActivity 的编译结构 43
4.4SkeletonApp 的程序的运行 44
4.5SkeletonApp 的源文件结构 44
4.6SkeletonApp 的编译结构 46
第 5 章 Android 应用程序的内容 47
5.1Android 应用程序的概念性描述 47
5.1.1.应用程序的组成部分 47
5.1.2.应用程序的生命周期 48
5.2应用程序包含的各个文件 50
5.3使用 am 工具启动 Android 应用程序 51
2
第三篇 Android 的 UI 系统实现 53
第 6 章 UI 的基本外形和控制 53
6.1控件和基本事件的响应 53
6.1.1.事件响应方法 54
6.1.2.第二种响应方法 56
6.1.3.第三种响应方法 57
6.2键盘事件的响应 57
6.3运动事件的处理 59
6.4屏幕间的跳转和事件的传递 62
6.4.1.跳转的方法 62
6.4.2.带有返回值的跳转 63
6.5菜单的使用 66
6.6弹出对话框 67
6.6.1.提示信息和两个按钮的对话框 68
6.6.2.提示信息和三个按钮的对话框 69
6.6.3.列表项对话框 70
6.6.4.单选项和按钮对话框 70
6.6.5.复选项和按钮对话框 71
6.6.6.文本的按键对话框(使用布局文件) 72
6.7样式的设置 74
6.7.1.预定样式对话框 74
6.7.2.自定义样式对话框 74
6.7.3.窗口透明样式示例 75
第 7 章 控件(Widget)的使用 78
7.1Android 中控件的层次结构 78
7.2基本控件的使用 79
7.2.1.普通按钮 79
7.2.2.图像区域 80
7.2.3.图像按钮 82
7.2.4.进度条 83
7.2.5.多种控件 85
7.3自定义的视图 86
第 8 章 视图组(ViewGroup)和布局(Layout)的使用 89
8.1Android 的屏幕元素体系 89
8.2几种独立使用的视图组 90
8.2.1.网页视图 90
8.2.2.旋转按钮 91
8.2.3.文本切换器 93
8.2.4.图像切换器 94
8.3作为简单容器使用的视图组 95
8.3.1.单选按钮组 95
8.3.2.使用滚动条 96
8.4布局(Layout) 99
8.4.1.基本的布局内容 99
8.4.2.线性布局(LinearLayout) 100
8.4.3.相对布局(RelativeLayout) 101
8.4.4.表单布局(Table Layout) 103
8.5网格(Grid)视图组 103
3
8.6列表(List)视图组 107
8.7使用 Tab 组织 UI 109
第 9 章 2D 图形接口的使用 113
9.1使用 2D 图形接口的程序结构。 113
9.2图像、图形、文本的基本绘制 114
9.3文本的对齐方式 116
9.4使用路径效果(PathEffect) 118
9.5剪裁效果 119
9.6记录绘制的过程 121
9.7动画效果 123
第 10 章 OpenGL 3D 图形的使用 125
10.1使用 OpenGL 图形接口的程序结构。 125
10.2基本的绘制 126
10.3渲染器的实现 127
10.43D 动画效果的实现 129
Android 应用开发入门教程(经典版)
- 系统介绍
Android 是 Google 开发的基于 Linux 平台的、开源的、智能手机操作系统。Android 包括操作系统、中间件和应用程序,由于源代码开放,Android 可以被移植到不同的硬件平台上。
OHA(Open Handset Alliance,开放手机联盟),为 Google 与 33 家公司联手为 Android 移动平台系统的发展而组建的一个组织。
HTC 和 Google 合作推出了几款手机:G1、G2、Hero 和 Nexus One,其他的手机厂商也推出了几款 Android
手机,如下图所示:
图 G1、G2、Hero 和Nexus One 手机
围绕在 Google 的 Android 系统中,形成了移植开发和上层应用程序开发两个不同的开发方面。手机厂商从事移植开发工作,上层的应用程序开发可以由任何单位和个人完成,开发的过程可以基于真实的硬件系统,还可以基于仿真器环境。
Android 1.5 以前的仿真环境,Android 1.6 以后的仿真器环境如下所示:
图 Android 1.5 以前的仿真器环境
图 Android 1.6 以后的仿真器环境
作为一个手机平台,Android 在技术上的优势主要有以下几点:
- 全开放智能手机平台
- 多硬件平台的支持
- 使用众多的标准化技术
- 核心技术完整,统一
- 完善的 SDK和文档
- 完善的辅助开发工具
Android 的开发者可以在完备的开发环境中进行开发,Android 的官方网站也提供了丰富的文档、资料。这样有利于 Android 系统的开发和运行在一个良好的生态环境中。
- 软件结构和使用的工具
从宏观的角度来看,Android 是一个开放的软件系统,它包含了众多的源代码。从下至上,Android 系统分成 4 个层次:
- 第 1 层次:Linux 操作系统及驱动;
- 第 2 层次:本地代码(C/C++)框架;
- 第 3 层次:Java 框架;
- 第 4 层次:Java 应用程序。
Android 系统的架构如图所示:
图 Android 系统的架
Android 的第 1 层次由 C 语言实现,第 2 层次由 C 和/C++实现,第 3、4 层次主要由 Java 代码实现。
第 1 层次和第 2 层次之间,从 Linux 操作系统的角度来来看,是内核空间与用户空间的分界线,第 1 层次运行于内核空间,第 2、3、4 层次运行于用户空间。
第 2 层次和第 3 层次之间,是本地代码层和 Java 代码层的接口。
第 3 层次和第 4 层次之间,是 Android 的系统 API 的接口,对于 Android 应用程序的开发,第 3 层次以下的内容是不可见的,仅考虑系统 API 即可。
由于 Android 系统需要支持 Java 代码的运行,这部分内容是 Android 的运行环境(Runtime),由虚拟机和
Java 基本类组成。
对于 Android 应用程序的开发,主要关注第 3 层次和第 4 层次之间的接口。
除了软件本身的代码之外,Android 还提供了一系列工具来辅助系统开发,这些主要的工具包括:
- aapt(AndroidAsset Packaging Tool):用于建立 zip 兼容的包(zip、jar、apk),也可用于将资源编译到二进制的 assets。
- adb(AndroidDebug Bridge,Android 调试桥):使用 adb 工具可以在模拟器或设备上安装应用程序的.apk文件,并从命令行访问模拟器或设备。也可以用它把 Android 模拟器或设备上的应用程序代码和一个标准的调试器连接在一起。
- android 工具:android 工具是一个脚本,用于创建和管理 AndroidVirtual Devices (AVDs)。
- AIDL工具(Android Interface Description Language,Android 接口描述语言工具),AIDL 工具可以生成进程间接口的代码,诸如 Service 可能使用的接口。
- AVDs(AndroidVirtual Devices,Android 虚拟设备)
- 用于配置模拟器,模拟出类似的设备效果
- DDMS(DalvikDebug Monitor Service,Dalvik 调试监视器服务):这个工具集成了 Dalvik,能够在模拟器或者设备上管理进程并协助调试。可以使用它杀死进程,选择某个特定的进程来调试,产生跟踪数据,观察堆(heap)和线程信息,截取模拟器或设备的屏幕画面,还有更多的功能。
- dx:dx工具用于将.class 字节码(bytecode)转换为 Android 字节码(保存在.dex 文件中)这个字节码文件是给 Android 的 Java 虚拟机运行用的。
- Draw9-patch:Draw 9-patch 工具允许使用所见即所得(WYSIWYG)的编辑器轻松地创建 NinePatch 图形。
- Emulator(模拟器):模拟器是一个运行于主机上的程序,可以使用模拟器来模拟一个实际的 Android系统的运行,使用模拟器非常适合调试和测试应用程序。
- HierarchyViewer(层级观察器):层级观察器工具允许调试和优化用户界面。它用可视的方法把视图(view) 的布局层次展现出来,此外,还给当前界面提供了一个具有像素栅格(grid)的放大镜观察器。
- mksdcard:帮助创建磁盘映像(disk image),可以在模拟器环境下使用磁盘映像来模拟外部存储卡(例如
SD 卡)。Android 应用开发入门教程
- Monkey:Monkey是在模拟器或设备上运行的一个小程序,它能够产生随机的用户事件流,例如:点击
(click)、触摸(touch)、挥手(gestures),还包括一系列系统级事件。可以使用 Monkey 给正在开发的程序
做随机的但可重复的压力测试。
- sqlite3:sqlite3 工具能够方便地访问 SQLite数据文件,这是一个 sqlite 标准命令行工具。
- Traceview:这个工具可以将 Android应用程序产生的跟踪日志(trace log)转换为图形化的分析视图。
评论0