Ubuntu下android學習——(2)Android系統構架分析和應用程序目錄結構分析

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++實現的一些原生組件,包括CBionic、瀏覽器引擎Webkit、多媒體引擎OpenCORESQL數據庫SQLite3D渲染引擎OpenGLES、位圖和字體矢量渲染引擎FreeType2D圖像渲染引擎SGLSkiaGraphics Library)、互聯網安全協議SSLTSL等。apache

      1,SurfaceManager

      當系統同時執行多個應用程序時,Surface Manager會負責管理顯示與存取操做間的互動,另外也負責將2D繪圖與3D繪圖進行顯示上的合成。

    2.多媒體框架(MediaFramework

      Android中,在Android2.3之前,多媒體框架採用的是PacketVideoOpenCORE平臺,OpenCORE支持多種視頻、音頻和圖像格式,並支持硬件、軟件編解碼器插件。在Android2.3中,正式引入了Stagefright框架。

    3SQLite

      在數據庫方面,Android採用的是業界著名的SQLite數據庫,SQLite是一個輕量級的交互性數據庫,大小在500KB左右,目前主流的數據存儲後臺都是基於SQLite的。

    4OpenGLES

      Android中,3D圖形的渲染支持業界主流的OpenGLES 2.0規範。OpenGLES 2.0能夠有效的利用硬件來進行加速。在實際的操做中,軟件加速採用的是OpenGLES 1.1規範,硬件加速採用地是OpenGLES 2.0規範。

    5FreeType

    FreeType是一個開源、免費、高質量的,且可移植的位圖和字體矢量渲染引擎。它提供了統一的接口來供上層訪問各類字體文件,包括TrueTypeOpenTypeType1CIDCFFWindowsFON/FNTX11PCF等。另外FreeType還支持單色位圖、反走樣位圖的渲染。須要說明的是FreeType雖然是基於ANSIC來進行開發的,但採用的倒是基於面向對象的設計思想,所以在可裁剪性上顯得比較靈活。

    6Webkit

      Android中,內置的瀏覽器是基於著名的開源瀏覽器引擎Webkit的,支持CSSJavaScriptDOMAJAX等特性,徹底遵照WWW規範,支持單欄和自適應視圖渲染等。Webkit是瀏覽器領域著名的引擎之一,GoogleChromeAppleSafariAppleIPhoneSymbianS60等瀏覽器均採用了該引擎。在瀏覽器的網頁渲染的速度和效果,以及對WWW國際標準上,瀏覽器引擎起着極其重要的做用。在目前的主流瀏覽器中,IE採用的是Trident引擎,firefox採用的是Gecko引擎,Opera採用的是Presto引擎,konqueror採用的是KHTML引擎。

    7SGL

    SGL爲一個基於Skia2D圖像渲染引擎,Google經過收購Skia公司得到了該技術,並將SGL應用在Chome瀏覽器和Android上。

    8SSL

      Android對經常使用的互聯網安全協議提供了支持,支持的標準爲SecureSockets Layer 3.0TransportLayer Security1.2SSL被普遍地用於Web瀏覽器與服務器之間的身份認證和加密數據傳輸。TLS利用密鑰算法在互聯網上提供端點身份認證與通訊保密。)

9Libc

Android中,C庫並無採用桌面Linux所採用的GNULibc,而是採用了Google開發的基於BSD許可的Bionic庫。這是由於傳統的GNU內核在體積和運行效率上都不適合移動設備,其核心組件都是以動態庫的形式駐留在每一個進程中,運行效率和內存佔用都是十分重要的考慮。另外Google也但願C庫可以運行在用戶空間。

Bionic庫僅爲200KB大小,是GNULibc體積的一半,具備更高的效率、低內存佔用、很是快和小的線程實現、內置了對Android特有服務的支持等特色,配合通過優化的DalvikBionic保證了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程序的各個組成部分,此次咱們拿一個HelloWorld作例子,雖然只是一個HelloWorld,但也是麻雀雖小五臟俱全,經過分析Hello,World的目錄結構,讓咱們對Android程序有一個總體全面的認識。



圖片

HelloWorld顯示效果)

圖片
HelloWorld目錄結構)

接下來咱們逐個部分加以講解:

1ActivityMainHelloWorld文件淺析

ActivityAndroid中的視圖部分,負責界面顯示。

    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;

}

}

能夠看到MainActivityActivity的子類,子類要重寫onCreateonCreateOptionsMenu方法。setContentView(R.layout.main)方法是給Activity設置能夠顯示的視圖(View),視圖由R類負責尋找。而getMenuInflater().inflate(R.menu.activity_main,menu);方法是給Activity設置menu按鈕彈出的快捷目錄的

2R文件淺析

咱們看到Gen目錄下有個R.Java文件,R文件由ADT自動生成,程序員不須要也不要去修改它,R文件負責調用應用程序中的非代碼資源。

  1. 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文件中能夠看到每個資源都會有一個整數和它相對應。

3res/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的其餘目錄裏的其餘文件也都是相關的資源描述。

4AndroidManifest.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是根節點,節點屬性裏有versionCodeversionName來表示應用程序的版本;裏面能夠包含0個或1application元素,application能夠包含多個activity組件等等,具體的內容咱們在接下來慢慢詳細講解。

5Android.jar文件淺析

做爲一個Java項目,一般狀況下都會引入要用到的工具類,也就是Jar包,在Android開發中,絕大部分開發用的工具包都被封裝到一個叫Android.jar的文件裏了。若是咱們在Eclipse中展開來看,能夠看到j2se中的包,apache項目中的包,還有Android自身的包文件。

android

包含在平臺和包括定義系統功能的應用程序的權限的應用程序使用的資源類。

android.accessibilityservice

這個包中的類用於輔助服務的發展提供替代或加強反饋給用戶。

android.accounts

android.animation

這些類提供了屬性動畫系統,它容許你任何類型的對象屬性的動畫功能。整數浮點數,十六進制的顏色值默認支持。你能夠動畫告訴系統,自定義類型的值如何計算任何其餘類型TypeEvaluator

欲瞭解更多信息,請參閱 動畫指 南。

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.widgetAndroid API的第4級或更高的應用程序,以協助發展。

android.telephony

爲監測網絡類型和鏈接狀態,再加上電話號碼字符串操縱的工具,如手機基本信息的API

android.telephony.cdma

爲利用特定的CDMA電話功能的API

android.telephony.gsm

爲利用特定的GSM電話功能,如文字/數據/ PDUSMS消息的API

android.test

編寫Android的測試案例和套房的框架。

欲瞭解更多信息,請參閱 測試開發指南。

android.test.mock

實用工具類,提供各類Android框架積木存根或嘲笑。

有關詳細信息,請參閱 測試指南。

android.test.suitebuilder

支持測試亞軍類的實用工具類。

android.text

提供用於渲染或跟蹤屏幕上的文字和文字跨度類。

android.text.format

這個軟件包包含一些文本格式定義類的替代類java.utiljava.text

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

提供系統ReferenceQueue實施以及不一樣形式的參考對象,實行垃圾收集器上的特殊行爲。

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非對稱加密算法的PKCS1標準;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(衛生署)PKCS3指定的金鑰協議的算法。

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方法GETPOST

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的具體零部件HttpConnAPI

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

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.entity

org.apache.http.impl.io

在接口的默認實現 org.apache.http.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

相關文章
相關標籤/搜索