版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
《手機平臺應用開發(fā)》全冊配套課件手機平臺應用開發(fā)Internet3/48課程介紹1、課程學習的目標和意義2、課程學習方法3、參考資源云端數(shù)據(jù)和服務AndroidIOS兩種開發(fā)架構AndroidIOS系統(tǒng)架構基于Java虛擬機基于UNIX系統(tǒng)安全性安全性略低安全、穩(wěn)定開發(fā)語言JavaObjectiveC,Swift是否開源開源不開源設備的種類各類手機和嵌入式設備iPhone/iPad等用戶人群大量用戶群體消費能力較高用戶支撐企業(yè)GoogleApple應用商店各類安卓市場AppStore(08年上線)移動終端時代的典型產(chǎn)品線IOS終端Android終端WeChat入口Web終端SwiftJavaHTML+Javascript遠程數(shù)據(jù)和服務:PHP、JavaEE、Python等數(shù)據(jù)存儲:MySQL、Storage等合一的探索:TitaniumSDK發(fā)展:基于javascript的統(tǒng)一平臺8/48實踐目標:云服務支持的移動應用開源的移動app開發(fā)彼此開源、相互學習互助測試&迭代云端基礎數(shù)據(jù)服務將用戶數(shù)據(jù)的所有權歸還給用戶建立人人共享的開源數(shù)據(jù)服務技術研究論文前端、服務器端均可在自己的項目中實現(xiàn)了,或是能夠?qū)崿F(xiàn)個人演示&講解9/48課程學習方法注重&研究交互設計面向用戶的敲門磚,仔細測試用戶體驗整體性思維從數(shù)據(jù)表的設計,到服務器端接口,到客戶端交互有計劃的實踐踏出第一步,你會發(fā)現(xiàn)驚喜互相開源,互相分享技能,互相測試保持良好學習心態(tài)循序漸進,不放過細節(jié)為了實現(xiàn)內(nèi)心中一份愛的事業(yè)10/48參考資源網(wǎng)上獲取知識//////參考書籍《Android開發(fā)藝術探索》《ModernPHP》《javascript高級程序設計》《JavaRESTfulWebService實戰(zhàn)》第一章Android基礎入門Android體系結構Android開發(fā)環(huán)境搭建開發(fā)第一個Android程序?學習目標通信技術Android體系結構3重點了解掌握2Android程序結構Android程序打包過程Android開發(fā)環(huán)境搭建HelloWorld程序的編寫1
目錄Android簡介1.1?點擊查看本小節(jié)知識架構Android開發(fā)環(huán)境搭建
1.2?點擊查看本小節(jié)知識架構開發(fā)第一個Android程序1.3?點擊查看本小節(jié)知識架構本章小結1.4
知識架構1.1Android簡介返回目錄1.1.1通信技術1.1.3Android體系結構1.1.2Android起源Dalvik虛擬機1.1.4
知識架構1.2Android開發(fā)環(huán)境搭建返回目錄1.2.1ADTBundle開發(fā)工具集合1.2.3DDMS的使用1.2.2Android調(diào)試橋(ADB)
知識架構1.3開發(fā)第一個Android程序返回目錄1.3.1案例——HelloWorld程序1.3.3Android程序打包過程Android程序結構1.3.21.1Android簡介什么是Android?Android本意指“機器人”,Google公司將Android的標識設計為一個綠色機器人,
表示Android系統(tǒng)符合環(huán)保概念,是一個輕薄短小,功能強大的移動系統(tǒng),是第一個真正為手機打造的開放性系統(tǒng)。1.1Android簡介1.1Android簡介1.1.1通信技術第一代通信技術(1G):是指最初的模擬、僅限語音的蜂窩電話標準。第二代通信技術(2G):是指第2代移動通信技術,代表為GSM,以數(shù)字語音傳輸技術為核心。第三代通信技術(3G):是指將無線通信與國際互聯(lián)網(wǎng)等多媒體通信結合的新一代移動通信系統(tǒng)。第四代通信技術(4G):又稱IMT-Advanced技術,它包括了TD-LTE和FDD-LTE。1.1Android簡介1.1.2Android起源Android一詞最早出現(xiàn)于法國作家利爾亞當在1886年發(fā)表的科幻小說《未來夏娃》中,將外表像人的機器起名為Android。Android操作系統(tǒng)最初是由安迪·羅賓(AndyRubin)開發(fā)出的,2005年被Google收購,并于2007年11月5日正式向外界展示了這款系統(tǒng)。2008年9月發(fā)布Android第1個版本Android1.1。Android系統(tǒng)一經(jīng)推出,版本升級非???,幾乎每隔半年就有一個新的版本發(fā)布。從Android1.5版本開始,Android用甜點作為系統(tǒng)版本的代號。2009年4月30日,Android1.5Cupcake(紙杯蛋糕)正式發(fā)布。2009年9月5日,Android1.6Donut(甜甜圈)版本發(fā)布。1.1Android簡介1.1.2Android起源界面演進1.1Android簡介1.1.3Android體系結構1.1Android簡介1.1.4Dalvik虛擬機Dalvik是Google公司自己設計用于Android平臺的虛擬機,它可以簡單的完成進程隔離和線程管理,并且可以提高內(nèi)存的使用效率。基于架構基于棧架構基于寄存器架構JVM(jdkjavac)文件格式.java.class.jar.java.class.dex.odexDalvikVM(sdkdex)1.2Android開發(fā)環(huán)境搭建1.2.1ADTBundle開發(fā)工具集合到“/sdk/index.html”網(wǎng)址,下載相應的版本的ADTBundle。將ADTBundle解壓后,會看到eclipse目錄、sdk目錄和SDKManager.exe。1.2Android開發(fā)環(huán)境搭建1.2.2Android調(diào)試橋(ADB)Android調(diào)試橋指的就是adb.exe工具(AndroidDebugBridge簡稱ADB),存在于SDK的platform-tools目錄中,允許開發(fā)人員與模擬器或者連接的Android設備進行通信。ADB常見命令adbstart-server:開啟adb服務adbdevice:列出所有設備adblogcat:查看日志adbkill-server:關閉adb服務
adbshell:掛載到Linux的空間
1.2Android開發(fā)環(huán)境搭建1.2.3
DDMS的使用DDMS全稱DalvikDebugMonitorService,它是Android開發(fā)環(huán)境中Dalvik虛擬機調(diào)試監(jiān)控服務。DDMS作為IDE、emultor、真機之間的橋梁,將捕捉到終端的ID通過ADB建立調(diào)試橋,從而實現(xiàn)發(fā)送指令到測試終端的目的。小計算如果VGA分辨率指的是640*480,那么,HVGA(H表示half)表示什么分辨率?320*240?320*480?QVGAQ代表quarter,即1/4240*320WVGA800*480SVGA,WSVGA800*600,1024*6001.3開發(fā)第一個Android程序1.3.1案例——HelloWorld程序任何一門語言編寫的第一個程序毫無疑問的都是HelloWorld,當然我們也不例外,本小節(jié)就教大家如何編寫一個HelloWorld程序,以及了解Android項目的結構。1.3開發(fā)第一個Android程序1.3.2Android程序結構Android程序創(chuàng)建時,eclipse就為其構建了基本結構,設計者可以在此結構上開發(fā)應用程序,因此,掌握Android程序的結構是很有必要的。1.3開發(fā)第一個Android程序1.3.3Android程序打包過程Android程序開發(fā)完成后,如果要發(fā)布到互聯(lián)網(wǎng)上供別人使用,就需要將自己的程序打包成正式的Android安裝包文件(AndroidPackage簡稱APK),其后綴名“.apk”。使用runas也能生成一個apk安裝包,但是使用runas生成的是測試的安裝包,只供開發(fā)者自己測試使用。1.4本章小結本章主要講解了Android的基礎知識,首先介紹了Android的起源以及體系結構,然后講解Android開發(fā)環(huán)境的搭建,最后通過一個HelloWorld程序來講解如何開發(fā)Android程序。本章的知識作為Android開發(fā)者的入門知識,要求初學者對Android開發(fā)有個簡單的了解,方便學習后面的知識。33/48再會!下一章:AndroidUI開發(fā)新學期進步!教師:金星辦公室:逸夫樓C326電話Q:65149264手機平臺應用開發(fā)?學習目標3國際化重點了解掌握2樣式和主題布局的類型程序調(diào)試1在Android應用中,UI(UserInterface)界面是人與手機之間數(shù)據(jù)傳遞、交互信息的重要媒介和對話接口。Android程序開發(fā)最重要的一個環(huán)節(jié)就是界面處理,界面的美觀度直接影響用戶的第一印象,因此,開發(fā)一個整齊、美觀的界面是至關重要的。2.1UI概述2.1UI概述Android應用的界面是由View和ViewGroup對象構建而成的。View類是Android系統(tǒng)平臺上用戶界面表示的基本單元,View的一些子類被統(tǒng)稱為Widgets(工具),它們提供了諸如文本輸入框和按鈕之類的UI對象的完整實現(xiàn)。ViewGroup是View的一個擴展,它可以容納多個View,通過ViewGroup類可以創(chuàng)建有聯(lián)系的子View組成的復合控件。2.2布局文件的創(chuàng)建在Android應用程序中,界面是通過布局文件設定的。布局文件采用XML格式,每個應用程序默認包含一個主界面布局文件,該文件位于項目的“res/layout”目錄中。
Android中有幾種布局?2.3布局的類型Android中的布局如下:LinearLayoutRelativeLayoutTableLayoutGridLayoutFrameLayoutAbsoluteLayout2.3布局的類型控件盒子模型一般控件屬性marginandroid:layout_marginTopandroid:layout_marginBottomandroid:layout_marginLeftandroid:layout_marginRight如果四面是相同的android:layout_marginpaddingandroid:paddingTopandroid:paddingBottomandroid:paddingLeftandroid:paddingRightandroid:background"#aa0000""@drawable/some"如果四面是相同的android:padding增強編程環(huán)境的自動提示功能XML粘貼到里面:<=:.abcdefghijklmnopqrstuvwxyz(,Alt+/:自動補全快捷鍵java粘貼到里面:.abcdefghijklmnopqrstuvwxyz(,Ctrl+1:快速修復Android有沒有Border?沒有提供。使用backgroundandroid:background只要是drawable均可drawable包括圖片和長方形等矢量圖案。<shapexmlns:android="/apk/res/android"><strokeandroid:width="1dp"android:color="#f00"/></shape>單位px:1個像素,不建議使用這個單位PPI(DPI):Pixels(Dots)perinch,屏幕上每英寸有多少個像素。dp:Density-independentpixels,dp*ppi/160=pxsp:Scale-independentpixels,安卓的字體單位不同屏幕分辨率ldpi低分辨率120dpi1dp=0.75pxmdpi標準分辨率160dpi1dp=1pxhdpi高分辨率240dpi1dp=1.5pxxhdpi超高分辨率320dpi1dp=2px真實手機的DPI計算屏幕分辨率測試shapeImageView、ImageButton等控件android:src設置View的drawable(如圖片,也可以是顏色,但是需要指定View的大小)TextView等控件android:backgroundShape的子節(jié)點gradient--對應顏色漸變。solid--填充。stroke--描邊。corners--圓角。padding--定義內(nèi)容離邊界的距離。圓角按鈕背景shape代碼節(jié)選<shapeandroid:shape="rectangle"><cornersandroid:topLeftRadius="5dp"android:bottomLeftRadius="5dp"android:topRightRadius="0.1dp"android:bottomRightRadius="0.1dp"/><strokeandroid:width="0.5dp"android:color="#0000ff"/><solidandroid:color="#00ffff"/></shape>其他控件屬性android:gravitytop,bottom,left,right,center,center_vertical,center_horizontalandroid:ignoreGravityandroid:layout_gravity區(qū)別前兩者是對內(nèi)容的限定后者是相對父元素限定android:scaleType設置圖片適配控件尺寸的不同方式。2.3.1相對布局(RelativeLayout)。在Eclipse中開發(fā)Android程序時,默認采用的就是相對布局。相對布局通常有兩種形式,一種是相對于容器而言的,一種是相對于控件而言的。2.3布局的類型第一類:屬性值為true或falseandroid:layout_centerHorizontal水平居中android:layout_centerVertical垂直居中android:layout_centerInparent相對于父元素完全居中android:layout_alignWithParentIfMissing如果對應的兄弟元素找不到的話就以父元素做參照物android:layout_alignParentBottom貼緊父元素的下邊緣android:layout_alignParentLeft貼緊父元素的左邊緣android:layout_alignParentRight貼緊父元素的右邊緣android:layout_alignParentTop貼緊父元素的上邊緣第二類:屬性值必須為id的引用名“@id/id-name”android:layout_below在某元素的下方android:layout_above在某元素的上方android:layout_toLeftOf在某元素的左邊android:layout_toRightOf在某元素的右邊android:layout_alignTop本元素的上邊緣和某元素的的上邊緣對齊android:layout_alignLeft本元素的左邊緣和某元素的的左邊緣對齊android:layout_alignBottom本元素的下邊緣和某元素的的下邊緣對齊android:layout_alignRight本元素的右邊緣和某元素的的右邊緣對齊2.3布局的類型2.3.2線性布局(LinearLayout)線性布局是Android中較為常用的布局方式,它使用<LinearLayout>標簽表示。線性布局有兩種方式指定控件位置,一種是水平方向,一種是豎直方向。
屬性android:orientation布局的方向layout_weight相對大小取值:一個非負整數(shù)值線性布局會根據(jù)該控件layout_weight值與其所處布局中所有控件layout_weight值之和的比值為該控件分配占用的區(qū)域。注意:如果layout_weight指為0,控件會按原大小顯示,不會被拉伸。2.3布局的類型2.3.3表格布局(TableLayout)表格布局就是讓控件以表格的形式來排列組件的,只要將組件或信息放在單元格中,控件就可以整齊的排列。
在TableLayout中,行數(shù)由TableRow對象控制的,即布局中有多少TableRow對象,就有多少行。2.3布局的類型
2.3.4網(wǎng)格布局(GridLayout)網(wǎng)格布局是Android4.0新增的布局,它實現(xiàn)了控件的交錯顯示,能夠避免因布局嵌套對設備性能的影響,更利于自由布局的開發(fā)。網(wǎng)格布局用一組無限細的直線將繪圖區(qū)域分成行、列和單元,并指定控件的顯示區(qū)域和控件在該區(qū)域的顯示方式。2.3布局的類型
腳下留心:由于GridLayout是Android4.0之后有的新功能,如果要在項目中使用這種布局,需要把SDK的最低版本指定為Android4.0(API14)以上。AndroidManifest.xml中,配置SDK兼容的最低版本和最高版本示例代碼如下:
<uses-sdkandroid:minSdkVersion="14"android:targetSdkVersion="17"/>2.3布局的類型
2.3.5幀布局(FrameLayout)幀布局為每個加入其中的控件創(chuàng)建一個空白區(qū)域(稱為一幀,每個控件占據(jù)一幀)。采用幀布局設計界面時,只能在屏幕左上角顯示一個控件,如果添加多個控件,這些控件會按照順序在屏幕的左上角重疊顯示,且會透明顯示之前控件的文本。
2.3布局的類型
2.3.6絕對布局AbsoluteLayout絕對布局需要通過指定x、y坐標來控制每一個控件的位置,放入該布局的組件需要通過android:layout_x和android:layout_y兩個屬性指定其準確的坐標值,并顯示在屏幕上。2.3布局的類型
2.3.6絕對布局(AbsoluteLayout)絕對布局多用于游戲開發(fā)中,由于多分辨率兼容麻煩,絕對布局在Android1.5后被Google棄用,因此應用開發(fā)一般情況下不推薦使用絕對布局。2.3布局的類型
2.3.7案例——用戶注冊接下來通過一個用戶注冊的案例演示相對布局和線性布局的使用。2.4樣式和主題2.4.1樣式和主題的使用Android系統(tǒng)中,包含了很多定義好的樣式和主題,這些樣式和主題用于定義布局顯示在界面上的風格。下圖就是一幅設置了窗口化主題的應用。2.4樣式和主題2.4.2案例——自定義樣式和主題盡管Android系統(tǒng)提供了很多樣式和主題,但有時這些效果并不能滿足實際需求,此時還可以自定義樣式或者主題。自定義樣式和主題的步驟如下:
1)在res/values目錄創(chuàng)建樣式文件style.xml,添加<resources>根節(jié)點。
2)在<resources>節(jié)點中添加一個<style>節(jié)點,并在該節(jié)點中為樣式或
主題定義一個名稱。3)在<style>節(jié)點中聲明一個或多個<item>,每個<item>節(jié)點需要定義一
個屬性名,并在元素內(nèi)部設置這個屬性的值。2.4樣式和主題2.4.2案例——自定義樣式和主題接下來通過一個具體的案例來演示如何自定義樣式和主題。2.5國際化2.5國際化國際化是指軟件開發(fā)時,應該具備支持多種語言和地區(qū)的功能,為不同國家和地區(qū)的用戶,提供符合來訪者閱讀習慣的頁面或數(shù)據(jù)。由于國際化Internationalization這個單詞的首字母“I”和尾字母“N”之間有18個字符,因此國際化被簡稱為I18N。為了提供不同語言版本,開發(fā)者只需要在res目錄下新建對應的values文件夾。2.5國際化2.5國際化接下來通過一個案例I18N來展示圖片、文字的國際化。I18N實現(xiàn)了在系統(tǒng)設置頁面切換不同國家語言,在程序界面展示不同國家的國花以及文字。2.6程序調(diào)試2.6.1Junit單元測試JUnit是一個測試框架,它是Android
SDK1.5加入的自動化測試功能。在完成某個功能后對該功能進行單獨測試,而不需要把程序安裝到手機或模擬器中進行測試,這樣會大大提高程序開發(fā)的準確性。JUnit單元測試既可以嵌入到項目中,也可以作為一個單獨的項目,針對某個項目進行測試。具體步驟如下:1)配置JUnit環(huán)境2)創(chuàng)建測試類3)運行測試 2.6程序調(diào)試2.6.2LogCat使用LogCat用于輸出Android程序中的日志信息。它支持五種輸出方式,級別由低到高分別是:Verbose(V):
顯示全部信息,黑色Debug(D):
顯示調(diào)試信息,藍色Info(I):
顯示一般信息,綠色Warming(W):顯示警告信息,橙色Error(E):
顯示錯誤信息,紅色2.6程序調(diào)試2.6.2LogCat使用由于LogCat中輸出的信息多而繁雜,找到所需要的Log信息會比較困難,因此可以使用過濾器,過濾掉不需要的信息,點擊加號,彈出LogCat信息過濾框。2.6程序調(diào)試2.6.3Toast的使用Toast會顯示一個小消息告訴用戶一些必要信息,該消息在短時間內(nèi)自動消失,不會干擾用戶操作。Toast組件有兩個方法makeText()和show(),其中makeText()方法用于設置需要顯示的字符串,show()方法顯示消息框。Toasttoast=Toast.makeText(Context,Text,Time);toast.show();簡寫形式如下:Toast.makeText(context,"這是彈出消息!",0).show();2.6程序調(diào)試2.6.3Toast的使用接下來在程序中創(chuàng)建一個Toast顯示“這是彈出消息!”,示例代碼如下:
Toast.makeText(MainActivity.this,"這是彈出消息!",Toast.LENGTH_SHORT).show();2.7本章小結本章主要講解了Android中的布局、樣式和主題、國際化、程序調(diào)試等知識。本章所講解的內(nèi)容在實際開發(fā)中非常重要,基本上每個Android程序都會使用到這些內(nèi)容,因此要求初學者必須熟練掌握,為后面的學習做好鋪墊75/48再會!下一章:Activity循序漸進!第三章ActivityActivity生命周期Activity的啟動模式顯式意圖和隱式意圖Activity中的數(shù)據(jù)傳遞?學習目標3Activity簡介重點了解掌握2Android中的任務棧Activity的四種啟動模式Activity的生命周期Activity中的數(shù)據(jù)傳遞顯式意圖和隱式意圖1
目錄Activity入門3.1?點擊查看本小節(jié)知識架構Activity的啟動模式
3.2?點擊查看本小節(jié)知識架構在Activity中使用Intent3.3?點擊查看本小節(jié)知識架構Activity中的數(shù)據(jù)傳遞3.4?點擊查看本小節(jié)知識架構本章小節(jié)3.5
知識架構3.1Activity入門返回目錄3.1.1Activity簡介3.1.3Activity的生命周期Activity的創(chuàng)建3.1.2案例——Activity的存活3.1.4
知識架構3.2Activity的啟動模式返回目錄3.2.1Android下的任務棧3.2.2Activity的四種啟動模式
知識架構3.3在Activity中使用Intent返回目錄3.3.1Intent介紹3.3.3案例——打開系統(tǒng)照相機3.3.2顯式意圖和隱式意圖
知識架構3.4Activity中的數(shù)據(jù)傳遞返回目錄3.4.1數(shù)據(jù)傳遞方式3.4.3回傳數(shù)據(jù)3.4.2案例——用戶注冊案例——裝備選擇3.4.43.1
Activity入門什么是Activity?3.1.1Activity簡介
3.1
Activity入門3.1.1Activity簡介
Activity是Android應用程序的四大組件之一,它負責管理Android應用程序的用戶界面。一個應用程序一般會包含若干個Activity,每一個Activity組件負責一個用戶界面的展現(xiàn)。Activity展示界面Activity展示界面3.1
Activity入門3.1.1Activity簡介Activity是通過調(diào)用setContentView()方法來顯示指定組件的。該方法既可以接收View對象為參數(shù),也可以接收布局文件對應的資源id為參數(shù)。Activity就像一個界面管理員,用戶在界面上的操作是通過Activity來管理的,下面列舉幾個Activity的常用事件。onKeyDown(intkeyCode,KeyEventevent):對應按鍵按下事件onKeyUp(intkeyCode,KeyEventevent):對應按鍵松開事件onTouchEvent(MotionEventevent):對應點擊屏幕事件3.1
Activity入門3.1.2Activity的創(chuàng)建在Android應用中,可以創(chuàng)建一個或多個Activity,創(chuàng)建步驟如下所示:1)定義一個類繼承自android.app.Activity或者其子類;2)在res/layout目錄中創(chuàng)建一個xml文件,用于創(chuàng)建Activity的布局;3)在AndroidManifest.xml文件中注冊Activity;4)重寫Activity的onCreate()方法,并在該方法中使用setContentView()
加載指定的布局文件;3.1
Activity入門3.1.3Activity的生命周期生命周期就是一個對象從創(chuàng)建到銷毀的過程,每一個對象都有自己的生命周期。同樣,Activity也具有相應的生命周期,Activity的生命周期中分為三種狀態(tài)。運行狀態(tài):當Activity在屏幕的最前端時,它是可見的、有焦點的。暫停狀態(tài):Activity對用戶來說仍然是可見的,但它不再擁有焦點。停止狀態(tài):當Activity完全不可見時,它就處于停止狀態(tài),但仍然保留著當前狀態(tài)和成員信息。然而這些對用戶來說都是不可見的。Activity從一種狀態(tài)轉變到另一種狀態(tài)時會觸發(fā)一些事件,執(zhí)行一些回調(diào)方法來通知狀態(tài)的變化,下面通過圖例來展示。3.1
Activity入門3.1.3Activity的生命周期創(chuàng)建時執(zhí)行可見時執(zhí)行回到前臺,再次可見時執(zhí)行獲取焦點時執(zhí)行失去焦點時執(zhí)行用戶不可見,進入后臺時執(zhí)行銷毀時執(zhí)行3.1
Activity入門3.1.4案例——Activity的存活為了讓初學者掌握Activity的生命周期,接下來通過Activity存活的案例來演示兩個Activity跳轉時,生命周期方法變化的過程。3.1
Activity入門
腳下留心:橫豎屏切換時的生命周期當手機橫豎屏切換時,Activity會銷毀重建(模擬器中橫豎屏切換可以使用ctrl+F11)。如果不希望在橫豎屏切換時Activity被銷毀重建,可以在AndroidManifest.xml文件中設置Activity的android:configChanges的屬性,具體代碼如下所示:android:configChanges="orientation|keyboardHidden|screenSize“如果希望某一個界面一直處于豎屏或者橫屏狀態(tài),可以在清單文件中通過設置Activity的屬性來完成,具體代碼如下所示:豎屏:android:screenOrientation="portrait"橫屏:android:screenOrientation="landscape"參考資料:/article/31833.htm3.1
Activity入門
多學一招:設置View的點擊事件監(jiān)聽Android程序中,設置View的點擊事件監(jiān)聽共有四種,分別是:1)在布局文件中為控件設置onClick屬性指定點擊方法;2)創(chuàng)建一個內(nèi)部類實現(xiàn)OnClickListener接口并重寫onClick()方法,
之后需要為控件設置setOnClickListener(Listenerlistener);3)主類中實現(xiàn)OnclickListener接口,然后重寫onClick()方法;4)創(chuàng)建匿名內(nèi)部類,即在為控件設置監(jiān)聽時直接創(chuàng)建一個OnClickListener實例,不為該實例指定名稱。3.2
Activity的啟動模式3.2.1Android下的任務棧Android系統(tǒng)中的任務棧,類似于一個容器,用于管理所有的Activity實例。在存放Activity時,滿足“先進后出(First-In/Last-Out)”的原則。從圖可以看出,先加入任務棧中的Activity會處于容器下面,后加入的處于容器上面,而從任務棧中取出Activity是從最頂端先取出,最后取出的是最底端的Activity。3.2
Activity的啟動模式3.2.2Activity的四種啟動模式Activity的啟動模式有四種,分別是standard、singleTop、singleTask和singleInstance。在AndroidManifest.xml中,可以通過<activity>標簽的android:launchMode屬性設置啟動模式。3.2
Activity的啟動模式3.2.2
Activity的四種啟動模式standard標準模式standard是Activity默認的啟動模式,在不指定Activity啟動模式的情況下,所有Activity使用的都是standard模式。在standard模式下,每當啟動一個新的Activity,它就會進入任務棧,并處于棧頂?shù)奈恢?,對于使用standard模式的Activity,每次啟動都會創(chuàng)建一個新的實例。3.2
Activity的啟動模式3.2.2
Activity的四種啟動模式singleTop模式singleTop啟動模式與standard類似,不同的是,當啟動的Activity已經(jīng)位于棧頂時,則直接使用它,不再創(chuàng)建新的實例。3.2
Activity的啟動模式3.2.2
Activity的四種啟動模式singleTask模式當Activity的啟動模式為singleTask時,每次啟動該Activity時,系統(tǒng)首先會檢查棧中是否存在該Activity的實例,如果發(fā)現(xiàn)已經(jīng)存在則直接使用該實例,并將當前Activity之上的所有Activity出棧,如果沒有發(fā)現(xiàn)則創(chuàng)建一個新的實例。3.2
Activity的啟動模式3.2.2
Activity的四種啟動模式singleInstance模式singleInstance模式加載Activity時,只會創(chuàng)建一個Activity實例,并且會使用一個全新的任務棧來裝載該Activity實例。/kf/201311/254450.html/kf/201503/380172.html3.3在Activity中使用Intent3.3.1Intent介紹Intent中文翻譯為“意圖”,它是Android程序中各個組件進行交互的一種重要方式,它不僅可以指定當前組件要執(zhí)行的動作,還可以在不同組件之間進行數(shù)據(jù)傳遞。Intent一般用于啟動Activity、啟動服務、發(fā)送廣播等,承擔了Android應用程序三大核心組件相互間的通信功能。Intent啟動Activity的方法有:startActivity(Intentintent)
startActivityForResult(Intentintent,intcode)
3.3在Activity中使用Intent3.3.2顯式意圖和隱式意圖顯式意圖即在通過Intent啟動Activity時,需明確指定激活組件的名稱。如果需要在本應用中啟動其他的Activity時,可以使用顯式意圖來啟動Activity。Intentintent=newIntent(this,Activity02.class);startActivity(intent);顯式意圖還可以根據(jù)目標組件的包名、全路徑名來指定開啟組intent.setClassName("cn.itcast.xxx","cn.itcast.xxx.xxxx");startActivity(intent);3.3在Activity中使用Intent3.3.2顯式意圖和隱式意圖隱式意圖沒有明確指定組件名的Intent稱為隱式意圖。系統(tǒng)會根據(jù)隱式意圖中設置的動作(action)、類別(category)、數(shù)據(jù)(Uri和數(shù)據(jù)類型)找到最合適的組件。
<activityandroid:name="ent.Activity02"><intent-filter><actionandroid:name="cn.itscast.xxx"/><categoryandroid:name="ent.category.DEFAULT"/></intent-filter></activity><action>標簽指明了當前Activity可以響應的動作為"cn.itscast.xxx",而<category>標簽則包含了一些類別信息,只有當<action>和<category>中的內(nèi)容同時匹配時,Activity才會被開啟。3.3在Activity中使用Intent3.3.2顯式意圖和隱式意圖隱式意圖使用隱式意圖開啟Activity的示例代碼如下所示:Intentintent=newIntent();//設置動作和清單文件一樣intent.setAction("cn.itscast.xxx");startActivity(intent);
3.3在Activity中使用Intent3.3.3案例——打開系統(tǒng)照相機在實際開發(fā)中,避免不了要調(diào)用其他應用程序的組件。例如,在開發(fā)新浪微博時,需要啟動系統(tǒng)的相機功能。接下來通過打開系統(tǒng)照相機的案例向大家演示如何使用隱式意圖。3.4
Activity中的數(shù)據(jù)傳遞3.4.1數(shù)據(jù)傳遞方式Intent不僅可以用來開啟Activity,也可以在Activity之間傳遞數(shù)據(jù)。在數(shù)據(jù)傳遞時,可以使用putExtra()方法將數(shù)據(jù)存儲在Intent中。
Stringdata="HelloActivity02"Intentintent=newIntent(this,Activity02.class);intent.putExtra("extra_data",data);startActivity(intent);將數(shù)據(jù)從Activity02中取出Intentintent=getIntent();Stringdata==intent.getStringExtra("extra_data");3.4
Activity中的數(shù)據(jù)傳遞3.4.1數(shù)據(jù)傳遞方式putExtra()不僅可以傳遞基本類型數(shù)據(jù),還可以傳遞Bundle對象。Bundlebundle=newBundle();bundle.putString("name","Linda");Intentintent=newIntent(this,Activity02.class);intent.putExtra(bundle);startActivity(intent);將數(shù)據(jù)從Activity02中取出
Intentintent=getIntent();Bundlebundle=intent.getExtras();StringstuName=bundle.getString("name");3.4
Activity中的數(shù)據(jù)傳遞3.4.2案例——用戶注冊為了讓初學者更好的掌握Activity中的數(shù)據(jù)傳遞,接下來通過用戶注冊的案例來演示Activity中的數(shù)據(jù)傳遞。3.4
Activity中的數(shù)據(jù)傳遞3.4.3回傳數(shù)據(jù)在使用新浪微博APP時,能發(fā)現(xiàn)在微博發(fā)布頁面進入圖庫選擇圖片后,會回到微博發(fā)布頁面并帶回了圖片選擇頁面的圖片信息。這個功能的實現(xiàn)利用了Activity回傳數(shù)據(jù)。Andorid提供了一個startActivityForResult()方法,來實現(xiàn)回傳數(shù)據(jù)。startActivityForResult()方法接收兩個參數(shù),第一個參數(shù)是Intent,第二個參數(shù)用于判斷數(shù)據(jù)的來源。3.4
Activity中的數(shù)據(jù)傳遞3.4.4案例——裝備選擇接下來通過案例裝備選擇來演示Activity回傳數(shù)據(jù)。本案例實現(xiàn)了購買裝備增加生命值的功能。3.5本章小結本章主要講解了Activity的相關知識,包括Activity入門、Activity啟動模式、Intent使用以及Activity中的數(shù)據(jù)傳遞,并在講解各個知識點時都編寫了實用的案例用來鞏固知識點。由于凡是有界面的Android程序都會使用到Activity,因此,要求初學者必須熟練掌握該組件的使用。第四章數(shù)據(jù)存儲
文件存儲XML序列化和解析SharedPreferences?學習目標重點了解掌握文件存儲SharedPreferences13數(shù)據(jù)存儲的方式2XML序列化和解析
目錄數(shù)據(jù)存儲方式4.1文件存儲
4.2XML序列化和解析4.3?點擊查看本小節(jié)知識架構SharedPreferences4.4?點擊查看本小節(jié)知識架構本章小結4.5?點擊查看本小節(jié)知識架構
知識架構4.2文件存儲
返回目錄4.2.1文件存儲簡介4.2.2案例——存儲用戶信息
知識架構4.3XML序列化和解析返回目錄4.3.1XML序列化XML解析4.3.3案例——天氣預報4.3.44.3.2案例——XML序列化
知識架構4.4SharedPreferences返回目錄4.4.1SharedPreferences的使用4.4.2案例——QQ登錄Android中有幾種數(shù)據(jù)存儲方式?4.1數(shù)據(jù)存儲方式Android中的數(shù)據(jù)存儲方式有五種,分別是文件存儲、SharedPreferences、SQLite數(shù)據(jù)庫、ContentProvider以及網(wǎng)絡存儲。4.2.1文件存儲簡介數(shù)據(jù)存儲文件存儲Sharedpreferences網(wǎng)絡存儲ContentProviderSQLite數(shù)據(jù)庫4.1數(shù)據(jù)存儲方式4.2文件存儲4.2.1文件存儲簡介。文件存儲是Android中最基本的一種數(shù)據(jù)存儲方式,它與Java中的文件存儲類似,都是通過I/O流的形式把數(shù)據(jù)原封不動的存儲到文檔中。Android中的文件存儲分為內(nèi)部存儲和外部存儲。內(nèi)部存儲指將應用程序中的數(shù)據(jù)以文件方式存儲到設備的內(nèi)部存儲空間中(位于data/data/<packagename>/files/目錄)外部存儲指將文件存儲到一些外部設備上(通常位于mnt/sdcard目錄下,不同廠商生產(chǎn)的手機路徑可能不同),屬于永久性的存儲方式。
4.2文件存儲4.2.2案例——存儲用戶信息為了讓初學者更好地掌握文件存儲數(shù)據(jù)的方式,接下來通過一個存儲用戶信息的案例來學習。
4.3XML序列化和解析4.3.1XML序列化序列化是將對象狀態(tài)轉換為可保持或傳輸?shù)倪^程。在序列化對象時,需要使用XmlSerialize序列化器,它可以將IO流中傳輸?shù)膶ο笞兊孟窕绢愋蛿?shù)據(jù)一樣,實現(xiàn)數(shù)據(jù)傳遞的功能。序列化后的對象以XML形式保存,因此,先來看一下person.xml文件。4.3XML序列化和解析4.3.1XML序列化XML序列化的示例代碼如下:
XmlSerializerserializer=Xml.newSerializer();serializer.setOutput(fileOutputStream,"utf-8");
serializer.startDocument("utf-8",ture);
serializer.startTag(null,"persons");
serializer.text("張三");
serizlizer.endTag(null,"persons");serializer.endDocument();
創(chuàng)建XmlSerializer對象設置文件編碼方式寫入XML文件標志開始節(jié)點寫入內(nèi)容結束節(jié)點文檔結束4.3
XML序列化和解析
4.3.2案例——XML序列化為了讓初學者更好的掌握XML序列化。接下來通過一個“XML序列化”的案例來演示如何將Person對象序列化為XML文件。
01將XML文件所有內(nèi)容以文檔樹方式存放在內(nèi)存中。允許使用DOM
API遍歷XML樹、檢索所需的數(shù)據(jù),這樣便能根據(jù)樹的結構以節(jié)點形式來對文件進行操作0203PULL解析SAX解析DOM解析逐行掃描XML文檔,當遇到標簽時觸發(fā)解析處理器,采用事件處理的方式解析XML。在讀取文檔的同時即可對XML進行處理,不必等到文檔加載結束,相對快捷。Android集成了PULL解析器,因此,常用的解析方式就是PULL解析使用PULL解析,首先要創(chuàng)建XmlPullParser解析器,該解析器提供了很多屬性,通過這些屬性可以解析出XML文件中各個節(jié)點內(nèi)容。4.3
XML序列化和解析4.3.3XML解析4.3
XML序列化和解析4.3.4案例——天氣預報大多數(shù)人會在手機中安裝一個天氣預報的軟件,如墨跡天氣、懶人天氣等。這些軟件在獲取天氣信息時,都是通過解析XML文件得到的。下面就通過一個案例“天氣預報”來演示如何解析XML文件。4.4
SharedPreferences4.4.1SharedPreferences的使用SharedPreferences是Android平臺上一個輕量級的存儲類,用于存儲一些應用程序的配置參數(shù),例如用戶名、密碼、自定義參數(shù)的設置等。SharedPreferences中存儲的數(shù)據(jù)是以key/value鍵值對的形式保存在XML文件中,該文件位于“data/data/<packagename>/shared_prefs”文件夾中。
4.4
SharedPreferences4.4.1SharedPreferences的使用存儲數(shù)據(jù)
SharedPreferencessp=getSharedPreferences("data",MODE_PRIVATE);Editoreditor=sp.edit();editor.putString("name","傳智播客");editor.putInt("age",8);mit();取出數(shù)據(jù)
SharedPreferencessp=context.getSharedPreferences(); Stringdata=sp.getString("name","");編輯數(shù)據(jù)SharedPreferencessp=context.getSharedPreferences(); Editoreditor=sp.edit();editor.remove("name");editor.clear();mit();4.4
SharedPreferences4.4.2案例——QQ登錄大多數(shù)人使用電腦第一件事基本上都是登錄QQ,為了方便,大家通常會使用記住密碼功能,直接點擊登錄按鈕即可完成登錄功能。在Android手機中,同樣可以實現(xiàn)這個功能,接下來通過一個“QQ登錄”的案例來演示如何使用SharedPreferences存儲數(shù)據(jù)。4.5本章小結本章主要講解了Android中的數(shù)據(jù)存儲,首先介紹了Android中常見的數(shù)據(jù)存儲方式,然后講解了文件存儲以及XML序列化和解析,最后講解了SharedPreferences。數(shù)據(jù)存儲是Android開發(fā)中非常重要的內(nèi)容,每個應用程序基本上都會涉及到數(shù)據(jù)存儲,因此要求初學者必須熟練掌握本章知識。SQLite基本操作SQLite事務操作ListView控件的使用常見的數(shù)據(jù)適配器第五章SQLite數(shù)據(jù)庫
?學習目標3SQLite數(shù)據(jù)庫重點了解掌握2SQLite的事務操作
sqlite3.exe工具的使用SQLite的基本操作ListView控件的使用常見的數(shù)據(jù)適配器1
目錄SQLite數(shù)據(jù)庫簡介5.1SQLite數(shù)據(jù)庫的使用
5.2?點擊查看本小節(jié)知識架構ListView控件5.3?點擊查看本小節(jié)知識架構本章小節(jié)5.4
知識架構5.2SQLite數(shù)據(jù)庫的使用返回目錄5.2.1SQLite操作API5.2.3SQLite事務操作數(shù)據(jù)庫的常用操作5.2.2sqlite3工具5.2.4
知識架構5.3ListView控件返回目錄5.3.1ListView控件的使用5.3.3案例——Android應用市場5.3.2常用的數(shù)據(jù)適配器(Adapter)5.3.4案例——商品展示5.1
SQLite數(shù)據(jù)庫簡介什么是SQLite?5.1
SQLite數(shù)據(jù)庫簡介
是一個輕量級數(shù)據(jù)庫,第一個版本誕生于2000年5月。它最初是
為嵌入式設計的,占用資源非常低,在內(nèi)存中只需要占用幾百KB的存儲
空間。
SQLite是遵守ACID關聯(lián)式的數(shù)據(jù)庫管理系統(tǒng)。ACID是指數(shù)據(jù)庫事務正確執(zhí)行的基本要素,即原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。SQLite沒有服務器進程,它通過文件保存數(shù)據(jù),該文件是跨平臺的,可以放在其他平臺中使用。并且支持NULL、INTEGER、REAL(浮點數(shù)字)、TEXT(字符串文本)和BLOB(二進制對象)五種數(shù)據(jù)類型。
5.2
SQLite數(shù)據(jù)庫的使用5.2.1SQLite操作APIAndroidSDK提供了一系列對數(shù)據(jù)庫進行操作的類和接口。常用的數(shù)據(jù)庫操作類有:
SQLiteOpenHelper類該類是一個抽象類,用于創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)庫版本更新。SQLiteDatabase類該類是一個數(shù)據(jù)庫訪問類,封裝了一系列數(shù)據(jù)庫操作的API,可以對數(shù)據(jù)進行增刪改查操作。
Cursor接口是一個游標接口,在數(shù)據(jù)庫操作中作為返回值,相當于結果集ResultSet。5.2
SQLite數(shù)據(jù)庫的使用5.2.2數(shù)據(jù)庫的常用操作AndroidSDK提供的一系列操作SQLite數(shù)據(jù)庫的API。SQLiteDatabase就是其中的一個,它提供了一些列用于操作數(shù)據(jù)庫的方法。insert()update()delete()query()5.2.3SQLite事務操作5.2
SQLite數(shù)據(jù)庫的使用現(xiàn)實生活中,經(jīng)常會進行轉賬操作,在轉賬的過程中,為了確保轉賬金額正確,會使用事務進行操作。
事務是針對數(shù)據(jù)庫的一組操作,它可以由一條或多條SQL語句組成,同一個事務的操作具備同步的特點,如果有一條語句無法執(zhí)行,那么所有語句都不會執(zhí)行。也就是說,事務中的語句要么都執(zhí)行,要么都不執(zhí)行。轉入轉出銀行轉賬操作都執(zhí)行,或都不執(zhí)行5.2.4sqlite3工具5.2
SQLite數(shù)據(jù)庫的使用在Android開發(fā)中,使用真機測試時無法進入data目錄(只有獲得Root權限的手機可以進入data目錄)因此也無法直接操作應用程序下的數(shù)據(jù)庫。為了解決該問題,SQLite數(shù)據(jù)庫為開發(fā)者提供了sqlite3.exe工具。sqlite3.exe是一個簡單的SQLite數(shù)據(jù)庫管理工具,位于AndroidADTEclipse中的sdk/tools目錄下。
在使用該工具時,首先需要打開DOS命令行,依次輸入如下命令:adbshell(掛載到linux的空間)cddata/data(進入data/data目錄)cdcn.itcast.db(應用程序包名)ls
(Linxus命令列出當前文件夾下的文件)
cddatabases(進入databases文件夾)ls–l(列出當前文件夾所有文件的詳細格式)sqlite3person.db(使用sqlite3操作應用程序下的數(shù)據(jù)庫)select*fromperson;(利用sql語句查詢person表中的信息)
5.2.4sqlite3工具5.2
SQLite數(shù)據(jù)庫的使用5.3
ListView控件5.3.1ListView控件的使用在Android開發(fā)中,ListView是一個比較常用的控件。它以列表的形式展示具體數(shù)據(jù)內(nèi)容,并且能夠根據(jù)數(shù)據(jù)的長度自適應屏幕顯示。
<ListViewandroid:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent"></ListView>5.3
ListView控件5.3.2常用數(shù)據(jù)適配器(Adapter)在使用ListView時需要對其進行數(shù)據(jù)適配。為了實現(xiàn)這個功能,Android系統(tǒng)提供一系列的適配器(Adapter)對ListView進行數(shù)據(jù)適配。
適配器就像顯示器,把復雜的數(shù)據(jù)按人們易于接受的方式來展示。
BaseAdapter即基本的適配器。它實際上就是一個抽象類,該類擁有四個抽象方法。在Android開發(fā)中,就是根據(jù)這幾個抽象方法來對ListView進行數(shù)據(jù)適配的SimpleAdapterSimpleAdapter繼承自BaseAdapter,實現(xiàn)了BaseAdapter的四個抽象方法,分別是getCount()、getItem()、getItemId()、getView()方法。
ArrayAdapterArrayAdapter也繼承自BaseAdapter,與SimpleAdapter相同。ArrayAdapter通常用于適配TextView控件,例如Android系統(tǒng)中的設置菜單(Setting)。5.3
ListView控件5.3.3案例——Android應用市場前面介紹了ListView和幾種常見的數(shù)據(jù)適配器,接下來通過一個案例Android應用市場來演示如何使用ListView以及如何對其進行數(shù)據(jù)適配。
5.3
ListView控件
多學一招:如何使用其他Adapter適配數(shù)據(jù)前面的案例只運用了BaseAdpater適配ListView,使用BaseAdapter適配數(shù)據(jù)需要重寫其四個方法。而SimpleAdapter和ArrayAdapter只需一行代碼即可適配數(shù)據(jù)。ListViewmListView=(ListView)findViewById(R.id.lv);mListView.setAdapter(newArrayAdapter<String>(this,R.layout.list_item,
R.id.tv_list),names));5.3
ListView控件5.3.4案例——商品展示
開發(fā)一個購物車,需要將購物車中的商品以列表的形式展示,并且還需要對購物車中的商品進行增刪改查操作。要實現(xiàn)這些功能就需要使用ListView和SQLite數(shù)據(jù)庫。接下來通過一個商品展示案例結合ListView和SQLite數(shù)據(jù)庫來實現(xiàn)在界面上操作數(shù)據(jù)庫。
5.4本章小結本章講解了SQLite數(shù)據(jù)庫和ListView控件的相關知識,首先簡單地介紹了SQLite數(shù)據(jù)庫,然后講解了如何使用SQLite數(shù)據(jù)庫以及ListView。SQLite數(shù)據(jù)庫和ListView這兩個知識點非常重要,在實際開發(fā)中可以實現(xiàn)很多功能,例如電子商城中的購物車、網(wǎng)易新聞客戶端等。第六章內(nèi)容提供者創(chuàng)建內(nèi)容提供者訪問內(nèi)容提供者內(nèi)容觀察者的使用?學習目標重點了解掌握創(chuàng)建內(nèi)容提供者訪問內(nèi)容提供者12內(nèi)容觀察者的使用3
ContentProvider工作原理
目錄內(nèi)容提供者簡介6.1創(chuàng)建內(nèi)容提供者
6.2訪問內(nèi)容提供者6.3?點擊查看本小節(jié)知識架構內(nèi)容觀察者的使用6.4?點擊查看本小節(jié)知識架構本章小結6.5?點擊查看本小節(jié)知識架構
知識架構6.2創(chuàng)建內(nèi)容提供者6.2.1創(chuàng)建一個內(nèi)容提供者6.2.2Uri簡介6.2.3案例——讀取聯(lián)系人信息返回目錄6.2創(chuàng)建內(nèi)容提供者
知識架構返回目錄6.3訪問內(nèi)容提供者6.3.1ContentResolver的基本用法6.3.2案例——短信備份
知識架構返回目錄6.4內(nèi)容觀察者的使用6.4.1什么是內(nèi)容觀察者6.4.2案例——短信竊聽器6.1內(nèi)容提供者簡介什么是內(nèi)容提供者?內(nèi)容提供者(ContentProvider)是Android系統(tǒng)四大組件之一,用于保存和檢索數(shù)據(jù),是Android系統(tǒng)中不同應用程序之間共享數(shù)據(jù)的接口。ContentProvider是不同應用程序之間進行數(shù)據(jù)交換的標準API,以Uri形式對外提供數(shù)據(jù),允許其他應用操作本應用數(shù)據(jù)。其他應用則使用ContentResolver,并根據(jù)ContentProvider提供的Uri操作指定數(shù)據(jù)。6.1內(nèi)容提供者簡介內(nèi)容提供者簡介6.2創(chuàng)建內(nèi)容提供者6.2.1創(chuàng)建一個內(nèi)容提供者。定義一個類繼承android.content包下的ContentProvider類(抽象類)。子類需要重寫它的onCreate()、delete()、getType()、insert()、query()、update()這幾個抽象方法。ContentProvider是四大組件之一,必須要在清單文件中注冊<providerandroid:name="cn.itcast.db.PersonDBProvider"android:authorities="cn.itcast.db.personprovider"></provider>是繼承于ContentProvider類的全路徑名稱表示訪問本provider的路徑,注意這里的路徑必須要唯一。6.2創(chuàng)建內(nèi)容提供者6.2.2Uri簡介ContentProvider的幾個抽象方法,這幾個抽象方法中有一個參數(shù)Uri,它代表了數(shù)據(jù)的操作方法。Uri是由scheme、authorites、path三部分組成。scheme:“content://”是一個標準的前綴,表明這個數(shù)據(jù)被內(nèi)容提供者所
控制,它不會被修改;authorities:“cn.itcast.db.personprovider”是在清單文件中指定的android:authorities屬性值,該值必須唯一,它表示了當前的內(nèi)容提供者;path:“/person”代表資源(或者數(shù)據(jù)),當訪問者需要操作不同數(shù)據(jù)時,這個部分是動態(tài)改變的6.2創(chuàng)建內(nèi)容提供者
6.2.2Uri簡介Uri.parse(Stringstr)方法是將字符串轉化成Uri對象的。為了解析Uri對象,Android系統(tǒng)提供了一個輔助工具類UriMatcher用于匹配Uri。UriMatcher中的常用方法如表所示:方法名稱方法說明publicUriMatcher(intcode)創(chuàng)建UriMatcher對象時調(diào)用,參數(shù)通常使用UriMatcher.NO_MATCH,表示路徑不滿足條件返回-1publicvoidaddURI(Stringauthority,Stringpath,intcode)添加一組匹配規(guī)則,authority即Uri的authoritites部分,path即Uri的path部分publicintmatch(Uriuri)匹配Uri與addURI方法相對應,匹配成功則返回addURI方法中傳入的參數(shù)code的值。6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 室外景觀設計師的植物配置與環(huán)境打造
- 保健品行業(yè)話務員工作總結
- 2025年中考物理一輪復習之物態(tài)變化
- 超市行業(yè)客服工作總結周到服務增添購物樂趣
- 化妝護膚行業(yè)銷售工作總結
- 餐飲服務員工作總結熱情招待細心服務顧客
- 【八年級下冊地理湘教版】專項02 港、澳、臺的經(jīng)濟發(fā)展
- 2024年熱鬧的元宵節(jié)教案
- 2024年石家莊理工職業(yè)學院單招職業(yè)技能測試題庫標準卷
- 《毛澤東思想和中國特色社會主義理論體系概論》復習大綱
- 雨雪天氣安全教育PPT
- 深基坑支護專項施工方案(咬合樁)
- 勞務派遣服務外包技術方案
- 采購管理實務全套教學課件
- 極致物業(yè)管理系統(tǒng)收費管理業(yè)務操作
- GB∕T 29639-2020 生產(chǎn)經(jīng)營單位生產(chǎn)安全事故應急預案編制導則
- 貴州省工傷保險待遇申領授權委托書
- 媒介融合(ppt)課件
- 液壓系統(tǒng)中油管尺寸的選擇
- 視頻監(jiān)控臺賬參考模板
- 初一初三國家體育鍛煉標準評分表
評論
0/150
提交評論