我有一種狀況,在經過登陸頁面登陸後,每一個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);