android.os.Bundle 中的 getInt(string key) return 得到的整数是多少?

what is the integer that return by getInt(string key) in android.os.Bundle?

我阅读了有关 getInt() 方法的文档:

public int getInt (String key)

Returns the value associated with the given key, or 0 if no mapping of the desired type exists for the given key.

Parameters:

key a string

return:

an int value

但我不明白它到底是什么 return。

在 R.java 中的 key 的 ID 或者没有其他东西???

没有比举个例子更好的了

假设您有两个活动:Activity1 和 Activity2,并且您想在之后传递数据:

Activity1

private static final String MY_KEY = "My Key"
Intent intent = new Intent(Activity1.this, Activity2.class);
Bundle b = new Bundle();

b.putInt(MY_KEY, 112233);

intent.putExtras(b);

startActivity(intent);

Activity 2

private static final String MY_KEY = "My Key"
Bundle b = getIntent().getExtras();

int value = b.getInt(MY_KEY , 0);

//value now have the value 112233

在此示例中,“Returns 与给定键关联的值,如果给定键不存在所需类型的映射,则为 0。”是什么意思?

使用 Bundle,您使用密钥 "MY_KEY" 将值 112233 从 Activity 1 发送到 Activity 2。因此,"MY_KEY" 与 112233 关联。

如您所见,还有第二个参数“0”。

It is the default value. In situation when Bundle doesn’t contains data you will receive “0” (default value).

它 returns 无论您用相同的密钥放入该捆绑包中。

Bundle bundle = new Bundle();
bundle.putInt("KEY", 1);
int value = bundle.getInt("KEY"); // returns 1

它只是一个 map/dictionary 数据类型,您可以在其中将字符串值映射到其他内容。如果您有其他数据类型,您应该为该数据类型使用适当的 put/get-methods。