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

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

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

  • 使用Intents或事件总线在相同的应用程序内进行通信
  • 如何在Android中打开新的屏幕?
  • 如何使用intent停止android中的活动?
  • debugging意图
  • Intent和Bundle的简单示例
  • startActivity上的rjava.lang.IllegalArgumentException(intent,bundle animantion)
  • 如何通过Android应用程序在谷歌加分享图像?
  • 在某些设备上,Android Deep链接会转到PlayStore而不是我的应用
  • 硬编码绝对不是一个理想的解决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,以保持干净。