将字符串存储到永久变量问题中

时间:2014-03-08 03:50:51

标签: java android string settext

我试图将变量(NumberString)中的字符串存储到另一个变量(PermenantString) 当字符串输入到PermenantString时,它应该永久存储在该变量中,直到删除应用程序或者我专门创建一个按钮来清除PermenantString变量。

MainAvtivity

public class MainActivity extends Activity {

    public final String PermenantString= "";

verified.class

    public void onCreate(Bundle savedInstanceState)

     {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.verified);

        Button VerifyCompleteButton = (Button) findViewById(R.id.VerifyCompleteButton);

        VerifyCompleteButton.setOnClickListener(new View.OnClickListener()

        {
           public void onClick(View view) 
           {    

             String NumberString;
             String PermenantString;
             //TextView NUMView;

             TextView NUMView = (TextView) findViewById(R.id.NUMView);

             Bundle bundle = getIntent().getExtras();

             NumberString= bundle.getString("NumberString");
             PermenantString = bundle.getString("PermenantString");


            PermenantString= NumberString.toString();
             //set String PermenantString= ""; permenantly

            NUMView.setText(PermenantString);
             //
           } 



           });

2 个答案:

答案 0 :(得分:2)

您应该使用首选项或sqlite来存储数据。检查存储选项@

http://developer.android.com/guide/topics/data/data-storage.html

示例:

public static final String PREFS_NAME = "MyPrefsFile";

然后

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("key", stringvalue);
editor.commit();

然后获得

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
String value = settings.getString("key","defaultstring");

答案 1 :(得分:1)

请注意,变量存储在易失性RAM内存中。通过volatile,我的意思是只有在您的应用程序运行时才会存储该值。这与您似乎想要的永久性完全相反。

为了保存在销毁应用程序后仍然存在的变量,必须使用某些存储机制,例如SharedPreferences或SQLite数据库。有关详细信息,请阅读Android开发人员指南中的Storage Options