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){
}
我有一个字符串资源:
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){
}