从另一个Activity导入字符串

时间:2017-07-20 08:05:57

标签: java android string

我在一个活动中创建了一个字符串,我想让它在另一个活动中可用。我怎么能这样做?

这是字符串:

->toSql()

5 个答案:

答案 0 :(得分:2)

有三种方法可以做到这一点

  • 将此String变量保存在共享首选项和第二个Activity get中 价值。
  • 将此变量定义为公共静态字符串日期并从中访问它 第二个活动,如Activity.date直接
  • 将此变量定义为私有String日期并为其创建getter方法 在同一活动中,然后从其他活动中调用它

答案 1 :(得分:2)

最常见的互动:

  1. 您可以按startActivity(new Intent(this, NextActivity.class).putExtra("STRING", yourString));
  2. 路径字符串
  3. 您可以使用instance / static var
  4. 创建单例和/或类
  5. 您可以在Application类中创建一个变量,以便在任何地方使用。
  6. 您可以使用共享偏好来存储和检索数据。

答案 2 :(得分:0)

在某些Utils类中创建一个静态方法,可以在任何需要的地方返回此字符串

答案 3 :(得分:0)

使用意图将其传递给其他活动(https://developer.android.com/guide/components/intents-filters.html)或将其存储到共享偏好设置(https://developer.android.com/training/basics/data-storage/shared-preferences.html)。

Intent的工作原理如下:

// Write
Intent intent = new Intent(context, Activity.class);
intent.putExtra("EXTRA_PARAMETER", parameterValue);
startActivity(intent);

//Read
String parameter = getIntent().getStringExtra("EXTRA_PARAMETER");

共享偏好的工作原理如下:

// Write
SharedPreferences sharedPref = 
getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();

// Read
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.string.saved_high_score_default);
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue);

答案 4 :(得分:0)

您需要将其作为额外内容传递:

String easyPuzzle  = "630208010200050089109060030"+
                 "008006050000187000060500900"+
                 "09007010681002000502003097";

 Intent i = new Intent(this, ToClass.class);
 i.putExtra("epuzzle", easyPuzzle);
      startActivity(i); 

然后从您的新活动中提取它:

Intent intent = getIntent();
String easyPuzzle = intent.getExtras().getString("epuzzle");