对意图有点误解 - 安卓

时间:2016-08-24 17:35:43

标签: android

在这种情况下:

public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";

我不明白为什么'价值'这是'价值'? 最终我只需要名字" EXTRA_MESSAGE"作为某种价值的关键。 为什么我们需要将值插入Key名称?

1 个答案:

答案 0 :(得分:0)

您不需要名称" EXTRA_MESSAGE",您需要变量EXTRA_MESSAGE的值..

你用这种方式声明变量:

  • public:以便可以从任何类访问
  • final:以便子类
  • 不会覆盖或更改它
  • static:这样可以在不创建对象的情况下访问它 这个变量所在的类

您指定了值以保持一致性。

发送时:

Intent intent = new Intent(...);
intent.putExtra(EXTRA_MESSAGE, "");

收到:

Intent intent = getIntent();
intent.getStringExtra(EXTRA_MESSAGE);

假设您没有声明此变量,那么您将使用硬编码字符串" com.example.myfirstapp.MESSAGE"作为参数。如果您在任何一方错误拼写了参数附加键,请说" Com.example.myfirstapp.MESSAGE",您的代码将无法正常工作..

发送时:

Intent intent = new Intent(...);
intent.putExtra("com.example.myfirstapp.MESSAGE", "");

收到:

Intent intent = getIntent();
intent.getStringExtra("Com.example.myfirstapp.MESSAGE"); // this won't work

希望你能以这种方式宣布字符串...... !!