当传递Intent.putExtra(“myName”,myName)等额外内容时,额外名称的约定是什么?
ie:如果在两个活动之间传递数据,两者都会在id“myName”下放/提取数据,但是我应该在任何地方硬编码“myName”,还是将值保存在R.values.string中?
答案 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来让它干净干燥。