Hardcoding is definitely not an ideal solution.
The convention used in the Android framework is to create public static final
constants named EXTRA_FOO
(where FOO is the name of your key) like Intent.EXTRA_ALARM_COUNT
The actual value of the constant is a name spaced string to avoid conflicts: "android.intent.extra.ALARM_COUNT"
If you don't want to create dependencies between your Activities with constants, then you should consider putting these keys into string values within your strings.xml file. I tend to follow the same naming convention when defining the keys in xml:
<string name="EXTRA_MY_NAME">com.me.extra.MY_NAME</string>
It still reads like a static constant from the Java side:
getString(R.string.EXTRA_MY_NAME);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…