《Android移動(dòng)應(yīng)用開發(fā)》初識(shí)Activity_第1頁
《Android移動(dòng)應(yīng)用開發(fā)》初識(shí)Activity_第2頁
《Android移動(dòng)應(yīng)用開發(fā)》初識(shí)Activity_第3頁
《Android移動(dòng)應(yīng)用開發(fā)》初識(shí)Activity_第4頁
《Android移動(dòng)應(yīng)用開發(fā)》初識(shí)Activity_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Activity基礎(chǔ)2023/9/28022023/9/28認(rèn)識(shí)Activity創(chuàng)建Activity目錄CONTENT12Activity的生命周期調(diào)用Activity34結(jié)束Activity5參考教材:《Android應(yīng)用開發(fā)項(xiàng)目化教程》認(rèn)識(shí)Activity概述處于android.app包中;Activity是Android最基本的應(yīng)用程序組件;一個(gè)activity通常就是一個(gè)單獨(dú)的屏幕。1認(rèn)識(shí)Activity作用Activity是一個(gè)應(yīng)用組件,用戶可與其提供的屏幕進(jìn)行交互,以執(zhí)行撥打電話、拍攝照片、發(fā)送電子郵件或查看地圖等操作。每個(gè)Activity都會(huì)獲得一個(gè)用于繪制其用戶界面的窗口。窗口通常會(huì)充滿屏幕,但也可小于屏幕并浮動(dòng)在其他窗口之上。一個(gè)應(yīng)用通常由多個(gè)彼此松散聯(lián)系的Activity組成。一般會(huì)指定應(yīng)用中的某個(gè)Activity為“主”Activity,即首次啟動(dòng)應(yīng)用時(shí)呈現(xiàn)給用戶的那個(gè)Activity。1創(chuàng)建Activity方法右單機(jī)項(xiàng)目的packageNew/Activity/Activity模板2創(chuàng)建Activity實(shí)現(xiàn)生命周期方法要?jiǎng)?chuàng)建Activity實(shí)例必須是Activity的子類(或使用其現(xiàn)有子類)。兩個(gè)最重要的回調(diào)方法是:onCreate():必須實(shí)現(xiàn)此方法。系統(tǒng)會(huì)在創(chuàng)建Activity時(shí)調(diào)用此方法。必須在此方法內(nèi)調(diào)用setContentView(),以定義Activity用戶界面的布局。onPause():系統(tǒng)將此方法作為用戶離開Activity的第一個(gè)信號(hào)(但并不總是意味著Activity會(huì)被銷毀)進(jìn)行調(diào)用。2創(chuàng)建Activity實(shí)現(xiàn)用戶界面Activity的用戶界面是由層級(jí)式視圖—衍生自View類的對(duì)象—提供的。每個(gè)視圖都控制Activity窗口內(nèi)的特定矩形空間,可對(duì)用戶交互作出響應(yīng)。可以利用Android提供的許多現(xiàn)成視圖設(shè)計(jì)和組織布局?!安季帧笔茄苌訴iewGroup的視圖,為其子視圖提供唯一布局模型。利用視圖定義布局的最常見方法是借助保存在應(yīng)用資源內(nèi)的XML布局文件。這樣一來,就可以將用戶界面的設(shè)計(jì)與定義Activity行為的源代碼分開維護(hù)。可以通過setContentView()將布局設(shè)置為Activity的UI,從而傳遞布局的資源ID。2創(chuàng)建Activity在清單文件中聲明Activity必須在清單文件中聲明Activity,這樣系統(tǒng)才能訪問。還可以在此元素中加入幾個(gè)其他特性,以定義Activity標(biāo)簽、Activity圖標(biāo)或風(fēng)格主題等用于設(shè)置ActivityUI風(fēng)格的屬性。android:name特性是唯一的必需特性—它指定Activity的類名。應(yīng)用一旦發(fā)布,即不應(yīng)更改此類名,否則,可能會(huì)破壞諸如應(yīng)用快捷方式等一些功能。2<manifest...>

<application...>

<activity

android:name=".ExampleActivity"

/>

...

</application...>

...

</manifest

>

Activity的生命周期回調(diào)方法onCreate()onStart()onResume()onPause()onStop()onDestroy()onRestart()3Activity的生命周期四種狀態(tài)運(yùn)行狀態(tài)此Activity位于屏幕前臺(tái)并具有用戶焦點(diǎn)。(有時(shí)也將此狀態(tài)稱作“運(yùn)行中”。)暫停狀態(tài)另一個(gè)Activity位于屏幕前臺(tái)并具有用戶焦點(diǎn),但此Activity仍可見。停止?fàn)顟B(tài)該Activity被另一個(gè)Activity完全遮蓋(該Activity目前位于“后臺(tái)”,完全不可見)。銷毀狀態(tài)活動(dòng)從返回棧中移除3調(diào)用Activity顯式/隱式調(diào)用顯式調(diào)用隱式調(diào)用4Intentintent=

new

Intent(this,

SignInActivity.class);

startActivity(intent);

Intentintent=

new

Intent(Intent.ACTION_SEND);

intent.putExtra(Intent.EXTRA_EMAIL,recipientArray);

startActivity(intent);

調(diào)用Activity傳遞/接收數(shù)據(jù)使用Intent4Intentit=

new

Intent(Intent.ACTION_SEND);

it.putExtra(Intent.EXTRA_SUBJECT,

"Theemailsubjecttext");

it.putExtra(Intent.EXTRA_STREAM,

"file:///sdcard/eoe.mp3");

sendIntent.setType("audio/mp3");

startActivity(Intent.createChooser(it,

"ChooseEmailClient"));

調(diào)用Activity傳遞/接收數(shù)據(jù)使用Bundle4IntentmIntent=newIntent();BundlemBundel=newBundle();mBundel.putString("Key_Name",someString);...mIntent.putExtras(mBundel);mIntent.setClass(aActivity.this,bActivity.class);startActivity(mIntent);BundlemBundel=this.getIntent().getExtras();Stringname=mBundel.getString("Key_Name");在使用Bundle傳遞數(shù)據(jù)時(shí),要注意,Bundle的大小是有限制的<0.5MB,如果大于這個(gè)值是會(huì)報(bào)TransactionTooLargeException異常的?。。≌{(diào)用Activity回調(diào)結(jié)果發(fā)送端startActivityForResult(Intentintent,intrequestCode)onActivityResult(intrequestCode,intresultCode,Intentdata)4startActivityForResult(intent,mRequestCode);@OverrideprotectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){if(mRequestCode==requestCode){switch(resultCode){caseActivity.RESULT_OK:Bundlebundle=data.getExtras();...break;...}}super.onActivityResult(requestCode,resultCode,data);}調(diào)用Activity回調(diào)結(jié)果接收端setResult(intresultCode,Intentdata)或setResult(intresultCode)4Intentintent=newIntent();Bundlebundle=newBundle();bundle.putString("msg","信息已收到");intent.putExtras(bundle);setResult(Activity

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論