如何在android中定义静态变量? [关闭]
Posted
技术标签:
【中文标题】如何在android中定义静态变量? [关闭]【英文标题】:how can I define static var in android? [closed] 【发布时间】:2017-06-29 16:38:52 【问题描述】:我知道这段代码一定很简单。但是我没听懂。
public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
我知道public final static String EXTRA_MESSAGE
定义了一个静态变量。
但什么是“com.example.myfirstapp.MESSAGE”?
代码是here。
【问题讨论】:
这是您成功定义为静态变量的字符串文字的值,这使得您完全不清楚您在问什么。 如果您解释了 EXTRA_MESSAGE 的用途,人们理解起来就不会那么困难了。仅链接到它被认为是 SO 的不良做法。我怀疑它是一个意图的标识符,但我不熟悉 android 编程。 【参考方案1】:这只是传递给另一个活动的一些文本......这只是一个示例
在教程中,他们想展示如何向另一个活动发送额外的消息。
您可以通过在intent.putExtra(EXTRA_MESSAGE, message);
中添加一条额外消息来做到这一点,然后在另一个活动中,您可以使用String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
捕获它
EXTRA_MESSAGE
这里有一些标签或密钥,可以得到你想要的。
【讨论】:
【参考方案2】:EXTRA_MESSAGE
被声明为string
所以,它是一个字符串类型variable
可以容纳字符串
所以也可以这样
public final static String EXTRA_MESSAGE = "any string or text here";
【讨论】:
【参考方案3】:EXTRA_MESSAGE 是一个键,用于通过 Intent 传递 string
。
例如:
public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
Intent i = new Intent(FirstScreen.this, SecondScreen.class);
String strName = null;
i.putExtra("EXTRA_MESSAGE", strName);
//Then, to retrieve the value try something like:
String newString;
if (savedInstanceState == null)
Bundle extras = getIntent().getExtras();
if(extras == null)
newString= null;
else
newString= extras.getString("EXTRA_MESSAGE");
else
newString= (String) savedInstanceState.getSerializable("EXTRA_MESSAGE");
【讨论】:
以上是关于如何在android中定义静态变量? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
static修饰的静态变量与实例变量的区别,及其在初始化和内存中的运行机制详解