3

From Android documentation for the Resources class:

public static Resources getSystem ()

Added in API level 1 Return a global shared Resources object that provides access to only system resources (no application resources), and is not configured for the current screen (can not use dimension units, does not change based on orientation, etc).

What are system resources and application resources and what is the difference between them?

Cyanotis
  • 118
  • 6
codecitrus
  • 659
  • 6
  • 17

2 Answers2

3

System Resources:

Android OS by default as has some resources which it uses in many places like cancel and ok strings. Event image resources like close icon and many more. One can use the directly in your application by getting that resource. As it's static, so can use it Absolutely everywhere

Resources.getSystem().getString(android.R.string.cancel);//for system resources only

  • For System resources you use android.R.(anim, color, string, id, drawable)

Application Resources:

In your application you have many strings which you use it in many UI Components which is meant to change dynamically on the scenario basis for that purpose you're going to use your application resources. You need a context to get that application resources as it's not static one.

getApplicationContext().getResource().getString(R.string.cancel);//cancel string which you've define in values/strings.xml
  • For application you use R.(anim,drawable,id,string,color)
Vikalp Patel
  • 10,669
  • 6
  • 61
  • 96
1

Application resources are

  1. Animation Resources (R.anim) --> res/anim
  2. Color State List Resource(R.color) --> res/color
  3. Drawable Resources (R.drawable) --> res/drawable
  4. Layout Resource (R.layout) -- >res/layout

see this link for more details


System resources are

  1. Android ids (android.R.id)
  2. Android's widgets (android:id/tabs)
  3. Color (android.R.color.transparent)

see this post for more details

Community
  • 1
  • 1
Cyanotis
  • 118
  • 6