我现在知道,如果我需要在一些静态函数中获取一个recource,我必须以某种方式通过参数或通过静态变量传递上下文的上下文或资源.但为什么有必要呢?例如,资源的id 可以在静态环境中到达R.string.some_my_stuff.如果我想要一个系统资源,那么它也是可见的Resources.getSystem().getString(android.string.some_common_stuff).但为什么我不能做类似的事情来获取应用程序资源?资源文件是源的常见静态部分.资源是静态的,属于应用程序.应用程序类以相同的方式属于它,我可以以静态方式访问它们的静态部分.
为什么我不能以相同的静态方式在所有应用程序中使用资源,这是最自然的,但必须通过实例访问它们?
我害怕,我不明白一些非常重要的事情.
请不要重复,我不能这样做.我知道,我的荣幸.请解释原因,或者告诉我道路......只有这样才能治愈我的悲伤:-)谢谢.
每个应用程序的资源 ID 都是唯一的,但并非所有应用程序(包括 Android 系统)中的资源 ID 都是唯一的。例如,不同的应用程序中可能有两个不同的字符串具有相同的ID,例如42。因此,您只能静态访问一个应用程序(每个程序员都必须同意哪一个是Android系统(没有选择,它是唯一的一个)始终安装))。对于所有其他应用程序,您必须能够告诉系统您想要访问哪个应用程序的资源。您可以使用上下文来执行此操作。
| 归档时间: |
|
| 查看次数: |
721 次 |
| 最近记录: |