假设我们通过单击一个按钮将从一个活动 Main_Activity 的文本框接收到的数据发送到另一个活动 Display_Message_Activity。
在 Main_Activity 中:步骤 1:声明最终字符串
public final static String EXTRA_MESSAGE="com.example.myfirstapp.MESSAGE";
第 2 步:将点击分配给按钮
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
第 3 步:在 DisplayMessageActivity 中,
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
// Set the text view as the activity layout
setContentView(textView);
}
现在我的问题是我们为什么要使用intent.getStringExtra(MainActivity.EXTRA_MESSAGE); ?? 取而代之的是,我们可以在按钮单击时轻松更新静态字符串MainActivity.EXTRA_MESSAGE的值,然后直接访问它并将 EXTRA_MESSAGE 字符串的值分配给 DisplayMessageActivity 中的 *消息字符串。我的意思是,步骤:1
public static String EXTRA_MESSAGE="com.example.myfirstapp.MESSAGE";
第2步
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
EXTRA_MESSAGE=message;
startActivity(intent);
}
步骤:3
.
.
.
String message=MainActivity.EXTRA_MESSAGE;
.
.
.
那么为什么在消息传递的情况下首选使用 Intent 呢?