在android應用的開發中,如果我們需要在不同的模組(比如不同的activity之間)之間傳遞資料,通常有以下兩種方法:
1. 利用intent物件攜帶資料
通過查詢intent/bundle的api文件,我們可以獲知,intent/bundle支援傳遞基本型別的資料和基本型別的陣列資料,以及string/charsequence型別的資料和string/charsequence型別的陣列資料。而對於其它型別的資料貌似無能為力,其實不然,我們可以在intent/bundle的api中看到intent/bundle還可以傳遞parcelable(包裹化,郵包)和serializable(序列化)型別的資料,以及它們的陣列/列表資料。
所以要讓非基本型別和非string/charsequence型別的資料通過intent/bundle來進行傳輸,我們就需要在資料型別中實現parcelable介面或是serializable介面。
1.1 利用parcelable介面實現資料通過intent/bundle進行傳遞
/*** 代表乙個人的資訊
* @author gansc
*/public class personinfo implements parcelable
// from parcelable
// 儲存到包裹中
@override
publicvoid writetoparcel(parcel dest, int flags)
// 實現parcelable介面的型別中,必須有乙個實現了parcelable.creator介面的靜態常量成員字段,
// 並且它的名字必須為creator的
publicstaticfinal parcelable.creatorcreator
=new parcelable.creator()
// from parcelable.creator
@override
public personinfo newarray(int size)};}
Intent 傳遞資料
intent 可傳遞的資料型別 可傳輸的資料型別 a.基本資料型別 陣列 b.string 陣列 c.bundle map d.serializable bean e.parcelable 放在記憶體乙個共享空間裡 基本型別 intent intent new intent this,otherac...
Intent資料傳遞
1 首先是activity的簡單跳 activity的切換一般是通過intent來實現的,intent是乙個activity到達另乙個activity的引路者,它描述了起點 當前activity 和終點 目標activity 乙個簡單intent實現如下 intent intent new inte...
Intent資料傳遞
1 首先是activity的簡單跳 activity的切換一般是通過intent來實現的,intent是乙個activity到達另乙個activity的引路者,它描述了起點 當前activity 和終點 目標activity 乙個簡單intent實現如下 intent intent new inte...