2015-04-22 134 views
0

我正在製作一個測驗應用程序,通過在第一個活動中使用他們的名字來歡迎用戶,這就是我迄今爲止所做的。現在我想在ResultActivity中打印用戶的名字,以及如何在同一個項目的兩個不同類中添加一個名稱?在兩個類別中打印同名

Intent intent = new Intent(name.this, Main.class); 
intent.putExtra("name", et.getText().toString()); 
startActivity(intent); 

這在Main類投擲的名字,我想在Result活動的名稱爲好。

感謝

回答

2

最簡單的方法是將用戶的名稱作爲鍵和值存儲在Shared Preferences文件中。

SharedPreferences - 以正確的方式

SharedPreferences提供方便的保存堅持在設備上的存儲簡單的值。我們經常使用它來存儲一些用戶或應用程序的偏好,並在許多地方共享它 - 例如多個活動。 (在你的情況下,你想存儲用戶的名字並在多個活動之間分享)。

基本上,在Android中使用SharedPreferences時,可以執行兩個主要操作。這是商店數據和加載數據。您應該:

  • 創建新的SharedPreferences對象。
  • 然後從該對象獲取一個Editor實例。 Editor對象將幫助您處理您存儲的數據。
  • 使用putString,putBoolean方法來存儲配對鍵/值。
  • 使用getBoolean,getString來獲取所需的值。

簡單地說,使用這種自定義的方法來保存用戶名:

private void savePreferences(String key, String value) { 
     SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit(); 
     editor.putString(key, value); 
     editor.commit(); 
    } 

使用示例:

savePreferences("name", et.getText().toString()); 

現在,你可以在任何你想要的活動從偏好檢索用戶的姓名。 (Result,Main ...)

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String name = prefs.getString("name", null); 

希望我幫了忙。快樂編碼:D

0

在結果的活動: 中的onCreate您可以通過使用

String name = getIntent().getStringExtra("name", "A_Default_String"); 
1

你可以從主類再派意圖ResultActivity

String name = getIntent().getStringExtra("name");// get the string from previous activity 

//pass the intent to the ResultActivity 
Intent intent = new Intent(Main.this, ResultActivity.class); 
      intent.putExtra("name", name); 
      startActivity(intent); 

另一種方法,你可以做的是在SharedPreference保存名稱。僅供參考,請點擊http://www.tutorialspoint.com/android/android_shared_preferences.htm