一、Android傳值Intent和Bundle的區(qū)別

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

京公網(wǎng)安備 11010802030320號