为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Android应用程序中的活动之间传递数据?

如何在Android应用程序中的活动之间传递数据?

慕丝7291255 2019-05-20 17:40:09
我有一个场景,通过登录页面登录后button,每个都会有一个注销activity。点击后sign-out,我将通过session id已登录用户登出。任何人都可以指导我如何让session id所有人都可以使用activities吗?任何替代这种情况
查看完整描述

4 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

最简单的方法是将会话ID传递给Intent您用于启动活动的注销活动:


Intent intent = new Intent(getBaseContext(), SignoutActivity.class);

intent.putExtra("EXTRA_SESSION_ID", sessionId);

startActivity(intent);

访问意图下一个活动


String sessionId= getIntent().getStringExtra("EXTRA_SESSION_ID");

Intent 的文档有更多信息(请参阅标题为“Extras”的部分)。


查看完整回答
反对 回复 2019-05-20
?
ITMISS

TA贡献1871条经验 获得超8个赞

在当前的Activity中,创建一个新的Intent:


String value="Hello world";

Intent i = new Intent(CurrentActivity.this, NewActivity.class);    

i.putExtra("key",value);

startActivity(i);

然后在新的Activity中,检索这些值:


Bundle extras = getIntent().getExtras();

if (extras != null) {

    String value = extras.getString("key");

    //The key argument here must match that used in the other activity

}

使用此技术将变量从一个Activity传递到另一个Activity。


查看完整回答
反对 回复 2019-05-20
?
阿晨1998

TA贡献2037条经验 获得超6个赞

Erich指出,传递Intent附加功能是一种很好的方法。

应用程序对象虽然是另一种方式,并跨多个活动相同的状态打交道时(而不是让获得/把它无处不在),有时更容易,或者比的对象原语和字符串更加复杂。

您可以扩展Application,然后设置/获取您想要的任何内容,并使用getApplication()从任何Activity(在同一个应用程序中)访问它。

另请注意,您可能会看到的其他方法(如静态)可能会出现问题,因为它们可能会导致内存泄漏。应用程序也有助于解决此问


查看完整回答
反对 回复 2019-05-20
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

来源类:


Intent myIntent = new Intent(this, NewActivity.class);

myIntent.putExtra("firstName", "Your First Name Here");

myIntent.putExtra("lastName", "Your Last Name Here");

startActivity(myIntent)

目标类(NewActivity类):


protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.view);


    Intent intent = getIntent();


    String fName = intent.getStringExtra("firstName");

    String lName = intent.getStringExtra("lastName");

}


查看完整回答
反对 回复 2019-05-20
  • 4 回答
  • 0 关注
  • 876 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信