Android。获取非 activity class 的字符串资源

Android. Get string resource for a non-activity class

我有一个字符串资源:

strings.xml
<resources>
    <string name="myString">stringName</string>
</resources>

如何从非activity-class获取字符串?

我做不到getResources().getString(R.string.myString)

您必须使用对上下文的引用才能访问资源。 我建议扩展应用程序 class 并创建一个应用程序单例,然后调用:

MyApplication.getInstance().getString(R.string.myString);

或将其注入您选择的class。

这种方法的问题在于它会使您的 class 更难测试,因为现在它使用 Android 上下文。我建议通过构造函数或首选方法将字符串作为依赖项传递给非 activity class 选择。

public MyClass(String string){
}