91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android四大組件之Activity

發布時間:2020-07-25 09:26:18 來源:網絡 閱讀:342 作者:joyy001 欄目:移動開發

1. 什么是Activity?

是一個可以與用戶交互的屏幕,例如打電話、拍照、地圖、日歷的界面


2. Activity 有7個生命周期方法(生命周期描述的是一個對象從創建(new出來)到死亡的過程中會執行的方法):

onCreate: 在Activity對象被第一次創建時調用

onStart:  當Activity變得可見時調用該函數

onResume: 當Activity開始準備于用戶交互時調用該方法

onPause:  當系統將啟動另外一個Activity之前調用該方法

onStop:   當前Activity變得不可見時調用該方法

onDestroy:當前Activity被銷毀之前將會調用該方法

onRestart:當一個Activity再次啟動之前將會調用該方法


1)當從第一個Activity進入第二個Activity,調用第一個activity的onPause,再調用第二個activity的onCreate、onStart、onResume,然后調用第一個activity的onStop

2)當從第二個Activity返回第一個Activi時,調用第二個activity的onPause,再調用第一個activity的onRestart、onStart、onResume,然后調用第二個activity的onStop、onDestroy


3. 生命周期可分為三個狀態:無論出于哪一種狀態,Activity不會自動釋放自己占有的資源 -- 通過在onPause、onStop、onDestroy中寫代碼釋放資源

1)Resumed:Activity對象運行狀態

2)Paused: 另一個Activity位于前端,但是本Activity還可見 ,如 對話框

3)Stopped:另一個Activity位于前端,完全遮擋本Activity


4. 綁定布局。每新建一個activity,就要繼承(extends)Activity類,復寫onCreate(bundle)方法,然后綁定此activity的布局文件XML

public class BaseSwipeBacek extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main_layout);
	}
}


5.創建的activity必須在AndroidManifest.xml里面注冊,否則運行會拋出異常

<activity
            android:label="second"  //標題
            android:name=".secondActivity" >  //包名.類名  (包名可以省略)
        </activity>


6.啟動Activity

		Intent intent = new Intent();
		intent.setClass(this, SecondActivity.class); //this為Context對象,即當前Activity對象
		startActivity(intent);


7.兩個Activity之間數據傳遞

基本數據類型可以通過Intent進行傳遞

1)傳遞數據

		Intent intent = new Intent();
		intent.setClass(this, SecondActivity.class);
		intent.putExtra("key", "數據");  //第一個參數數Key,第一個參數是要傳遞的數據,可以是任意基本數據類型
		startActivity(intent);

2)取出數據

		Intent intent = getIntent();  
		String str = intent.getStringExtra("key");  //參數為Key,必須與傳遞過來的key一致

3) 如果要傳遞對象,可以通過Serializable序列化后在進行傳遞

    讓類實現Serializable接口,通過intent.getSerializableExtra取出對象

		public class Data implements Serializable{
		private static final long serialVersionUID = -3445893843765959236L;  //序列化的串行版本標示
		
		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");
	}
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青铜峡市| 咸丰县| 乌兰察布市| 济南市| 海安县| 介休市| 东光县| 化州市| 锡林浩特市| 安化县| 沁源县| 开远市| 翼城县| 威海市| 汕尾市| 富民县| 靖边县| 建德市| 安图县| 永泰县| 永修县| 泰兴市| 德清县| 江山市| 莆田市| 通州市| 通化市| 英超| 乡城县| 蒙阴县| 沂水县| 长子县| 海原县| 九寨沟县| 宁陵县| 达拉特旗| 扎鲁特旗| 鲁甸县| 左权县| 延津县| 沙田区|