在android中通过extras传递数据的命名约定

时间:2010-12-13 21:46:17

标签: android android-intent

当传递Intent.putExtra(“myName”,myName)等额外内容时,额外名称的约定是什么?

ie:如果在两个活动之间传递数据,两者都会在id“myName”下放/提取数据,但是我应该在任何地方硬编码“myName”,还是将值保存在R.values.string中?

2 个答案:

答案 0 :(得分:44)

硬编码绝对不是理想的解决方案。

Android框架中使用的约定是创建名为public static final的{​​{1}}常量(其中FOO是您的密钥的名称),如Intent.EXTRA_ALARM_COUNT

常量的实际值是名称间隔字符串以避免冲突:"android.intent.extra.ALARM_COUNT"

如果您不想在活动与常量之间创建依赖关系,那么您应该考虑将这些键放在strings.xml文件中的字符串值中。在xml中定义键时,我倾向于遵循相同的命名约定:

EXTRA_FOO

它仍然像Java一样读取静态常量:

<string name="EXTRA_MY_NAME">com.me.extra.MY_NAME</string>

答案 1 :(得分:0)

我在文档中看到的唯一内容是额外的密钥应该从包名开始。但是我没有完全遵循这个,应用程序到目前为止工作正常。

我更喜欢在代码中使用R.string.some_key来让它干净干燥。

相关问题