当前位置: 移动技术网 > IT编程>移动开发>Android > 关于Android Activity之间传递数据的6种方式

关于Android Activity之间传递数据的6种方式

2019年07月24日  | 移动技术网IT编程  | 我要评论

磁力加热搅拌器,南阳个人二手房网,肌肉男被强制榨精

使用inten的putextra传递

第一个activity中

//创建意图对象
 intent intent = new intent(this,twoactivity.class);
 //设置传递键值对
 intent.putextra("data",str);
 //激活意图
 startactivity(intent);

第二个activity中

// 获取意图对象
 intent intent = getintent();
 //获取传递的值
 string str = intent.getstringextra("data");
 //设置值
 tv.settext(str);

使用intention的bundle传递

第一个activity中

//创建意图对象
 intent intent = new intent(mainactivity.this,twoactivity.class);
 //用数据捆传递数据
 bundle bundle = new bundle();
 bundle.putstring("data", str);
 //把数据捆设置改意图
 intent.putextra("bun", bundle);
 //激活意图
 startactivity(intent);

第二个activity

//获取bundle
 intent intent = getintent();
 bundle bundle = intent.getbundleextra("bun");
 string str = bundle.getstring("data");
 tv.settext(str);

使用activity销毁时传递数据

第一个activity中

  intent intent = new intent(mainactivity.this,twoactivity.class);
  //用一种特殊方式开启activity
 startactivityforresult(intent, 11);
//设置数据
 
protected void onactivityresult(int requestcode, int resultcode, intent data) {
 super.onactivityresult(requestcode, resultcode, data);
 string str = data.getstringextra("data");
 tvone.settext(str);
}

第二个activity中

//设置返回的数据
 intent intent = new intent();
 intent.putextra("data", edtone.gettext().tostring().trim());
 setresult(3, intent);
 //关闭当前activity
 finish();

sharedpreferences传递数据

第一个activity中

sharedpreferences sp = this.getsharedpreferences("info", 1);
 //获取sp编辑器
 editor edit = sp.edit();
 edit.putstring("data", str);
 edit.commit();
 //创建意图对象
 intent intent = new intent(mainactivity.this,twoactivity.class);
 //激活意图
 startactivity(intent);

第二个activity中

sharedpreferences sp = this.getsharedpreferences("info", 1);
 //设置数据
 tv.settext(sp.getstring("data", ""));

使用序列化对象seriazable

工具类

import java.io.serializable;
class databean implements serializable {
 private string name;
 private string sex;
 public string getname() {
 return name;
 }
 public void setname(string name) {
 this.name = name;
 }
 public string getsex() {
 return sex;
 }
 public void setsex(string sex) {
 this.sex = sex;
 }
}

第一个activity

//创建意图
 intent intent = new intent(mainactivity.this,twoactivity.class);
 databean bean = new databean();
 //通过set方法把数据保存到databean对象中
 bean.setname("啦啦");
 bean.setsex("男");
 intent.putextra("key", bean);
 startactivity(intent);

第二个activity

intent intent = getintent();
 //反序列化数据对象
 serializable se = intent.getserializableextra("key");
 if(se instanceof databean){
  //获取到携带数据的databean对象db
  databean db = (databean) se;
  tv.settext(db.getname()+"==="+db.getsex());
 }

使用静态变量传递数据

第一个activity

intent intent = new intent(mainactivity.this,twoactivity.class);
  twoactivity.name="牛逼";
  twoactivity.str="你说";
  startactivity(intent);

第二个activity

//静态变量
protected static string name;
protected static string str;
tv.settext(str+name);

以上所述是小编给大家介绍的关于android activity之间传递数据的6种方式,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网