Activity之间数据的传递
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之间传递数据,可以传递几乎所有的数据类型了