繁体   English   中英

在不同活动中使用价值

[英]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中存储数据。 根据数据类型的不同,可能会出现以下情况:

1.共享首选项

将数据存储在键值对中。 这是一些代码

保存值:

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);

2. SQLite数据库

这是一个用于存储信息的关系数据库这是一个教程。

我已经详细介绍了在这种情况下适用的两种方法,但是您可以在此处查看其余内容:https://developer.android.com/guide/topics/data/data-storage.html

您可以声明公共静态变量,并在应用程序中的任何位置访问它,但尝试使用并不是一个好习惯。 另一种方法是您可以使用sharedpreference存储该值

似乎您拥有要在整个应用程序中保留的数据。

读入SQLite数据库或领域数据库。

我在使用Realm数据库方面有更多经验,因此这将是我的选择。

https://sqlite.org/

https://realm.io/docs/java/latest/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM