开发者

naming convention for passing data through extras in android

开发者 https://www.devze.com 2023-01-30 15:03 出处:网络
when passing extras such as Intent.putExtra(\"myName\", myName), what\'s the convention for the name of the extra?

when passing extras such as Intent.putExtra("myName", myName), what's the convention for the name of the extra?

ie: if passing data between two activities, both would put/extract data under the id "myName", but should I just hardcode "myNa开发者_JS百科me" everywhere, or keep the value in the R.values.string?


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);


The only thing I saw in documentation is that extra keys should start from package name. However I do not fully follow this and the app works Ok so far.

I would prefer to use R.string.some_key within the code just to have it clean and dry.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号