1.什么是Activity?
穆棱網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來(lái)到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
是一個(gè)可以與用戶(hù)交互的屏幕,例如打電話、拍照、地圖、日歷的界面
2.Activity 有7個(gè)生命周期方法(生命周期描述的是一個(gè)對(duì)象從創(chuàng)建(new出來(lái))到死亡的過(guò)程中會(huì)執(zhí)行的方法):
onCreate: 在Activity對(duì)象被第一次創(chuàng)建時(shí)調(diào)用
onStart: 當(dāng)Activity變得可見(jiàn)時(shí)調(diào)用該函數(shù)
onResume: 當(dāng)Activity開(kāi)始準(zhǔn)備于用戶(hù)交互時(shí)調(diào)用該方法
onPause: 當(dāng)系統(tǒng)將啟動(dòng)另外一個(gè)Activity之前調(diào)用該方法
onStop: 當(dāng)前Activity變得不可見(jiàn)時(shí)調(diào)用該方法
onDestroy:當(dāng)前Activity被銷(xiāo)毀之前將會(huì)調(diào)用該方法
onRestart:當(dāng)一個(gè)Activity再次啟動(dòng)之前將會(huì)調(diào)用該方法
1)當(dāng)從第一個(gè)Activity進(jìn)入第二個(gè)Activity,調(diào)用第一個(gè)activity的onPause,再調(diào)用第二個(gè)activity的onCreate、onStart、onResume,然后調(diào)用第一個(gè)activity的onStop
2)當(dāng)從第二個(gè)Activity返回第一個(gè)Activi時(shí),調(diào)用第二個(gè)activity的onPause,再調(diào)用第一個(gè)activity的onRestart、onStart、onResume,然后調(diào)用第二個(gè)activity的onStop、onDestroy
3. 生命周期可分為三個(gè)狀態(tài):無(wú)論出于哪一種狀態(tài),Activity不會(huì)自動(dòng)釋放自己占有的資源 -- 通過(guò)在onPause、onStop、onDestroy中寫(xiě)代碼釋放資源
1)Resumed:Activity對(duì)象運(yùn)行狀態(tài)
2)Paused: 另一個(gè)Activity位于前端,但是本Activity還可見(jiàn) ,如 對(duì)話框
3)Stopped:另一個(gè)Activity位于前端,完全遮擋本Activity
4. 綁定布局。每新建一個(gè)activity,就要繼承(extends)Activity類(lèi),復(fù)寫(xiě)onCreate(bundle)方法,然后綁定此activity的布局文件XML
public class BaseSwipeBacek extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_layout); } }
5.創(chuàng)建的activity必須在AndroidManifest.xml里面注冊(cè),否則運(yùn)行會(huì)拋出異常
<activity android:label="second" //標(biāo)題 android:name=".secondActivity" > //包名.類(lèi)名 (包名可以省略) </activity>
6.啟動(dòng)Activity
Intent intent = new Intent(); intent.setClass(this, SecondActivity.class); //this為Context對(duì)象,即當(dāng)前Activity對(duì)象 startActivity(intent);
7.兩個(gè)Activity之間數(shù)據(jù)傳遞
基本數(shù)據(jù)類(lèi)型可以通過(guò)Intent進(jìn)行傳遞
1)傳遞數(shù)據(jù)
Intent intent = new Intent(); intent.setClass(this, SecondActivity.class); intent.putExtra("key", "數(shù)據(jù)"); //第一個(gè)參數(shù)數(shù)Key,第一個(gè)參數(shù)是要傳遞的數(shù)據(jù),可以是任意基本數(shù)據(jù)類(lèi)型 startActivity(intent);
2)取出數(shù)據(jù)
Intent intent = getIntent(); String str = intent.getStringExtra("key"); //參數(shù)為Key,必須與傳遞過(guò)來(lái)的key一致
3) 如果要傳遞對(duì)象,可以通過(guò)Serializable序列化后在進(jìn)行傳遞
讓類(lèi)實(shí)現(xiàn)Serializable接口,通過(guò)intent.getSerializableExtra取出對(duì)象
public class Data implements Serializable{ private static final long serialVersionUID = -3445893843765959236L; //序列化的串行版本標(biāo)示 public String name; public int age; public Data(String name, int age){ this.name = name; this.age = age; } }
public class FirstActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_layout); Data data = new Data("小明",16); Intent intent = new Intent(); intent.setClass(this, SecondActivity.class); intent.putExtra("key", data); startActivity(intent); } }
public class SecondActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second_layout); Intent intent = getIntent(); Data data = (Data) intent.getSerializableExtra("key"); } }
標(biāo)題名稱(chēng):Android四大組件之Activity
鏈接分享:http://chinadenli.net/article36/jgcisg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、微信小程序、企業(yè)網(wǎng)站制作、搜索引擎優(yōu)化、網(wǎng)站建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)