【问题标题】:Android: Difference between a System Resource and an Application Resource? [duplicate]Android:系统资源和应用程序资源之间的区别? [复制]
【发布时间】:2015-11-08 09:41:35
【问题描述】:
来自Resources 类的 Android 文档:
public static Resources getSystem ()
在 API 级别 1 中添加返回一个全局共享资源对象,该对象
仅提供对系统资源(无应用程序资源)的访问,
并且没有为当前屏幕配置(不能使用维度
单位,不会因方向等而改变)。
什么是系统资源和应用程序资源,它们有什么区别?
【问题讨论】:
标签:
java
android
android-resources
【解决方案1】:
系统资源:
默认情况下,Android OS 具有一些在许多地方使用的资源,例如 cancel 和 ok 字符串。事件图像资源,如close 图标等等。可以通过获取该资源直接在您的应用程序中使用。因为它是静态的,所以绝对可以在任何地方使用它
Resources.getSystem().getString(android.R.string.cancel);//for system resources only
- 对于系统资源,您使用
android.R.(anim, color, string, id, drawable)
应用资源:
在您的应用程序中,您有许多字符串,您可以在许多 UI 组件中使用这些字符串,这些字符串旨在根据场景动态更改,以达到您要使用应用程序资源的目的。您需要context 来获取该应用程序资源,因为它不是静态资源。
getApplicationContext().getResource().getString(R.string.cancel);//cancel string which you've define in values/strings.xml
- 对于您使用
R.(anim,drawable,id,string,color)的应用程序
【解决方案2】:
应用资源是
- 动画资源 (R.anim) --> res/anim
- 颜色状态列表资源(R.color) --> res/color
- 可绘制资源 (R.drawable) --> res/drawable
- 布局资源 (R.layout) -- >res/layout
查看more details的链接
系统资源是
- Android ID (android.R.id)
- Android 的小部件 (android:id/tabs)
- 颜色(android.R.color.transparent)
查看more details的帖子