2014-03-03 35 views
0

我對java和android有一個基本的理解,但我仍然是新的,並且正在努力尋找保存變量並能夠訪問它的正確方法/從其他類/活動中讀取它。我見過單身人士,但如果它是正確的方式,看起來如何,我會感到困惑,我是否也需要確保它的線程安全?在android上保存變量直到應用程序關閉

有沒有更好的方法,我不知道?

基本上我有一個用戶名和一些關於該用戶的信息。我怎樣才能將它保存到一個類/單例中並在以後訪問?

編輯

後,一些搜索,我發現這個例子:

public class Drivers { 

     private static Array drivers; 


      public static void setDrivers(Array c){ 
       drivers = c; 
      } 


      public static Array getDrivers(){ 
       return drivers; 
      } 


} 

並獲得和設置是這樣的:

public class AnyClass { 
{ 
    int clicks = ActionClass.getDrivers(); 
    ActionClass.setDrivers(0); 
} 

將這項工作/是正確的?

+0

我中有你可以保存這個變量爲一個常量類 –

+0

嘗試按一個更好的主意我的回答 –

回答

3

創建Constant類,如:

public class Constant {  
public static String USERNAME = ""; 
public static String PASSWORD = ""; 

}

現在,你可以設置像

Constant.USERNAME = "uname"; 
Constant.PASSWORD= "password"; 

Activity1這個值現在,在Activity2得到這個值,如:

String u_name = Constant.USERNAME; 
String pass = Constant.PASSWORD; 

您可以在應用程序的任何位置訪問這些變量。

和/或偏好去我這樣的回答:Android. How to save user name and password after the app is closed?

+0

我只是創建一個普通的新java類,或者是一個常量類有點不同嗎? – BluGeni

+0

@BluGeni是你包裝中的任何地方 –

+0

這比我做出來的要容易得多,非常感謝你的簡單答案,完美的作品,我需要如何 – BluGeni

0

你可以使用SharedPreferences(一種持久層)。或者你可以通過Intent傳遞數據。

+0

即使應用程序關閉正確,SharedPreferences仍然保存值?並與意圖,我將不得不通過每個活動的變量來跟蹤他們? – BluGeni

0

您可以使用sharedPreferences

SharedPreferences sharedPreferences = PreferenceManager 
      .getDefaultSharedPreferences(getApplicationContext()); 

SharedPreferences.Editor editor = sharedPreferences.edit(); 
editor.putString("PASSWORD_KEY", mPassword); 
editor.commit(); 

String s = sharedPreferences.getString("PASSWORD_KEY", ""); // get the saved string 
相關問題