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

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

即:如果在两个活动之间传递数据,两者都会在ID为“myName”的位置提取/提取数据,但是我应该只是将“myName”硬编码到所有位置,或者将值保存在R.values.string中。

Solutions Collecting From Web of "在android中通过extras传递数据的命名约定"

硬编码绝对不是一个理想的解决scheme。

在Android框架中使用的惯例是创build名为EXTRA_FOO (其中FOO是您的密钥的名称)的public static final常数,如Intent.EXTRA_ALARM_COUNT

常量的实际值是一个名称间隔string,以避免冲突: "android.intent.extra.ALARM_COUNT"

如果你不想在你的Activities和常量之间创build依赖关系,那么你应该考虑把这些关键字放在你的strings.xml文件中的string值中。 在xml中定义键时,我倾向于遵循相同的命名约定:

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

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

 getString(R.string.EXTRA_MY_NAME); 

我在文档中看到的唯一情况是额外的键应该从包名称开始。 但是,我不完全按照这个和应用程序工作好,目前为止。

我宁愿在代码中使用R.string.some_key,以保持干净。