[英]Using values in different activities
我正在尝试构建一个带有一个开始屏幕的应用程序,该屏幕带有用于引导几种不同活动的按钮。 在“开始”屏幕之后的一项活动中,我获得了要在其他后续活动中使用的int值。 从我所看到的,值通常是使用捆绑和意图在活动之间传递的,如下所示:
意图i =新意图(this,ActivityTwo.class); AutoCompleteTextView textView =(AutoCompleteTextView)findViewById(R.id.autocomplete); 字符串getrec = textView.getText()。toString();
//创建包Bundle bundle = new Bundle();
//将您的数据添加到bundle bundle.putString(“ stuff”,getrec);
//将包添加到意图i.putExtras(bundle);
//触发第二个活动startActivity(i);
并在第二个中添加:
//获取包Bundle bundle = getIntent()。getExtras();
//提取数据…String stuff = bundle.getString(“ stuff”);
但是我不希望我的第二个活动从第二个活动开始,有没有一种方法可以在不开始使用另一个活动的情况下发送值? 如果不是,我应该将这些值传递给开始屏幕活动,然后从那里传递给另一个活动,如果可以的话,该怎么办?
有两种方法可以在Android中存储数据。 根据数据类型的不同,可能会出现以下情况:
将数据存储在键值对中。 这是一些代码
保存值:
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", mSilentMode);
editor.commit();
检索值:
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean("silentMode", false);
这是一个用于存储信息的关系数据库这是一个教程。
我已经详细介绍了在这种情况下适用的两种方法,但是您可以在此处查看其余内容:https://developer.android.com/guide/topics/data/data-storage.html
您可以声明公共静态变量,并在应用程序中的任何位置访问它,但尝试使用并不是一个好习惯。 另一种方法是您可以使用sharedpreference存储该值
似乎您拥有要在整个应用程序中保留的数据。
读入SQLite数据库或领域数据库。
我在使用Realm数据库方面有更多经验,因此这将是我的选择。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.