[转载]android的常用开发包
快速了解Android平台的一种方式是查看Java包的结构。因为Android源于标准的JDK发布版,所以了解受支持的内容和不受支持的内容非常重要。下面简短介绍一下Android SDK中重要的包。
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地图所需的类。
以上是一些重要的Android包。从这个列表可以看到Android核心平台的深度。
说明 总体而言,Android Java API包含40多个包和700多个类。
此外,Android还提供了java.*命名空间中的许多包。它们包括awt.font、io、lang、lang.annotation、 lang.ref、lang.reflect、math、net、nio、nio.channels、nio.channels.spi、 nio.charset、security、security.acl、security.cert、security.interfaces、 security.spec、sql、text、util、util.concurrent、util.concurrent.atomic、 util.concurrent.locks、util.jar、util.logging、util.prefs、util.regex和 util.zip。Android还包含javax命名空间中的以下包:crypto、crypto.spec、 microedition.khronos.egl、microedition.khronos.opengles、net、net.ssl、 security.auth、security.auth.callback、security.auth.login、 security.auth.x500、security.cert、sql、xml和xmlparsers。除了这些以外,它还包含来自 org.apache.http.*的许多包以及org.json、org.w3c.dom、org.xml.sax、org.xml.sax.ext、 org.xml.sax.helpers、org.xmlpull.v1和org.xmlpull.v1.sax2。总而言之,无数的包为针对手持设备编写应用程序提供了一个功能丰富的计算平台。