我有一种状况,在经过登陆页面登陆后,每一个activity
上都会有一个退出button
。 html
点击sign-out
,我将传递已登陆用户的session id
以便退出。 谁能指导我如何使session id
可供全部activities
? java
这种状况的任何替代方法 android
在活动之间传递数据的最方便方法是传递意图。 在您要发送数据的第一个活动中,应添加代码, git
String str = "My Data"; //Data you want to send Intent intent = new Intent(FirstActivity.this, SecondActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra("name",str); //Here you will add the data into intent to pass bw activites v.getContext().startActivity(intent);
您还应该导入 github
import android.content.Intent;
而后,在下一个Acitvity(SecondActivity)中,应该使用如下代码从意图中检索数据。 session
String name = this.getIntent().getStringExtra("name");
另外一种方法是使用存储数据的公共静态字段,即: app
public class MyActivity extends Activity { public static String SharedString; public static SomeObject SharedObject; //...
活动之间的数据传递主要是经过意图对象进行的。 框架
首先,您必须使用Bundle
类将数据附加到意图对象。 而后使用startActivity()
或startActivityForResult()
方法调用活动。 this
您能够经过博客文章“将数据传递给Activity”中的示例找到有关它的更多信息。 spa
我最近发布了Vapor API ,这是一个jQuery风格的Android框架,它使诸如此类的各类任务变得更加简单。 如前所述, SharedPreferences
是您能够执行此操做的一种方法。
VaporSharedPreferences
被实现为Singleton,所以是一种选择,而且在Vapor API中,它具备重载的.put(...)
方法,所以您没必要明确担忧要提交的数据类型-只要受支持便可。 它也很流利,所以您能够连接呼叫:
$.prefs(...).put("val1", 123).put("val2", "Hello World!").put("something", 3.34);
它还能够选择自动保存更改,并在后台统一读取和写入过程,所以您无需像在标准Android中同样显式地检索Editor。
或者,您可使用Intent
。 在蒸气API,您还可使用可连接的重载.put(...)
上的方法VaporIntent
:
$.Intent().put("data", "myData").put("more", 568)...
如其余答案中所述,并将其做为额外的内容传递。 您能够从Activity
检索其余内容,此外,若是您使用的是VaporActivity
此操做会自动完成,所以您可使用:
this.extras()
要在“ Activity
的另外一端检索它们,请切换到。
但愿一些人感兴趣:)
您只须要在发送意向时发送额外内容。
像这样:
Intent intent = new Intent(getApplicationContext(), SecondActivity.class); intent.putExtra("Variable name", "Value you want to pass"); startActivity(intent);
如今,在SecondActivity
的OnCreate
方法上,您能够像这样获取其余功能。
若是您发送的值long
:
long value = getIntent().getLongExtra("Variable name which you sent as an extra", defaultValue(you can give it anything));
若是您发送的值为String
:
String value = getIntent().getStringExtra("Variable name which you sent as an extra");
若是您发送的值是Boolean
:
Boolean value = getIntent().getBooleanExtra("Variable name which you sent as an extra", defaultValue);