1、Android系統構架html
Android系統從底向上一共分了4層,每一層都把底層實現封裝,並暴露調用接口給上一層。java
英文很差,那下面是簡單翻譯的版本:linux
Linux內核(LinuxKernel)android
Android運行在linuxkernel 2.6之上,可是把linux內受GNU協議約束的部分作了取代,這樣在Android的程序能夠用於商業目的。程序員
Linux內核是硬件和軟件層之間的抽象層。web
圖中咱們能夠看出驅動就是以C或彙編代碼來控制硬件並向上提供接口操做算法
中間件sql
中間件包括兩部分:核心庫和運行時(libraries& Android runtime)數據庫
核心庫包括,Android的核心庫主要是基於C\C++實現的一些原生組件,包括C庫Bionic、瀏覽器引擎Webkit、多媒體引擎OpenCORE、SQL數據庫SQLite、3D渲染引擎OpenGLES、位圖和字體矢量渲染引擎FreeType、2D圖像渲染引擎SGL(SkiaGraphics Library)、互聯網安全協議SSL和TSL等。apache
1,SurfaceManager
當系統同時執行多個應用程序時,Surface Manager會負責管理顯示與存取操做間的互動,另外也負責將2D繪圖與3D繪圖進行顯示上的合成。
2.多媒體框架(MediaFramework)
在Android中,在Android2.3之前,多媒體框架採用的是PacketVideo的OpenCORE平臺,OpenCORE支持多種視頻、音頻和圖像格式,並支持硬件、軟件編解碼器插件。在Android2.3中,正式引入了Stagefright框架。
3.SQLite
在數據庫方面,Android採用的是業界著名的SQLite數據庫,SQLite是一個輕量級的交互性數據庫,大小在500KB左右,目前主流的數據存儲後臺都是基於SQLite的。
4.OpenGLES
在Android中,3D圖形的渲染支持業界主流的OpenGLES 2.0規範。OpenGLES 2.0能夠有效的利用硬件來進行加速。在實際的操做中,軟件加速採用的是OpenGLES 1.1規範,硬件加速採用地是OpenGLES 2.0規範。
5.FreeType
FreeType是一個開源、免費、高質量的,且可移植的位圖和字體矢量渲染引擎。它提供了統一的接口來供上層訪問各類字體文件,包括TrueType、OpenType、Type1、CID、CFF、WindowsFON/FNT、X11PCF等。另外FreeType還支持單色位圖、反走樣位圖的渲染。須要說明的是FreeType雖然是基於ANSIC來進行開發的,但採用的倒是基於面向對象的設計思想,所以在可裁剪性上顯得比較靈活。
6.Webkit
在Android中,內置的瀏覽器是基於著名的開源瀏覽器引擎Webkit的,支持CSS、JavaScript、DOM、AJAX等特性,徹底遵照WWW規範,支持單欄和自適應視圖渲染等。Webkit是瀏覽器領域著名的引擎之一,GoogleChrome、AppleSafari、AppleIPhone、SymbianS60等瀏覽器均採用了該引擎。在瀏覽器的網頁渲染的速度和效果,以及對WWW國際標準上,瀏覽器引擎起着極其重要的做用。在目前的主流瀏覽器中,IE採用的是Trident引擎,firefox採用的是Gecko引擎,Opera採用的是Presto引擎,konqueror採用的是KHTML引擎。
7.SGL
SGL爲一個基於Skia的2D圖像渲染引擎,Google經過收購Skia公司得到了該技術,並將SGL應用在Chome瀏覽器和Android上。
8.SSL
Android對經常使用的互聯網安全協議提供了支持,支持的標準爲SecureSockets Layer 3.0和TransportLayer Security1.2。SSL被普遍地用於Web瀏覽器與服務器之間的身份認證和加密數據傳輸。TLS利用密鑰算法在互聯網上提供端點身份認證與通訊保密。)
9.Libc
在Android中,C庫並無採用桌面Linux所採用的GNULibc,而是採用了Google開發的基於BSD許可的Bionic庫。這是由於傳統的GNU內核在體積和運行效率上都不適合移動設備,其核心組件都是以動態庫的形式駐留在每一個進程中,運行效率和內存佔用都是十分重要的考慮。另外Google也但願C庫可以運行在用戶空間。
Bionic庫僅爲200KB大小,是GNULibc體積的一半,具備更高的效率、低內存佔用、很是快和小的線程實現、內置了對Android特有服務的支持等特色,配合通過優化的Dalvik,Bionic保證了Android的高性能。但須要注意的是Bionic不支持一些特性如Unicode、異常處理等。另外Bionic也和GNULibc不兼容,這會致使很多移植方面的問題。
Dalvik虛擬機:區別於Java虛擬機的是,每個Android應用程序都在它本身的進程中運行,都有一個屬於本身的Dalvik虛擬機,這一點可讓系統在運行時能夠達到優化,程序間的影響大大下降。Dalvik虛擬機並不是運行Java字節碼,而是運行本身的字節碼。
應用程序框架(ApplicationFramework)
豐富而又可擴展性的視圖(Views),能夠用來構建應用程序,它包括列表(lists),網格(grids),文本框(textboxes),按鈕(buttons),可嵌入的web瀏覽器。
內容提供者(ContentProviders)使得應用程序能夠訪問另外一個應用程序的數據(如聯繫人數據庫),或者共享它們本身的數據。
資源管理器(ResourceManager)提供非代碼資源的訪問,如本地字符串,圖形,和佈局文件(layoutfiles)。
通知管理器(NotificationManager)使得應用程序能夠在狀態欄中顯示自定義的提示信息。
活動管理器(ActivityManager)用來管理應用程序生命週期並提供經常使用的導航回退功能。
應用程序(Applications)
Android系統會內置一些應用程序包包括email客戶端,SMS短消息程序,日曆,地圖,瀏覽器,聯繫人管理程序等。全部的應用程序都是使用JAVA語言編寫的。
2、Android應用程序結構分析
接下來解析一個Android程序的各個組成部分,此次咱們拿一個Hello,World作例子,雖然只是一個Hello,World,但也是麻雀雖小五臟俱全,經過分析Hello,World的目錄結構,讓咱們對Android程序有一個總體全面的認識。
(HelloWorld顯示效果)
(HelloWorld目錄結構)
接下來咱們逐個部分加以講解:
1、Activity類MainHelloWorld文件淺析
Activity是Android中的視圖部分,負責界面顯示。
packagecom.example.test;
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.view.Menu;
publicclassMainActivity extendsActivity {
@Override
publicvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
publicbooleanonCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main,menu);
returntrue;
}
}
能夠看到MainActivity是Activity的子類,子類要重寫onCreate與onCreateOptionsMenu方法。setContentView(R.layout.main)方法是給Activity設置能夠顯示的視圖(View),視圖由R類負責尋找。而getMenuInflater().inflate(R.menu.activity_main,menu);方法是給Activity設置menu按鈕彈出的快捷目錄的
2、R文件淺析
咱們看到Gen目錄下有個R.Java文件,R文件由ADT自動生成,程序員不須要也不要去修改它,R文件負責調用應用程序中的非代碼資源。
packagecom.example.test;
publicfinalclassR {
publicstaticfinalclassattr {
}
publicstaticfinalclassdrawable {
publicstaticfinalintic_action_search=0x7f020000;
publicstaticfinalintic_launcher=0x7f020001;
}
publicstaticfinalclassid {
publicstaticfinalintmenu_settings=0x7f070000;
}
publicstaticfinalclasslayout {
publicstaticfinalintactivity_main=0x7f030000;
}
publicstaticfinalclassmenu {
publicstaticfinalintactivity_main=0x7f060000;
}
publicstaticfinalclassstring {
publicstaticfinalintapp_name=0x7f040000;
publicstaticfinalinthello_world=0x7f040001;
publicstaticfinalintmenu_settings=0x7f040002;
publicstaticfinalinttitle_activity_main=0x7f040003;
}
publicstaticfinalclassstyle {
publicstaticfinalintAppTheme=0x7f050000;
}
}
從R文件中能夠看到每個資源都會有一個整數和它相對應。
3、res/layout/activity_main.xml文件淺析– 佈局layout
咱們看到有個res目錄,也就是resource目錄,這個目錄下存放資源文件,資源文件的統一管理,也是Android系統的一大特點。如今要注意看的是layout目錄下的activity_main.xml。這個文件的內容是有關用戶界面佈局和設計的。在桌面程序設計領域採用XML也許比較新穎,可是在網頁設計領域,這個就很日常了。能夠用html來類比xml在佈局中的用途。
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/hello_world"
android:textColor="#FFFFFF"
tools:context=".MainActivity"/>
</RelativeLayout>
從以上代碼能夠看到整個程序界面由一個線性佈局控件(RelativeLayout)和1個文本框控件(TextView)組成。res的其餘目錄裏的其餘文件也都是相關的資源描述。
4、AndroidManifest.xml文件淺析
在每一個應用程序的根目錄都會有一個AndroidManifest.xml文件,該文件向Android操做系統描述了,本程序所包括的組件,所實現的功能,能處理的數據,要請求的資源等等。學過JavaWeb開發的能夠用Web應用程序裏的web.xml來類比這個AndroidManifest.xml文件。
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="15"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
咱們看到Manifest是根節點,節點屬性裏有versionCode和versionName來表示應用程序的版本;裏面能夠包含0個或1個application元素,application能夠包含多個activity組件等等,具體的內容咱們在接下來慢慢詳細講解。
5、Android.jar文件淺析
做爲一個Java項目,一般狀況下都會引入要用到的工具類,也就是Jar包,在Android開發中,絕大部分開發用的工具包都被封裝到一個叫Android.jar的文件裏了。若是咱們在Eclipse中展開來看,能夠看到j2se中的包,apache項目中的包,還有Android自身的包文件。
android |
包含在平臺和包括定義系統功能的應用程序的權限的應用程序使用的資源類。 |
android.accessibilityservice |
這個包中的類用於輔助服務的發展提供替代或加強反饋給用戶。 |
android.accounts |
|
android.animation |
這些類提供了屬性動畫系統,它容許你任何類型的對象屬性的動畫功能。 欲瞭解更多信息,請參閱 動畫指 南。 |
android.app |
包含高層次的類,封裝總體的Android應用程序模型。 提供基本的運行環境 |
android.app.admin |
提供系統級的設備管理功能,容許您建立安全感知應用程序是有用的,在企業設置,其中IT專業人員超過僱員裝置須要豐富的控制。 欲瞭解更多信息,請參閱 設備管理 指南。 |
android.app.backup |
包含備份和恢復功能的應用程序可用。若是用戶清除設備上的數據或升級到一個新的Android供電設備,已啓用的全部應用程序的備份能夠恢復之前的數據用戶的應用程序時從新安裝。 欲瞭解更多信息,請參閱數據備份指南。 |
android.appwidget |
包含必要的組件,以建立「應用程序部件」,用戶能夠嵌入在其餘應用程序(如主屏幕)快速訪問應用程序的數據和服務,而無需啓動一個新的活動。 欲瞭解更多信息,請參閱 應用部件的指南。 |
android.bluetooth |
提供管理類藍牙功能,如掃描設備,鏈接的設備,管理設備之間的數據傳輸。 有關更多信息,請參閱的 藍牙指南。 |
android.content |
包含類設備上的數據訪問和發佈。 |
android.content.pm |
包含用於訪問有關的應用程序包的信息,包括有關的活動,權限,服務,簽名,和供應商的信息類。 |
android.content.res |
訪問應用程序資源,如資產原始文件,顏色,可繪製,媒體或其餘包中的其餘文件,再加上重要的設備配置細節(方向,輸入類型等)的影響如何應用程序的行爲可能含有類。 欲瞭解更多信息,請參閱應用程序資源指南。 |
android.database |
包含的類,以探索經過內容提供商返回的數據。 |
android.database.sqlite |
包含SQLite數據庫管理類,應用程序將使用它來管理本身的私人數據庫。 |
android.drm |
提供類管理DRM內容和肯定的DRM插件(代理人)的能力。 |
android.gesture |
提供類創造,識別,加載和保存的手勢。 |
android.graphics |
提供低水平如畫布,顏色過濾器,點,讓你處理直接繪製到屏幕的矩形繪圖工具。 |
android.graphics.drawable |
提供類來管理各類各樣的視覺元素,僅用於顯示的,如位圖和梯度,。 |
android.graphics.drawable.shapes |
包含繪製幾何形狀的類。 |
android.hardware |
硬件功能,如攝像機和其餘傳感器,提供支持。 |
android.hardware.input |
|
android.hardware.usb |
Android的供電設備鏈接到USB硬件外設通訊提供支持。 有關詳細信息,請參閱 USB指南。 |
android.inputmethodservice |
寫輸入法(如軟件鍵盤)的基類。 |
android.location |
包含類定義Android的基於位置和相關服務。 欲瞭解更多信息,請參閱 位置和地圖指南。 |
android.media |
提供管理各類媒體音頻和視頻接口的類。 |
android.media.audiofx |
提供管理類媒體框架中實現的音頻效果。 |
android.media.effect |
提供類,讓您適用於各類圖像和視頻的視覺效果。 |
android.mtp |
提供API,讓你直接交互鏈接相機和其餘設備,使用PTP(圖片傳輸協議)的MTP(媒體傳輸協議)規範的子集。 |
android.net |
幫助網絡訪問超出了正常的java.net類。* API的。 |
android.net.http |
|
android.net.nsd |
|
android.net.rtp |
提供用於RTP(實時傳輸協議)的API,容許應用程序管理的需求或交互式數據流。 |
android.net.sip |
提供訪問,例如撥打和接聽VoIP電話使用SIP會話發起協議(SIP)功能。 欲瞭解更多信息,請參見 會話初始協議 開發指南「。 |
android.net.wifi |
提供類來管理Wi-Fi功能的設備。 |
android.net.wifi.p2p |
提供類來建立同行對等(P2P)鏈接與Wi-Fi直。 |
android.net.wifi.p2p.nsd |
|
android.nfc |
提供近場通訊(NFC)功能,容許應用程序讀取NFC標籤NDEF的消息。「標籤」,實際上多是做爲一個標記出現的另外一個設備。 欲瞭解更多信息,請參閱 近場通訊指南。 |
android.nfc.tech |
這些類提供了一個標記技術的特色,不一樣類型的標籤,掃描的訪問。 |
android.opengl |
提供OpenGL ES的靜態接口和公用事業。 |
android.os |
提供基本的操做系統服務,消息傳遞,設備上的進程間通訊。 |
android.os.storage |
包含系統存儲服務,資產管理二進制文件系統被稱爲不透明的二進制水滴(OBBs的)的類。 |
android.preference |
提供管理類應用的喜愛和實施的喜愛的UI。 |
android.provider |
提供方便的類訪問由Android提供的內容提供商。 |
android.renderscript |
Renderscript渲染和計算的API提供低級別的進行數學計算和3D圖形渲染,高性能的手段。 有關詳細信息,請參閱的 Renderscript開發指南。 |
android.sax |
一個框架,能夠很容易地編寫高效和穩健的SAX處理程序。 |
android.security |
|
android.service.textservice |
提供類,容許你建立相似的輸入法(IME的)框架的方式拼寫檢查。 |
android.service.wallpaper |
|
android.speech |
|
android.speech.tts |
|
android.support.v13.app |
支持類來訪問一些API 13級後在向後兼容的方式引進的android.app包功能。 |
android.support.v13.dreams |
支持類,以紓緩在向後兼容的方式實現夢想。 |
android.support.v4.accessibilityservice |
支持android.accessibilityservice班,以協助Android API的第4級或更高的應用程序的開發。 |
android.support.v4.app |
支持android.app班,以協助Android API的第4級或更高的應用程序的開發。 |
android.support.v4.content |
支持android.content班,以協助Android API的第4級或更高的應用程序的開發。 |
android.support.v4.content.pm |
支持android.content.pm班,以協助Android API的第4級或更高的應用程序的開發。 |
android.support.v4.database |
支持android.database班,以協助Android API的第4級或更高的應用程序的開發。 |
android.support.v4.net |
|
android.support.v4.os |
|
android.support.v4.util |
支持android.util班,以協助Android API的第4級或更高的應用程序的開發。 |
android.support.v4.view |
支持android.util班,以協助Android API的第4級或更高的應用程序的開發。 |
android.support.v4.view.accessibility |
訪問一些API級別4在一個向後兼容的方式推出後的android.view.accessibility包功能的支持類。 |
android.support.v4.widget |
支持android.widget類Android API的第4級或更高的應用程序,以協助發展。 |
android.telephony |
爲監測網絡類型和鏈接狀態,再加上電話號碼字符串操縱的工具,如手機基本信息的API。 |
android.telephony.cdma |
爲利用特定的CDMA電話功能的API。 |
android.telephony.gsm |
爲利用特定的GSM電話功能,如文字/數據/ PDU的SMS消息的API。 |
android.test |
編寫Android的測試案例和套房的框架。 欲瞭解更多信息,請參閱 測試開發指南。 |
android.test.mock |
實用工具類,提供各類Android框架積木存根或嘲笑。 有關詳細信息,請參閱 測試指南。 |
android.test.suitebuilder |
支持測試亞軍類的實用工具類。 |
android.text |
提供用於渲染或跟蹤屏幕上的文字和文字跨度類。 |
android.text.format |
這個軟件包包含一些文本格式定義類的替代類 |
android.text.method |
提供監視或修改鍵盤輸入的類。 |
android.text.style |
提供用於查看或更改視圖中的對象跨度文本的樣式類。 |
android.text.util |
工具,用於識別的文本字符串轉換成可點擊的連接和創造RFC 822型消息(SMTP)令牌。 |
android.util |
提供操縱日期/時間的base64編碼器和解碼器,字符串和數字轉換的方法,和XML的實用工具,例如常見的實用方法。 |
android.view |
提供公開處理屏幕布局和與用戶的交互的基本用戶界面類的類。 |
android.view.accessibility |
這個包中的類,用來表示查詢系統的全局可訪問狀態屏幕上的內容和它的變化,以及做爲原料藥。 |
android.view.animation |
提供類處理補間動畫。 |
android.view.inputmethod |
意見和輸入法(如軟鍵盤)之間的相互做用的框架類。 |
android.view.textservice |
|
android.webkit |
提供用於瀏覽網頁的工具。 |
android.widget |
Widget包包含使用您的應用程序屏幕上的UI元素(主要是視覺)。 |
dalvik.bytecode |
提供有關Dalvik字節碼的類。 |
dalvik.system |
提供實用工具和系統信息類特定的Dalvik虛擬機。 |
java.awt.font |
|
java.beans的 |
|
java.io |
|
java.lang中 |
|
java.lang.annotation的 |
|
java.lang.ref |
提供系統 |
java.lang.reflect |
|
java.math |
|
java.net |
|
java.nio的 |
|
java.nio.channels |
|
java.nio.channels.spi |
|
java.nio.charset |
|
java.nio.charset.spi |
|
java.security中 |
這個包是僅遺留代碼的兼容性,不該使用或預期作任何有用的。 |
java.security.acl |
這個包提供的類和接口須要創建訪問控制列表。 |
java.security.cert |
這個軟件包提供的全部類,並生成所需的全部接口,管理和驗證的X.509證書。 |
java.security.interfaces |
這個包提供了生成所需的接口:(1)密鑰使用RSA非對稱加密算法的PKCS#1標準;(2)(3)密鑰數字簽名算法(DSA)的FIPS-186中指定的鍵;爲通常的橢圓曲線非對稱加密算法。 |
java.security.spec |
這個包提供的類和接口,須要指定用於加密和簽名算法的密鑰和參數。 |
的java.sql |
訪問基於SQL的數據庫,提供了一個兼容接口。 |
java.text |
|
java.util中 |
|
java.util.concurrent中 |
在併發編程中很經常使用的實用工具類。 |
java.util.concurrent.atomic |
支持無鎖在單個變量的線程安全編程一類的小工具包。 |
java.util.concurrent.locks |
提供一個框架,鎖定和等待條件是從不一樣的內置同步和監視器的接口和類。 |
java.util.jar中 |
|
java.util.logging的 |
|
java.util.prefs |
|
java.util.regex |
|
java.util.zip |
|
javax.crypto |
此包提供了實施加密,解密或密鑰協議算法的加密應用程序的類和接口。 |
javax.crypto.interfaces |
這個包提供的接口須要實現的Diffie-Hellman(衛生署)PKCS#3指定的金鑰協議的算法。 |
javax.crypto.spec |
這個包提供的類和接口,須要指定用於加密的密鑰和參數。 |
javax.microedition.khronos.egl |
|
javax.microedition.khronos.opengles |
提供了一個標準的OpenGL接口。 |
javax.net |
此包提供建立套接字和服務器套接字工廠類。 |
javax.net.ssl |
這個包提供的類和接口,須要使用安全套接字層(SSL)協議的繼任者傳輸層安全(TLS)協議。 |
javax.security.auth |
|
javax.security.auth.callback |
此包提供與應用程序交互,以執行身份驗證和受權過程所需的類和接口。 |
javax.security.auth.login |
這個軟件包提供了一個可插拔和可堆疊的認證系統基於Unix-PAM模塊的思想和概念。 |
javax.security.auth.x500 |
這個包提供了所需的存儲X.500的校長和他們的憑據類。 |
javax.security.cert |
這個軟件包只提供兼容性的緣由。 |
javax.sql |
|
javax.xml |
提供有用的XML常量的一個實用工具類。 |
javax.xml.datatype |
XML / Java類型映射。 |
javax.xml.namespace |
XML命名空間處理。 |
javax.xml.parsers |
提供容許處理XML文檔的類。 |
javax.xml.transform |
此包定義了用於處理轉換指令,以及執行從源到成果轉化的通常API。 |
javax.xml.transform.dom |
此包實現特定於DOM的轉換API。 |
javax.xml.transform.sax |
此包實現特定於SAX2的轉換API。 |
javax.xml.transform.stream |
這個包實現數據流和特定URI的轉換API。 |
javax.xml.validation |
這個包提供了用於XML文檔驗證的API。 |
javax.xml.xpath |
這個包提供了一個對象模型中立的API XPath表達式的計算和訪問計算環境的評價。 |
junit.framework |
JUnit測試框架。 |
junit.runner |
實用工具類,支持JUnit測試框架。 |
org.apache.http |
HTTP組件的核心接口和類。 |
org.apache.http.auth |
客戶端對服務器的HTTP認證的API,一般被稱爲爲HttpAuth。 |
org.apache.http.auth.params |
參數配置HttpAuth。 |
org.apache.http.client |
爲客戶端的HTTP通訊和切入點的HttpClient API的模塊。 |
org.apache.http.client.entity |
|
org.apache.http.client.methods |
要求實現像各類HTTP方法GET和POST。 |
org.apache.http.client.params |
參數配置的HttpClient。 |
org.apache.http.client.protocol |
額外的請求和響應攔截。 |
org.apache.http.client.utils |
傭工和公用事業類的HttpClient。 |
org.apache.http.conn |
客戶端鏈接管理和處理API在什麼樣的核心是簡稱爲HttpConn「 。 |
org.apache.http.conn.params |
參數配置HttpConn。 |
org.apache.http.conn.routing |
客戶端的路由表明性和跟蹤API,部分HttpConn。 |
org.apache.http.conn.scheme |
|
org.apache.http.conn.ssl |
的TLS / SSL的具體零部件HttpConn的API。 |
org.apache.http.conn.util |
|
org.apache.http.cookie |
經過cookie客戶端狀態管理的API,俗稱爲HttpCookie。 |
org.apache.http.cookie.params |
參數配置HttpCookie。 |
org.apache.http.entity |
HTTP消息實體的表示。 |
org.apache.http.impl |
在接口的默認實現 |
org.apache.http.impl.auth |
|
org.apache.http.impl.client |
|
org.apache.http.impl.conn |
|
org.apache.http.impl.conn.tsccm |
執行一個線程安全的客戶端鏈接管理器。 |
org.apache.http.impl.cookie |
|
org.apache.http.impl.entity |
在接口中默認實現 |
org.apache.http.impl.io |
在接口的默認實現 |
org.apache.http.io |
傳輸層抽象的HTTP組件。 |
org.apache.http.message |
選擇一個HTTP |
org.apache.http.params |
HTTP組件的參數化框架。 |
org.apache.http.protocol |
HTTP協議的執行框架。 |
org.apache.http.util |
大多出於各類目的的靜態輔助方法的實用工具類。 |
org.json |
|
org.w3c.dom中 |
提供文檔對象模型級別2核心的官方W3C Java綁定。 |
org.w3c.dom.ls |
|
org.xml.sax |
這個包提供了核心SAX API的。 |
org.xml.sax.ext |
此包包含適合的SAX驅動程序不必定支持的SAX2設施的接口。 |
org.xml.sax.helpers |
此包包含「助手」類,其中包括對引導基於SAX的應用程序的支持。 |
org.xmlpull.v1 |
|
org.xmlpull.v1.sax2 |