Android SDK中的核心包在frameworks/base/core/java/android中,下面是各个核心包的介绍。
android.app:实现Android的应用程序模型。主要的类包括Application(表示开始和结束语义),以及众多与Activity相关的类、控件、对话框、提醒和通知。
android.bluetooth:提供一些类来处理蓝牙功能。主要的类包括BluetoothAdapter、BluetoothDevice、BluetoothSocket、BluetoothServerSocket和BluetoothClass。可以使用BluetoothAdapter控制在本地安装的蓝牙适配器。例如,可以启用它、禁用它和启动发现流程。BluetoothDevice表示所连接的远程蓝牙设备。两个蓝牙套接字用于在设备之间建立通信。BluetoothClass表示所连接的蓝牙设备的类型。
android.content:实现ContentProvider概念。ContentProvider将数据访问从数据存储中抽象出来。这个包还实现了一些围绕Intent和Android URI(Uniform Resource Identifiers,统一资源标识符)的核心理念。
android.content.pm:实现与包管理器相关的类。包管理器知道各种权限、安装的包、安装的提供程序、安装的服务、安装的组件(比如Activity)和安装的应用程序。
android.content.res:用于访问结构化和非结构化资源文件。主要的类包括AssetManager(用于结构化资源)和Resources。
android.database:实现抽象数据库的理念。主要的接口是Cursor接口。
android.database.sqlite:实现android.database包中的概念,该包将SQLite用作物理数据库。主要的类包括SQLiteCursor、SQLiteDatabase、SQLiteQuery、SQLiteQueryBuilder和SQLiteStatement。但是,大部分交互操作将会与抽象android.database包中的类进行。
android.gesture:此包包含处理用户定义的手势所需的所有类和接口。主要的类包括Gesture、GestureLibrary、GestureOverlayView、GestureStore、GestureStroke和GesturePoint。Gesture是GestureStrokes和GesturePoints的集合。手势都收集在GestureLibrary中。手势库存储在GestureStore中。手势都具有名称,这样可以将其标识为动作。
android.graphics:包含类Bitmap、Canvas、Camera、Color、Matrix、Movie、Paint、Path、Rasterizer、Shader、SweepGradient和TypeFace。
android.graphics.drawable:实现绘制协议和背景图像,支持可绘制对象动画。
android.graphics.drawable.shapes:实现各种形状,包括ArcShape、OvalShape、PathShape、RectShape和RoundRectShape。
android.hardware:实现与物理照相机相关的类。照相机指的是照相机硬件,而android.graphics.Camera表示一种图形概念,与物理照相机完全无关。
android.location:包含类Address、GeoCoder、Location、LocationManager和LocationProvider。Address类表示简化的XAL(Extensible Address Language,可扩展地址语言)。GeoCoder可用于获取给定地址的纬度/经度坐标或给定纬度/经度坐标处的地址。Location表示纬度/经度。
android.media:包含类MediaPlayer、MediaRecorder、Ringtone、AudioManager和FaceDetector。MediaPlayer支持流媒体,用于播放音频和视频。MediaRecorder用于录制音频和视频。Ringtone类用于播放可用作铃声和提示音的短声音片段。AudioManager负责控制音量。可以使用FaceDetector在位图中检测人脸。
android.net:实现基本的套接字级网络API。主要的类包括Uri、ConnectivityManager、LocalSocket和LocalServerSocket。这里需要注意,Android在浏览器级和网络级提供了HTTPS支持。Android还支持在其浏览器中使用JavaScript。
android.net.wifi:管理WiFi连接。主要的类包括WifiManager和WifiConfiguration。WifiManager负责列出已配置的网络和目前处于活动状态的WiFi网络。
android.opengl:包含围绕OpenGL ES操作的实用程序类。主要的OpenGL ES类在来自JSR 239的一组不同的包中实现。这些包是javax.microedition.khronos.opengles、javax.microedition.khronos.egl和javax.microedition.khronos.nio。这些包都是围绕OpenGL ES的Khronos实现的瘦包装器,是使用C和C++编写的。
android.os:表示可通过Java编程语言访问的操作系统服务。一些重要的类包括BatteryManager、Binder、FileObserver、Handler、Looper和PowerManager。Binder类支持进程间通信。FileObserver监视对文件的更改。Handler类用于运行与消息线程有关的任务,Looper用于运行消息线程。
android.preference:使应用程序能够让用户以统一的方式管理它们针对该应用程序的首选项。主要的类包括PreferenceActivity、PreferenceScreen和各种由首选项派生出来的类,比如CheckBoxPreference和SharedPreferences。
android.provider:包含一组附加到android.content.ContentProvider接口的预先构建的CntentProvider。ContentProvider包括Contacts、MediaStore、Browser和Settings。这一组接口和类存储底层数据结构的元数据。
android.sax:包含一组高效的SAX(Simple API for XML,XML简单API)解析实用程序类。主要的类包括Element、RootElement和许多ElementListener接口。
android.speech:包含用于语音识别的常量。这个包只在1.5版和更新版本中提供。
android.speech.tts:提供从文本到语音转换的支持。主要的类是TextToSpeech。获取文本后,可以请求此类的一个实例来对要转换为语音的文本进行排队。可以使用大量回调来监控语音何时结束。Android使用来自SVOX的Pico TTS(Text to Speech,文本到语音转换)引擎。
android.telephony:包含类CellLocation、PhoneNumberUtils和TelephonyManager。Telep- honyManager可用于确定手机位置、电话号码、网络运营商名称、网络类型、电话类型和SIM(Subscriber Identity Module,用户身份模块)序列号。
android.telephony.gsm:可用于根据基站来收集手机位置,还包含负责处理SMS消息的类。这个包名为GSM,是因为全球移动通信系统是最初定义SMS数据消息标准的技术。
android.telephony.cdma:提供对CDMA电话的支持。
android.text:包含文本处理类。
android.text.method:提供为各种控件输入文本的类。
android.text.style:为各种文本提供多种样式设置机制。
android.utils:包含类Log、DebugUtils、TimeUtils和Xml。
android.view:包含类Menu、View、ViewGroup以及一系列监听器和回调。
android.view.animation:提供对补间动画的支持。主要的类包括Animation、一系列动画插值器,以及一组特定的动画绘制类,包括AlphaAnimation、ScaleAnimation、TranslationAnimation和RotationAnimation。
android.view.inputmethod:实现输入方法框架架构。这个包仅在1.5版及更新版本中提供。
android.webkit:包含表示Web浏览器的类。主要的类包括WebView、CacheManager和CookieManager。
android.widget:包含通常派生自View类的所有UI控件。主要的部件包括Button、Checkbox、Chronometer、AnalogClock、DatePicker、DigitalClock、EditText、ListView、FrameLayout、GridView、ImageButton、MediaController、ProgressBar、RadioButton、RadioGroup、RatingButton、Scroller、ScrollView、Spinner、TabWidget、TextView、TimePicker、VideoView和ZoomButton。
com.google.android.maps:包含类MapView、MapController和MapActivity,它们在本质上是处理Google地图所需的类。