【Android学习】数据传递三种方式

时间:2021-06-05 22:49:41

1、Application

  注意在清单文件中的Application节点下注册android:name属性,

  继承Application类,重写onCreate方法,

使用数据时,实例化自定义类时需要使用getApplication方法以及getText或者setText方法。

2、ClipBoardManager

  剪切板的使用,注意初始化时使用的是getSystemService方法,参数为Context.ClipboardService,

  如果传递的数据为对象,则应该实现Serializable接口,实现可序列化,

  使用ByteArrayOutputStream进行封装,获得byte[]数组,

  使用Base64类进行encodeTostring方法对byte数组封装,flags使用Base64.DEFAULT,

  使用ObjectOutputStream进行对象的写入内存。

  读取时反之。

3、Intent

  初始化时,确定跳转的Activity,

  使用putExtra方法,参数都为key-value对,

  然后跳转,

  获取数据时,Intent使用getIntent方法进行初始化,

  使用getTypeExtra方法,参数为key值获取相关数据,

  完成传递功能。

4、startActivityForResult

  重写onActivityForResult方法,

  该方法需设置一个请求码,

  通过使用setResult返回结果码和数据,

  在第一个Activity获取返回的数据。