Intent傳遞資料時,可以傳遞哪些型別資料?

2021-06-03 08:45:56 字數 1143 閱讀 8681

在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...