2017-04-03 96 views
0

我已經在那裏它包含一個變量變量失去價值

public class MyClass 
{ 
    public static string testenome; 
    public string Testenome 
    { 
     get { return testenome; } 
     set { testenome = value; } 
    } 
} 

當我只要我回到離開我失去了變量的值後臺應用程序的類。

爲了讓我能夠讓變量保持固定,只有當我關閉應用程序時纔會失去它?

+0

不應'testnome'有私人訪問修飾符?你也可以提供如何實例化類和分配值的代碼,如果在你的代碼中發生異常,這可能是範圍相關的 – Jpsh

+0

。 –

+1

您需要提供更多詳細信息。考慮到Android應用的工作原理,這種行爲似乎很正常。我推薦閱讀一個活動的生命週期:https://developer.android.com/guide/components/activities/activity-lifecycle.html – pablochan

回答

0

是的,你可以在SharedPreferences中保存該變量,以便它保持在應用程序內存中,即使它關閉。在SharedPreferences

//MY_PREFS_NAME - a static String variable like: 
//public static final String MY_PREFS_NAME = "MyPrefsFile"; 
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit(); 
editor.putString("name", "TestName"); 
editor.commit(); 

第一設定值現在只要您關閉它後返回到應用程序,只需從SharedPreferences

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String name = prefs.getString("name", "No name defined");//"No name defined" is the default value. 

得到name的值這是保留的最好方式這樣可以直到應用程序卸載。