Android Android
Android Android 中各种 JAVA JAVA JAVA JAVA 包的功能描述
在 Android 的应用程序开发中,通常使用的是 JAVA 语言,除了需要熟悉 JAVA 语 言的基础知识之外,还需要了解 Android 提供的扩展的 JAVA 功能。
在一般的 JAVA 应用中,如果需用引用基础类库,通常需要使用如下的方式:
import javax.swing.*;
以上代码表示了引用 JAVA 的 GUI 组件 Swing,javax.swing 即 JAVA 中的一个包。
android 提供一些扩展的 JAVA 类库,类库分为若干个包,每个包中包含若干个类。
重要包的描述:
android.app :提供高层的程序模型、提供基本的运行环境
android.content :包含各种的对设备上的数据进行访问和发布的类
android.database :通过内容提供者浏览和操作数据库
android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上.
android.location :定位和相关服务的类
android.media :提供一些类管理多种音频、视频的媒体接口
android.net :提供帮助网络访问的类,超过通常的 java.net.* 接口
android.os :提供了系统服务、消息传输、IPC 机制
android.opengl :提供 OpenGL 的工具
android.provider :提供类访问 Android 的内容提供者
android.telephony :提供与拨打电话相关的 API 交互
android.view :提供基础的用户界面接口框架
android.util :涉及工具性的方法,例如时间日期的操作
android.webkit :默认浏览器操作接口
android.widget :包含各种 UI 元素(大部分是可见的)在应用程序的屏幕中使用
4
Android Android
Android Android 的相关文件类型
Java Java
Java Java 文件--- --- --- ---应用程序源文件
android 本身相当一部分都是用 java 编写而成(基本上架构图里头蓝色的部份都是用 Java 开发的),android 的 应用必须使用 java 来开发。
Class Class Class
Class 文件---Java ---Java ---Java ---Java 编译后的目标文件
不像 J2se,java 编译成 class 就可以直接运行,android 平台上 class 文件不能直接在 android 上运行。由于 Google 使用了自己的 Dalvik 来运行应用,所以这里的 class 也肯定不能在 AndroidDalvik 的 java 环境中运行,android 的 class 文件实际上只是编译过程中的中间目标文件,需要链接成 dex 文件后才能在 dalvik 上运行。
Dex Dex
Dex Dex 文件---Android ---Android ---Android ---Android 平台上的可执行文件
Android 虚拟机 Dalvik 支持的字节码文件格式 Google 在新发布的 Android 平台上使用了自己的 Dalvik 虚拟机 来定义,这种虚拟机执行的并非 Java 字节码,而是另一种字节码:dex 格式的字节码。在编译 Java 代码之后 , 通过 Android 平台上的工具可以将 Java 字节码转换成 Dex 字节码。虽然 Google 称 Dalvik 是为了移动设备定 做的,但是业界很多人认为这是为了规避向 sun 申请 Javalicense。这个 DalvikVM 针对手机程式/CPU 做过最 佳化,可以同时执行许多 VM 而不会占用太多 Resource。
Apk Apk
Apk Apk 文件---Android ---Android ---Android ---Android 上的安装文件
Apk 是 Android 安装包的扩展名,一个 Android 安装包包含了与某个 Android 应用程序相关的所有文件。apk 文件将 AndroidManifest.xml 文件、应用程序代码(.dex 文件)、资源文件和其他文件打成一个压缩包。一个工 程只能打进一个.apk 文件。
5
Android Android
Android Android 的应用程序结构分析:HelloActivity
本例以一个简单的 HelloActivity 程序为例,简单介绍 Android 应用程序的源代码结构。事实 上,Android 应用程序虽然不是很复杂,但是通常涉及了 JAVA 程序,XML 文件,Makefile 多方面的内容。HelloActivity 虽然简单,但是麻雀虽小,五脏俱全,是学习 Android 应用程 序的最好示例。
第一部分:HelloActivity HelloActivity HelloActivity HelloActivity 的源代码
HelloActivity 工程的源代码在 Android 目录的 development/samples/HelloActivity/中,代码的 结构如下所示:
其中 tests 是一个独立的项目,可以暂时不考虑。其他部分看作一个 Android 的一应用程序 的工程。这个工程主要的组成部分如下所示:
AndroidManifest.xml:工程的描述文件,在运行时有用处 Android.mk:整个工程的 Makefile
development/samples/HelloActivity/
|-- Android.mk
|-- AndroidManifest.xml
|-- res
| |-- layout
| | `-- hello_activity.xml
| `-- values
| `-- strings.xml
|-- src
| `-- com
| `-- example
| `-- android
| `-- helloactivity
| `-- HelloActivity.java
`-- tests
|-- Android.mk
|-- AndroidManifest.xml
`-- src
`-- com
`-- android
`-- helloactivity
`-- HelloActivityTest.java