一、Android傳值Intent和Bundle的區(qū)別
1、數(shù)據類型不同
Intent
可以傳遞任何類型的數(shù)據,包括基本數(shù)據類型、對象、數(shù)組等。而Bundle
只能傳遞一些特定的數(shù)據類型,如基本數(shù)據類型和字符串,以及Parcelable
和Serializable
類型的對象。
2、傳遞方式不同
Intent
可以通過putExtra()
方法來傳遞數(shù)據,也可以在構造方法中傳遞數(shù)據。而Bundle
只能通過putXXX()
方法來添加數(shù)據,然后將Bundle
作為參數(shù)傳遞給Intent
。
3、作用范圍不同
Intent
的作用范圍比Bundle
大,它不僅可以傳遞數(shù)據,還可以啟動另一個活動或服務,或者發(fā)送廣播等。而Bundle
只是一個用于封裝數(shù)據的容器,沒有其他功能。
4、適用場景不同
由于Intent
具有比Bundle
更廣泛的作用范圍,因此在需要啟動其他活動或服務、發(fā)送廣播等場景下,使用Intent
更加方便。而在只需要傳遞一些簡單數(shù)據類型的情況下,使用Bundle
更加適合。