1. 程式人生 > >Activity之間數據的傳遞

Activity之間數據的傳遞

nac sta bundle tar this int 傳遞數據 code 映射

1 有關系的方法

method 作用
第一個Activity startActivityForResult() 以這樣的方式開啟一個intent會觸發此Activity的onActivityResult()並接受返回來的數據
onActivityResult() 在這裏處理接收回來的數據
onSaveInstanceState(Bundle outState) 在onStop()執行前執行,用於保存activity的狀態
第二個Activity setResult(0, intent) 這個方法下設置請求碼與返回的intent(這個intent主要用於攜帶數據)

2 數據傳送媒介(就是Intent和Bundle這兩個改選哪一個)

給你來一段源碼就知道了

  public @NonNull Intent putExtra(String name, String value) {
        if (mExtras == null) {
            mExtras = new Bundle();
        }
        mExtras.putString(name, value);
        return this;
    }

這是Intent.putExtra()的源碼,可以看到其實就是調用的Bundle,所有隨便我們怎麽用都OK的

3 Bundle的一些簡介

A mapping from String keys to various {@link Parcelable} values.  一個從鍵到值的映射
目前我知道的作用也就是Activity之間傳遞數據,可以傳遞幾乎所有的數據類型了

Activity之間數據的傳遞