Android程序設(shè)計(jì)基礎(chǔ)_第1頁(yè)
Android程序設(shè)計(jì)基礎(chǔ)_第2頁(yè)
Android程序設(shè)計(jì)基礎(chǔ)_第3頁(yè)
Android程序設(shè)計(jì)基礎(chǔ)_第4頁(yè)
Android程序設(shè)計(jì)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Android應(yīng)用開發(fā)系列之02Android程序設(shè)計(jì)基礎(chǔ)本章目標(biāo)理解Android項(xiàng)目目錄結(jié)構(gòu)1掌握Android應(yīng)用解析2掌握Android的生命周期3了解Android程序UI設(shè)計(jì)方法4Android項(xiàng)目目錄結(jié)構(gòu)項(xiàng)目所有包及源文件程序圖標(biāo)布局文件常量所有資源的索引文件包含項(xiàng)目中所使用的Activity,Service,ReceiverR.javapublicfinalclassR{

publicstaticfinalclassattr{

}

publicstaticfinalclassdrawable{

publicstaticfinalinticon=0x7f020000;

}

publicstaticfinalclasslayout{

publicstaticfinalintmain=0x7f030000;

}

publicstaticfinalclassstring{

publicstaticfinalintapp_name=0x7f040001;

publicstaticfinalinthello=0x7f040000;

}}R.java這個(gè)類中定義了很多常量,都與res文件夾中的文件名相同,這就說(shuō)明這個(gè)類是項(xiàng)目所有資源的索引這個(gè)文件不能手動(dòng)編輯,當(dāng)項(xiàng)目中加入了新的資源,只需要刷新下該項(xiàng)目,R.java文件便自動(dòng)生成了所有資源的索引AndroidManifest.xml<?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="/apk/res/android"package="com.sodi"android:versionCode="1"android:versionName="1.0"><uses-sdkandroid:minSdkVersion="3"/><applicationandroid:icon="@drawable/icon"android:label="@string/app_name"><activityandroid:name=".HelloWorldActivity"android:label="@string/app_name"><intent-filter><actionandroid:name="ent.action.MAIN"/><categoryandroid:name="ent.category.LAUNCHER"/></intent-filter></activity></application></manifest>AndroidManifest.xml包含了該項(xiàng)目中所使用的Activity,Service,ReceiverIntent-filter描述了Atctivity的啟動(dòng)的位置和時(shí)間。每當(dāng)一個(gè)Activity要執(zhí)行一個(gè)操作時(shí),它將創(chuàng)建出一個(gè)Intent的對(duì)象,這個(gè)intent對(duì)象承載的信息可描述你想做什么,你想處理什么數(shù)據(jù),數(shù)據(jù)的類型,以及一些其他信息。而Android則會(huì)和每個(gè)Application所暴露的intent-filter的數(shù)據(jù)進(jìn)行比較,找到最合適Activity來(lái)處理調(diào)用者所指定的數(shù)據(jù)和操作。AndroidManifest.xml項(xiàng)說(shuō)明mainfest根節(jié)點(diǎn),描述了package中所有的內(nèi)容xmlns:anroid包含命名空間的聲明package包含應(yīng)用程序包application包含package中application級(jí)別組件聲明的根節(jié)點(diǎn),此元素也可包含application的一些全局和默認(rèn)的屬性,如標(biāo)簽,icon,主題,必要的權(quán)限等,一個(gè)manifest能包含0~1個(gè)此元素android:icon應(yīng)用程序圖標(biāo)android:label應(yīng)用程序名稱activity用來(lái)與用戶交互的主要工具,Activity是用戶打開一個(gè)應(yīng)用程序的初始頁(yè)面,大部分被使用到的其他頁(yè)面也由不同的Activity所實(shí)現(xiàn),并聲明在另外的Activity標(biāo)記中。注意,每一個(gè)Activity必須有一個(gè)<Activity>標(biāo)記對(duì)應(yīng),無(wú)論它給外部使用或只用于自己的package中。如果一個(gè)Activity沒(méi)有對(duì)應(yīng)的標(biāo)記,你將不能運(yùn)行它。另外,為了支持運(yùn)行時(shí)查找Activity,可包含一個(gè)或多個(gè)<intent-filter>元素來(lái)描述Activity所支持的操作android:name應(yīng)用程序默認(rèn)啟動(dòng)的Activityintent-filter聲明了指定的一組組件支持的Intent值,從而形成了Intentfilter。除了能在此元素下指定不同類型的值,屬性也能放在這里來(lái)描述一個(gè)操作所需的唯一的標(biāo)簽,icon和其他信息action組件支持的Intentactioncategory組件支持的IntentCategory,這里指定了應(yīng)用程序默認(rèn)啟動(dòng)的Activityuses-sdk該應(yīng)用程序所使用的sdk版本string.xml<?xmlversion="1.0"encoding="utf-8"?><resources><stringname="hello">HelloWorld,HelloWorldActivity!</string><stringname="app_name">HelloWorld</string></resources>這個(gè)文件很簡(jiǎn)單,就定義了兩個(gè)字符串資源,可以在、在R.java中看到這兩個(gè)字符串的定義;Resourcesrs=this.getResources();Stringappname=rs.getString(R.string.app_name);Stringhello=rs.getString(R.string.hello);我們可以在程序里通過(guò)Resources對(duì)象的getString方法取得該索引的字符串項(xiàng)目中所使用到得常量都可以通過(guò)這個(gè)xml文件的方式定義,最后刷新下項(xiàng)目,R.java文件自動(dòng)會(huì)更新<?xmlversion="1.0"encoding="utf-8"?><resources><colorname="status_idle">#cccccc</color><colorname="status_done">#637a47</color></resources>main.xml項(xiàng)說(shuō)明<LinearLayout>線性版面配置,在這個(gè)標(biāo)簽中,所有元件都是按由上到下的排列排成的android:orientation表示這個(gè)介質(zhì)的版面配置方式是從上到下垂直的排列在其內(nèi)部的視圖android:layout_width定義當(dāng)前視圖在屏幕中所占的寬度,fill_parent即填充整個(gè)屏幕android:layout_height定義當(dāng)前視圖在屏幕中所占的高度,fill_parent即填充整個(gè)屏幕<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"

><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"

/></LinearLayout>在這里設(shè)置了一個(gè)TextView,用來(lái)配置文本標(biāo)簽的Widget,并設(shè)置寬度是整個(gè)屏幕寬度;高度是根據(jù)文字來(lái)改變高度;android:text設(shè)置這個(gè)TextView要顯示的文字內(nèi)容;主程序HelloWorldpublicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);}主程序類繼承于Activity類,并重寫onCreate方法。在onCreate方法中通過(guò)setContentView(R.layout.main)來(lái)設(shè)置Activity要顯示的布局文件本章目標(biāo)理解Android項(xiàng)目目錄結(jié)構(gòu)1掌握Android應(yīng)用解析2掌握Android的生命周期3了解Android程序UI設(shè)計(jì)方法4ActivityActivity是最基本的模塊,我們稱之為“活動(dòng)”,在應(yīng)用程序中,一個(gè)Activity通常就是一個(gè)單獨(dú)的屏幕。每個(gè)活動(dòng)都實(shí)現(xiàn)為一個(gè)獨(dú)立的類,并且從活動(dòng)基類中繼承而來(lái),活動(dòng)類將會(huì)顯示由視圖控件組成的用戶接口,并對(duì)事件作出響應(yīng)。大多數(shù)的應(yīng)用都是由多個(gè)Activity顯示組成,例如:對(duì)一個(gè)文本信息應(yīng)用而言,第一個(gè)屏幕用來(lái)顯示發(fā)送消息的聯(lián)系人列表,第二個(gè)屏幕用來(lái)寫文本消息和選擇收件人,第三個(gè)屏幕查看消息歷史或者消息設(shè)置操作等。簡(jiǎn)單理解,Activity代表一個(gè)用戶所能看到的屏幕,主要用于處理應(yīng)用程序的整體性工作,例如,監(jiān)聽系統(tǒng)事件,為用戶指定的View,啟動(dòng)其他的Activity等繼承android.app.Activity類,并重寫相關(guān)方法,同時(shí),在AndroidManifest.xml做相關(guān)配置Demo演示IntentIntent這個(gè)特殊類實(shí)現(xiàn)在Activity與Activity之間的切換。Intent類用于描述應(yīng)用的功能。在Intent的描述結(jié)構(gòu)中,有兩個(gè)重要部分:動(dòng)作與動(dòng)作對(duì)應(yīng)的數(shù)據(jù)。典型的動(dòng)作類型有MAIN,VIEW,PICK,EDITDemo演示ContentProviderContentProvider類實(shí)現(xiàn)了一組標(biāo)準(zhǔn)的方法,能夠讓其他應(yīng)用保存或讀取此內(nèi)容提供器處理的各種數(shù)據(jù)類型。ContentProvider正是用于解決在不同的應(yīng)用包之間共享數(shù)據(jù)的工具。ServiceService即“服務(wù)”的意思。既然是服務(wù),那么Service就是一個(gè)生命周期長(zhǎng)且沒(méi)有用戶界面的程序。比如一個(gè)從播放列表中播放歌曲的媒體播放器。在媒體播放器中,有多個(gè)Activity,在Activity中使用Context.startService()來(lái)啟動(dòng)一個(gè)Service,從而可以在后臺(tái)保證Service一直執(zhí)行,知道這個(gè)Service運(yùn)行結(jié)束。另外,可以調(diào)用Context.bindService()連接到另一個(gè)ServiceDemo演示本章目標(biāo)理解Android項(xiàng)目目錄結(jié)構(gòu)1掌握Android應(yīng)用解析2掌握Android的生命周期3了解Android程序UI設(shè)計(jì)方法4An訂dr菠oi蜓d生命勞周期進(jìn)程結(jié)束onCreate()onResume()onPause()onStop()onDestroy()Activity關(guān)閉Activity運(yùn)行中這個(gè)Activity不在處于顯示狀態(tài)另外一個(gè)Activity啟動(dòng)之前用戶操作返回到創(chuàng)建狀態(tài)另一個(gè)Activity需要使用內(nèi)存這個(gè)Activity再次回到前臺(tái)Activity開始這個(gè)Activity再次回到前臺(tái)onRestart()onStart()本章享目標(biāo)理解Android項(xiàng)目目錄結(jié)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論