Android第六天 Activity间的数据传递

Activity数据传递的四种方式:

1.Intent携带数据

在第一个页面使用Intent对象的put方法 可传递的参数是:

 intent .putExtra("KEY","VALUE");

 参数一:表示的是 key键, 我们将这个值像map一样存放的标示 key

参数二:标示的值 值的类型是基本数据类型 String 和基本数据类型数组等等  

注意:Intent只能传递这种基本数据类型等 和 被序列化的 自定义对象

 Android第六天 Activity间的数据传递

第二个页面(目标页面)获取Intent传递过来的数据:

Android第六天 Activity间的数据传递

2.全局变量

 在Android开发过程中所有的Activity都是在Application内运行的 所以在同一个Application下的Activity可以获取同一个Application

因此:

 第一步:自定义Application类继承 Application

Android第六天 Activity间的数据传递

第二步:在清单文件中的 <application>标签里面添加 name属性 值是第一步定义的类的包名+类名

Android第六天 Activity间的数据传递

第三步:在自定义的MyApplication类里面定义变量引用:

Android第六天 Activity间的数据传递

  第四步:在需要的地方获取MyApplication对象并给里面的引用赋值

Android第六天 Activity间的数据传递

  第五步:在需要的地方获取 已经存在MyApplication里面的值

Android第六天 Activity间的数据传递3.静态变量:该方法不推荐使用

 第一步:定义一个 全局的静态变量

Android第六天 Activity间的数据传递 第二步:在需要的地方给这个变量赋值

Android第六天 Activity间的数据传递

 第三步:在需要的时候获取这个数值:

Android第六天 Activity间的数据传递

4.Activity回传值:

 Activity回传值 表示的是 从Activity1将数据传递到Activity2,当销毁掉Activity2的时候可以在Activity1接收到Activity2传递过来的数据

Android第六天 Activity间的数据传递

 Activity1 中的代码:

 1.跳转到第二个页面Android第六天 Activity间的数据传递

 在Activity1中重写方法 ,用来接收Activity2回传过来的值:Android第六天 Activity间的数据传递

Activity2 中的代码:Android第六天 Activity间的数据传递