android - 通过 Resource 类访问应用程序资源是否与通过上下文访问相同?
问题描述
编写代码时我发现我可以通过getString()
在两者上调用函数来访问字符串资源context
val string = context.getString(...)
和context.resources
val string = context.resources.getString(...)
哪种方法是正确的?为什么是这两种方式?
解决方案
哪种方法是正确的?
哪一个都好。的实现getString()
是:
@NonNull
public final String getString(@StringRes int resId) {
return getResources().getString(resId);
}
(来自源代码)
所以,他们都做同样的事情。
为什么是这两种方式?
getString()
被大量使用。据推测,他们添加了一个辅助方法Context
来简化对字符串资源的访问。然而,虽然他们对几种资源类型执行此操作,但许多其他资源类型只能通过完整Resources
对象获得。
推荐阅读
- python - 我如何使用 urllib3 发布 XML
- php - 将数据绑定到 laravel 刀片时面临的问题
- node.js - 如何在 vscode 中调试子进程?
- wordpress - 如何在 Wordpress 评论的 rel 中添加 nofollow noopener
- c++ - 为什么以下弹出功能无法在主机或设备(cuda)上运行?
- javascript - 远程表单请求后 Chrome 滚动到页面顶部
- c# - 为什么我的 Raycasting 在 Unity3d 中不起作用?
- java - 从 json 响应转换为对象时,ObjectMapper 获得了额外的空间
- python - Tensorflow 1.x 的 feature_columns 项必须是 _FeatureColumn。给定类型是列表
- python - 如何直接在 python 代码中“使用 -m 运行”而不是像“python -m ...”这样的命令?