putExtra名称的最佳实践

时间:2019-07-12 15:55:15

标签: java android string android-intent kotlin

我使用Intent.putExtra(“ name”,value)。 我在putExtra函数中遇到了名称参数问题。

我有3种或更多方式:

1-使用直接字符串-> Intent.putExtra(“ name”,value)

2-在类中使用静态final

public final static KEY = "name";
Intent.putExtra(KEY,value)

3-在值文件夹的string.xml中定义

<resources>
    <string translatable="false" name="name">name</string>
</resources>

并使用这种方式

 Intent.putExtra(getResource().getString(R.string.name,value)

哪种方法比其他方法更好?

2 个答案:

答案 0 :(得分:1)

我建议您创建一个名为IntentConstants.java的新类/接口,并在其中放置- public final static KEY_NAME =“名称”; ....

通过以下方式可以轻松访问: IntentConstants.KEY_NAME

就是这样。另外,您可以存储在strings.xml中,但是我不喜欢它,因为它包含所有与视图相关的字符串,而且您还必须编写过多的代码,而且也很混乱。那是我的意见。 :)

答案 1 :(得分:1)

这取决于您的情况,但是,如果必须多次引用相同的值,通常采用静态方法。

这是为什么:使用局部字符串变量会带来输入错误的风险,并且在更改代码时必须更新对该字符串的每个引用,这意味着它不灵活或不容易修改。

将其存储在strings.xml中不是正确的方法,因为此文件是专门为android本地化而制作的,并且每次都没有对上下文的引用时,每次都必须调用getResources将使生活变得困难

从android开发人员指南中,他们甚至将静态字符串值用作意图示例的一部分。

enter image description here