首页 文章

在不同活动中使用值

提问于
浏览
0

我正在尝试构建一个应用程序,它有一个带有按钮的开始屏幕,可以进行多种不同的活动 . 在开始屏幕之后的一个活动中,我得到了我想在另一个后续活动中使用的int值 . 从我所看到的值,通常在使用bundle和Intents的活动之间传递的值有点像这样:

Intent i = new Intent(this,ActivityTwo.class); AutoCompleteTextView textView =(AutoCompleteTextView)findViewById(R.id.autocomplete); String getrec = textView.getText() . toString(); //创建捆绑包Bundle bundle = new Bundle(); //将数据添加到bundle bundle.putString(“stuff”,getrec); //将包添加到intent i.putExtras(bundle); //触发第二个活动startActivity(i);

并在第二个中添加:

//获取bundle Bundle bundle = getIntent() . getExtras(); //提取数据... String stuff = bundle.getString(“stuff”);

但是我不希望我的第三个活动从第二个活动开始,有没有办法发送一个值而不启动它将被使用的其他活动?如果不是,我应该将值传递给开始屏幕活动,并从那里传递到另一个,如果是这样,如何?

3 回答

  • 1

    有几种方法可以在Android中存储数据 . 根据数据类型的不同,可能适用不同的情况:

    1.共享首选项

    以关键值对存储数据 . 这是一些代码

    保存 Value :

    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数据库

    这是一个用于存储信息的关系数据库Here's一个教程 .

    我已经详细介绍了在这种情况下应用的两个,但是你可以在这里查看其余部分https://developer.android.com/guide/topics/data/data-storage.html

  • 0

    你可以声明公共静态变量并在应用程序的任何地方访问它,但这不是一个好的做法尝试使用 . 另一种方法是您可以使用sharedpreference来存储该值

  • 0

    您似乎希望在整个应用程序中保留数据 .

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

    我有更多使用Realm数据库的经验,这将是我的选择 .

    https://sqlite.org/

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

相关问题