Android開發中activity中傳遞數據的四種方式【收藏其他大佬的代碼】

通過intent方式傳遞

(1)傳遞字符串等

發送端activity
發送端activity
接收端activity
在這裏插入圖片描述

(2)傳遞一個對象法1(Serializable是java中自帶的方法數據存在內存中)

傳遞activity中的代碼,並且傳遞的對象必須接上Serializable這個接口如第二個圖
在這裏插入圖片描述
在這裏插入圖片描述

接收activity代碼
在這裏插入圖片描述

 

(3)傳遞一個對象法2(Serializable是android的方法數據存在運行內存中)
這個方法比較麻煩在需要用到的這個對象中必須寫底層代碼


public class Obj2 implements Parcelable{
	private String name;
	private String age;
	
	public void setAge(String age) {
		this.age = age;
	}
	
	public String getAge() {
		return age;
	}
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Override
	public int describeContents() {
		return 0;
	}
	
	public static Parcelable.Creator<Obj2> CREATOR = new Creator<Obj2>() {

		@Override
		public Obj2 createFromParcel(Parcel source) { //寫出值
			Obj2 obj2 = new Obj2();
			obj2.setName(source.readString()); //在寫入值過程中先寫入了name後寫了age
												//所以在寫出值這個也要遵循這個順序
			obj2.setAge(source.readString());
			return obj2;
		}

		@Override
		public Obj2[] newArray(int size) {
			// TODO Auto-generated method stub
			return null;
		}
	}; 
	@Override
	public void writeToParcel(Parcel dest, int flags) {//寫入值
		dest.writeString(name);
		dest.writeString(age);
	}

}

傳入數據的activity和第一種方法一致
在這裏插入圖片描述
傳出數據也是一致的
在這裏插入圖片描述

 

通過靜態變量傳遞數據

單獨設置一個類放靜態變量
在這裏插入圖片描述
在傳入數據的activity中將帶有數據的對象傳給這個靜態變量,之後取出即可。
在這裏插入圖片描述
值得注意的是必須在這個取出數據的activity中將這個靜態變量中的數據清空
在這裏插入圖片描述

 

通過全局對象傳遞數據

首先須要將你要傳遞的對象繼承application
在這裏插入圖片描述在數據數據的activity中獲取對象
在這裏插入圖片描述

同樣,在數據接收端也要獲取對象
在這裏插入圖片描述

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章