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

我有一个场景,通过登录页面登录后button,每个都会有一个注销activity

点击后sign-out,我将通过session id已登录用户登出。任何人都可以指导我如何让session id所有人都可以使用activities吗?

任何替代这种情况


慕丝7291255
浏览 877回答 4
4回答

素胚勾勒不出你

最简单的方法是将会话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”的部分)。

ITMISS

在当前的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。

阿晨1998

Erich指出,传递Intent附加功能是一种很好的方法。该应用程序对象虽然是另一种方式,并跨多个活动相同的状态打交道时(而不是让获得/把它无处不在),有时更容易,或者比的对象原语和字符串更加复杂。您可以扩展Application,然后设置/获取您想要的任何内容,并使用getApplication()从任何Activity(在同一个应用程序中)访问它。另请注意,您可能会看到的其他方法(如静态)可能会出现问题,因为它们可能会导致内存泄漏。应用程序也有助于解决此问

沧海一幻觉

来源类: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");}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Android