Added in API level 1

Resources


open class Resources
kotlin.Any
   ↳ android.content.res.Resources

Class for accessing an application's resources. This sits on top of the asset manager of the application (accessible through getAssets) and provides a high-level API for getting typed data from the assets.

The Android resource system keeps track of all non-code assets associated with an application. You can use this class to access your application's resources. You can generally acquire the android.content.res.Resources instance associated with your application with getResources().

The Android SDK tools compile your application's resources into the application binary at build time. To use a resource, you must install it correctly in the source tree (inside your project's res/ directory) and build your application. As part of the build process, the SDK tools generate symbols for each resource, which you can use in your application code to access the resources.

Using application resources makes it easy to update various characteristics of your application without modifying code, and—by providing sets of alternative resources—enables you to optimize your application for a variety of device configurations (such as for different languages and screen sizes). This is an important aspect of developing Android applications that are compatible on different types of devices.

After Build.VERSION_CODES#R, Resources must be obtained by android.app.Activity or android.content.Context created with android.content.Context#createWindowContext(int, Bundle). Application#getResources() may report wrong values in multi-window or on secondary displays.

For more information about using resources, see the documentation about Application Resources.

Summary

Nested classes
open

This exception is thrown by the resource APIs when a requested resource can not be found.

This class holds the current attribute values for a particular theme.

Constants
static Int

The null resource ID.

Public constructors
Resources(assets: AssetManager!, metrics: DisplayMetrics!, config: Configuration!)

Create a new Resources object on top of an existing set of assets in an AssetManager.

Public methods
open Unit
addLoaders(vararg loaders: ResourcesLoader!)

Adds a loader to the list of loaders.

Unit

Called by zygote when it is done preloading resources, to change back to normal Resources operation.

Unit

Call this to remove all cached loaded layout resources from the Resources object.

open XmlResourceParser

Return an XmlResourceParser through which you can read an animation description for the given resource ID.

AssetManager!

Retrieve underlying AssetManager storage for these resources.

open static Int

Returns the resource ID of the resource that was used to create this AttributeSet.

open Boolean

Return a boolean associated with a particular resource ID.

open Int

Returns a color integer associated with a particular resource ID.

open Int
getColor(id: Int, theme: Resources.Theme?)

Returns a themed color integer associated with a particular resource ID.

open ColorStateList

Returns a color state list associated with a particular resource ID.

open ColorStateList

Returns a themed color state list associated with a particular resource ID.

open Configuration!

Return the current configuration that is in effect for this resource object.

open Float

Retrieve a dimensional for a particular resource ID.

open Int

Retrieve a dimensional for a particular resource ID for use as an offset in raw pixels.

open Int

Retrieve a dimensional for a particular resource ID for use as a size in raw pixels.

open DisplayMetrics!

Returns the current display metrics that are in effect for this resource object.

open Drawable!

Return a drawable object associated with a particular resource ID.

open Drawable!

Return a drawable object associated with a particular resource ID and styled for the specified theme.

open Drawable?
getDrawableForDensity(id: Int, density: Int)

Return a drawable object associated with a particular resource ID for the given screen density in DPI.

open Drawable?
getDrawableForDensity(id: Int, density: Int, theme: Resources.Theme?)

Return a drawable object associated with a particular resource ID for the given screen density in DPI and styled for the specified theme.

open Float

Retrieve a floating-point value for a particular resource ID.

open Typeface
getFont(id: Int)

Return the Typeface value associated with a particular resource ID.

open Float
getFraction(id: Int, base: Int, pbase: Int)

Retrieve a fractional unit for a particular resource ID.

open Int
getIdentifier(name: String!, defType: String!, defPackage: String!)

Return a resource identifier for the given resource name.

open IntArray

Return the int array associated with a particular resource ID.

open Int

Return an integer associated with a particular resource ID.

open XmlResourceParser

Return an XmlResourceParser through which you can read a view layout description for the given resource ID.

open Movie!

Return a movie object associated with the particular resource ID.

open String
getQuantityString(id: Int, quantity: Int, vararg formatArgs: Any!)

Formats the string necessary for grammatically correct pluralization of the given resource ID for the given quantity, using the given arguments.

open String
getQuantityString(id: Int, quantity: Int)

Returns the string necessary for grammatically correct pluralization of the given resource ID for the given quantity.

open CharSequence
getQuantityText(id: Int, quantity: Int)

Returns the character sequence necessary for grammatically correct pluralization of the given resource ID for the given quantity.

open String!

Return the entry name for a given resource identifier.

open String!

Return the full name for a given resource identifier.

open String!

Return the package name for a given resource identifier.

open String!

Return the type name for a given resource identifier.

open String

Return the string value associated with a particular resource ID.

open String
getString(id: Int, vararg formatArgs: Any!)

Return the string value associated with a particular resource ID, substituting the format arguments as defined in java.util.Formatter and java.

open Array<String!>

Return the string array associated with a particular resource ID.

open static Resources!

Return a global shared Resources object that provides access to only system resources (no application resources), is not configured for the current screen (can not use dimension units, does not change based on orientation, etc), and is not affected by Runtime Resource Overlay.

open CharSequence
getText(id: Int)

Return the string value associated with a particular resource ID.

open CharSequence!
getText(id: Int, def: CharSequence!)

Return the string value associated with a particular resource ID.

open Array<CharSequence!>

Return the styled text array associated with a particular resource ID.

open Unit
getValue(id: Int, outValue: TypedValue!, resolveRefs: Boolean)

Return the raw data associated with a particular resource ID.

open Unit
getValue(name: String!, outValue: TypedValue!, resolveRefs: Boolean)

Return the raw data associated with a particular resource ID.

open Unit
getValueForDensity(id: Int, density: Int, outValue: TypedValue!, resolveRefs: Boolean)

Get the raw value associated with a resource with associated density.

open XmlResourceParser
getXml(id: Int)

Return an XmlResourceParser through which you can read a generic XML resource for the given resource ID.

Resources.Theme!

Generate a new Theme object for this set of Resources.

open TypedArray!

Retrieve a set of basic attribute values from an AttributeSet, not performing styling of them using a theme and/or style resources.

open TypedArray

Return an array of heterogeneous values.

open InputStream

Open a data stream for reading a raw resource.

open InputStream

Open a data stream for reading a raw resource.

open AssetFileDescriptor!

Open a file descriptor for reading a raw resource.

open Unit
parseBundleExtra(tagName: String!, attrs: AttributeSet!, outBundle: Bundle!)

Parse a name/value pair out of an XML tag holding that data.

open Unit
parseBundleExtras(parser: XmlResourceParser!, outBundle: Bundle!)

Parse a series of <extra> tags from an XML file.

open static Unit

Register the resources paths of a package (e.g. a shared library).

open Unit
removeLoaders(vararg loaders: ResourcesLoader!)

Removes loaders from the list of loaders.

open Unit

Store the newly updated configuration.

Constants

ID_NULL

Added in API level 29
static val ID_NULL: Int

The null resource ID. This denotes an invalid resource ID that is returned by the system when a resource is not found or the value is set to @null in XML.

Value: 0

Public constructors

Resources

Added in API level 1
Resources(
    assets: AssetManager!,
    metrics: DisplayMetrics!,
    config: Configuration!)

Deprecated: Resources should not be constructed by apps. See android.content.Context#createConfigurationContext(Configuration).

Create a new Resources object on top of an existing set of assets in an AssetManager.

Parameters
assets AssetManager!: Previously created AssetManager.
metrics DisplayMetrics!: Current display metrics to consider when selecting/computing resource values.
config Configuration!: Desired device configuration to consider when selecting/computing resource values (optional).

Public methods

addLoaders

Added in API level 30
open fun addLoaders(vararg loaders: ResourcesLoader!): Unit

Adds a loader to the list of loaders. If the loader is already present in the list, the list will not be modified.

This should only be called from the UI thread to avoid lock contention when propagating loader changes.

Parameters
loaders ResourcesLoader!: the loaders to add This value cannot be null.

finishPreloading

Added in API level 1
fun finishPreloading(): Unit

Called by zygote when it is done preloading resources, to change back to normal Resources operation.

flushLayoutCache

Added in API level 1
fun flushLayoutCache(): Unit

Call this to remove all cached loaded layout resources from the Resources object. Only intended for use with performance testing tools.

getAnimation

Added in API level 1
open fun getAnimation(id: Int): XmlResourceParser

Return an XmlResourceParser through which you can read an animation description for the given resource ID. This parser has limited functionality -- in particular, you can't change its input, and only the high-level events are available.

This function is really a simple wrapper for calling getXml with an animation resource.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
XmlResourceParser A new parser object through which you can read the XML data. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

See Also

getAssets

Added in API level 1
fun getAssets(): AssetManager!

Retrieve underlying AssetManager storage for these resources.

getAttributeSetSourceResId

Added in API level 29
open static fun getAttributeSetSourceResId(set: AttributeSet?): Int

Returns the resource ID of the resource that was used to create this AttributeSet.

Parameters
set AttributeSet?: AttributeSet for which we want to find the source. This value may be null.
Return
Int The resource ID for the source that is backing the given AttributeSet or Resources#ID_NULL if the AttributeSet is null.

getBoolean

Added in API level 3
open fun getBoolean(id: Int): Boolean

Return a boolean associated with a particular resource ID. This can be used with any integral resource value, and will return true if it is non-zero.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
Boolean Returns the boolean value contained in the resource.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getColor

Added in API level 1
Deprecated in API level 23
open fun getColor(id: Int): Int

Deprecated: Use getColor(int,android.content.res.Resources.Theme) instead.

Returns a color integer associated with a particular resource ID. If the resource holds a complex ColorStateList, then the default color from the set is returned.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
Int A single color value in the form 0xAARRGGBB.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getColor

Added in API level 23
open fun getColor(
    id: Int,
    theme: Resources.Theme?
): Int

Returns a themed color integer associated with a particular resource ID. If the resource holds a complex ColorStateList, then the default color from the set is returned.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
theme Resources.Theme?: The theme used to style the color attributes, may be null.
Return
Int A single color value in the form 0xAARRGGBB.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getColorStateList

Added in API level 1
Deprecated in API level 23
open fun getColorStateList(id: Int): ColorStateList

Deprecated: Use getColorStateList(int,android.content.res.Resources.Theme) instead.

Returns a color state list associated with a particular resource ID. The resource may contain either a single raw color value or a complex ColorStateList holding multiple possible colors.

Parameters
id Int: The desired resource identifier of a ColorStateList, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
ColorStateList A ColorStateList object containing either a single solid color or multiple colors that can be selected based on a state. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getColorStateList

Added in API level 23
open fun getColorStateList(
    id: Int,
    theme: Resources.Theme?
): ColorStateList

Returns a themed color state list associated with a particular resource ID. The resource may contain either a single raw color value or a complex ColorStateList holding multiple possible colors.

Parameters
id Int: The desired resource identifier of a ColorStateList, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
theme Resources.Theme?: The theme used to style the color attributes, may be null.
Return
ColorStateList A themed ColorStateList object containing either a single solid color or multiple colors that can be selected based on a state. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getConfiguration

Added in API level 1
open fun getConfiguration(): Configuration!

Return the current configuration that is in effect for this resource object. The returned object should be treated as read-only.

Return
Configuration! The resource's current configuration.

getDimension

Added in API level 1
open fun getDimension(id: Int): Float

Retrieve a dimensional for a particular resource ID. Unit conversions are based on the current DisplayMetrics associated with the resources.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
Float Resource dimension value multiplied by the appropriate metric to convert to pixels.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getDimensionPixelOffset

Added in API level 1
open fun getDimensionPixelOffset(id: Int): Int

Retrieve a dimensional for a particular resource ID for use as an offset in raw pixels. This is the same as getDimension, except the returned value is converted to integer pixels for you. An offset conversion involves simply truncating the base value to an integer.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
Int Resource dimension value multiplied by the appropriate metric and truncated to integer pixels.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getDimensionPixelSize

Added in API level 1
open fun getDimensionPixelSize(id: Int): Int

Retrieve a dimensional for a particular resource ID for use as a size in raw pixels. This is the same as getDimension, except the returned value is converted to integer pixels for use as a size. A size conversion involves rounding the base value, and ensuring that a non-zero base value is at least one pixel in size.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
Int Resource dimension value multiplied by the appropriate metric and truncated to integer pixels.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getDisplayMetrics

Added in API level 1
open fun getDisplayMetrics(): DisplayMetrics!

Returns the current display metrics that are in effect for this resource object. The returned object should be treated as read-only.

Note that the reported value may be different than the window this application is interested in.

The best practices is to obtain metrics from WindowManager#getCurrentWindowMetrics() for window bounds. The value obtained from this API may be wrong if Context#getResources() is not from a UiContext. For example, use the DisplayMetrics obtained from Application#getResources() to build android.app.Activity UI elements especially when the android.app.Activity is in the multi-window mode or on the secondary Display.

Return
DisplayMetrics! The resource's current display metrics.

getDrawable

Added in API level 1
Deprecated in API level 22
open fun getDrawable(id: Int): Drawable!

Deprecated: Use getDrawable(int,android.content.res.Resources.Theme) instead.

Return a drawable object associated with a particular resource ID. Various types of objects will be returned depending on the underlying resource -- for example, a solid color, PNG image, scalable image, etc. The Drawable API hides these implementation details.

Note: Prior to android.os.Build.VERSION_CODES#JELLY_BEAN, this function would not correctly retrieve the final configuration density when the resource ID passed here is an alias to another Drawable resource. This means that if the density configuration of the alias resource is different than the actual resource, the density of the returned Drawable would be incorrect, resulting in bad scaling. To work around this, you can instead manually resolve the aliased reference by using getValue(int,android.util.TypedValue,boolean) and passing true for resolveRefs. The resulting TypedValue#resourceId value may be passed to this method.

Note: To obtain a themed drawable, use Context.getDrawable(int) or getDrawable(int,android.content.res.Resources.Theme) passing the desired theme.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
Drawable! Drawable An object that can be used to draw this resource.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getDrawable

Added in API level 21
open fun getDrawable(
    id: Int,
    theme: Resources.Theme?
): Drawable!

Return a drawable object associated with a particular resource ID and styled for the specified theme. Various types of objects will be returned depending on the underlying resource -- for example, a solid color, PNG image, scalable image, etc.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
theme Resources.Theme?: The theme used to style the drawable attributes, may be null.
Return
Drawable! Drawable An object that can be used to draw this resource.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getDrawableForDensity

Added in API level 15
Deprecated in API level 22
open fun getDrawableForDensity(
    id: Int,
    density: Int
): Drawable?

Deprecated: Use getDrawableForDensity(int,int,android.content.res.Resources.Theme) instead.

Return a drawable object associated with a particular resource ID for the given screen density in DPI. This will set the drawable's density to be the device's density multiplied by the ratio of actual drawable density to requested density. This allows the drawable to be scaled up to the correct size if needed. Various types of objects will be returned depending on the underlying resource -- for example, a solid color, PNG image, scalable image, etc. The Drawable API hides these implementation details.

Note: To obtain a themed drawable, use Context.getDrawable(int) or getDrawableForDensity(int,int,android.content.res.Resources.Theme) passing the desired theme.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
density Int: the desired screen density indicated by the resource as found in DisplayMetrics. A value of 0 means to use the density returned from getConfiguration(). This is equivalent to calling getDrawable(int).
Return
Drawable? Drawable An object that can be used to draw this resource. This value may be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getDrawableForDensity

Added in API level 21
open fun getDrawableForDensity(
    id: Int,
    density: Int,
    theme: Resources.Theme?
): Drawable?

Return a drawable object associated with a particular resource ID for the given screen density in DPI and styled for the specified theme.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
density Int: The desired screen density indicated by the resource as found in DisplayMetrics. A value of 0 means to use the density returned from getConfiguration(). This is equivalent to calling getDrawable(int,android.content.res.Resources.Theme).
theme Resources.Theme?: The theme used to style the drawable attributes, may be null if the drawable cannot be decoded.
Return
Drawable? Drawable An object that can be used to draw this resource. This value may be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getFloat

Added in API level 29
open fun getFloat(id: Int): Float

Retrieve a floating-point value for a particular resource ID.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
Float Returns the floating-point value contained in the resource.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist or is not a floating-point value.

getFont

Added in API level 26
open fun getFont(id: Int): Typeface

Return the Typeface value associated with a particular resource ID. {@more}

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
Typeface Typeface The Typeface data associated with the resource. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getFraction

Added in API level 3
open fun getFraction(
    id: Int,
    base: Int,
    pbase: Int
): Float

Retrieve a fractional unit for a particular resource ID.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
base Int: The base value of this fraction. In other words, a standard fraction is multiplied by this value.
pbase Int: The parent base value of this fraction. In other words, a parent fraction (nn%p) is multiplied by this value.
Return
Float Attribute fractional value multiplied by the appropriate base value.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getIdentifier

Added in API level 1
open fun getIdentifier(
    name: String!,
    defType: String!,
    defPackage: String!
): Int

Return a resource identifier for the given resource name. A fully qualified resource name is of the form "package:type/entry". The first two components (package and type) are optional if defType and defPackage, respectively, are specified here.

Note: use of this function is discouraged. It is much more efficient to retrieve resources by identifier than by name.

Parameters
name String!: The name of the desired resource.
defType String!: Optional default resource type to find, if "type/" is not included in the name. Can be null to require an explicit type.
defPackage String!: Optional default package to find, if "package:" is not included in the name. Can be null to require an explicit package.
Return
Int int The associated resource identifier. Returns 0 if no such resource was found. (0 is not a valid resource ID.)

getIntArray

Added in API level 1
open fun getIntArray(id: Int): IntArray

Return the int array associated with a particular resource ID.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
IntArray The int array associated with the resource. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getInteger

Added in API level 1
open fun getInteger(id: Int): Int

Return an integer associated with a particular resource ID.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
Int Returns the integer value contained in the resource.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getLayout

Added in API level 1
open fun getLayout(id: Int): XmlResourceParser

Return an XmlResourceParser through which you can read a view layout description for the given resource ID. This parser has limited functionality -- in particular, you can't change its input, and only the high-level events are available.

This function is really a simple wrapper for calling getXml with a layout resource.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
XmlResourceParser A new parser object through which you can read the XML data. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

See Also

getMovie

Added in API level 1
Deprecated in API level 29
open fun getMovie(id: Int): Movie!

Deprecated: Prefer android.graphics.drawable.AnimatedImageDrawable.

Return a movie object associated with the particular resource ID.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getQuantityString

Added in API level 1
open fun getQuantityString(
    id: Int,
    quantity: Int,
    vararg formatArgs: Any!
): String

Formats the string necessary for grammatically correct pluralization of the given resource ID for the given quantity, using the given arguments. Note that the string is selected based solely on grammatical necessity, and that such rules differ between languages. Do not assume you know which string will be returned for a given quantity. See String Resources for more detail.

Substitution of format arguments works as if using java.util.Formatter and java.lang.String#format. The resulting string will be stripped of any styled text information.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
quantity Int: The number used to get the correct string for the current language's plural rules.
formatArgs Any!: The format arguments that will be used for substitution.
Return
String String The string data associated with the resource, stripped of styled text information. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getQuantityString

Added in API level 1
open fun getQuantityString(
    id: Int,
    quantity: Int
): String

Returns the string necessary for grammatically correct pluralization of the given resource ID for the given quantity. Note that the string is selected based solely on grammatical necessity, and that such rules differ between languages. Do not assume you know which string will be returned for a given quantity. See String Resources for more detail.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
quantity Int: The number used to get the correct string for the current language's plural rules.
Return
String String The string data associated with the resource, stripped of styled text information. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getQuantityText

Added in API level 1
open fun getQuantityText(
    id: Int,
    quantity: Int
): CharSequence

Returns the character sequence necessary for grammatically correct pluralization of the given resource ID for the given quantity. Note that the character sequence is selected based solely on grammatical necessity, and that such rules differ between languages. Do not assume you know which string will be returned for a given quantity. See String Resources for more detail.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
quantity Int: The number used to get the correct string for the current language's plural rules.
Return
CharSequence CharSequence The string data associated with the resource, plus possibly styled text information. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getResourceEntryName

Added in API level 1
open fun getResourceEntryName(resid: Int): String!

Return the entry name for a given resource identifier.

Parameters
resid Int: The resource identifier whose entry name is to be retrieved.
Return
String! A string holding the entry name of the resource.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

See Also

getResourceName

Added in API level 1
open fun getResourceName(resid: Int): String!

Return the full name for a given resource identifier. This name is a single string of the form "package:type/entry".

Parameters
resid Int: The resource identifier whose name is to be retrieved.
Return
String! A string holding the name of the resource.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getResourcePackageName

Added in API level 1
open fun getResourcePackageName(resid: Int): String!

Return the package name for a given resource identifier.

Parameters
resid Int: The resource identifier whose package name is to be retrieved.
Return
String! A string holding the package name of the resource.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

See Also

getResourceTypeName

Added in API level 1
open fun getResourceTypeName(resid: Int): String!

Return the type name for a given resource identifier.

Parameters
resid Int: The resource identifier whose type name is to be retrieved.
Return
String! A string holding the type name of the resource.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

See Also

getString

Added in API level 1
open fun getString(id: Int): String

Return the string value associated with a particular resource ID. It will be stripped of any styled text information. {@more}

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
String String The string data associated with the resource, stripped of styled text information. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getString

Added in API level 1
open fun getString(
    id: Int,
    vararg formatArgs: Any!
): String

Return the string value associated with a particular resource ID, substituting the format arguments as defined in java.util.Formatter and java.lang.String#format. It will be stripped of any styled text information. {@more}

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
formatArgs Any!: The format arguments that will be used for substitution.
Return
String String The string data associated with the resource, stripped of styled text information. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getStringArray

Added in API level 1
open fun getStringArray(id: Int): Array<String!>

Return the string array associated with a particular resource ID.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
Array<String!> The string array associated with the resource. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getSystem

Added in API level 1
open static fun getSystem(): Resources!

Return a global shared Resources object that provides access to only system resources (no application resources), is not configured for the current screen (can not use dimension units, does not change based on orientation, etc), and is not affected by Runtime Resource Overlay.

getText

Added in API level 1
open fun getText(id: Int): CharSequence

Return the string value associated with a particular resource ID. The returned object will be a String if this is a plain string; it will be some other type of CharSequence if it is styled. {@more}

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
CharSequence CharSequence The string data associated with the resource, plus possibly styled text information. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getText

Added in API level 1
open fun getText(
    id: Int,
    def: CharSequence!
): CharSequence!

Return the string value associated with a particular resource ID. The returned object will be a String if this is a plain string; it will be some other type of CharSequence if it is styled.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
def CharSequence!: The default CharSequence to return.
Return
CharSequence! CharSequence The string data associated with the resource, plus possibly styled text information, or def if id is 0 or not found.

getTextArray

Added in API level 1
open fun getTextArray(id: Int): Array<CharSequence!>

Return the styled text array associated with a particular resource ID.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
Array<CharSequence!> The styled text array associated with the resource. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getValue

Added in API level 1
open fun getValue(
    id: Int,
    outValue: TypedValue!,
    resolveRefs: Boolean
): Unit

Return the raw data associated with a particular resource ID.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
outValue TypedValue!: Object in which to place the resource data.
resolveRefs Boolean: If true, a resource that is a reference to another resource will be followed so that you receive the actual final resource data. If false, the TypedValue will be filled in with the reference itself.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getValue

Added in API level 1
open fun getValue(
    name: String!,
    outValue: TypedValue!,
    resolveRefs: Boolean
): Unit

Return the raw data associated with a particular resource ID. See getIdentifier() for information on how names are mapped to resource IDs, and getString(int) for information on how string resources are retrieved.

Note: use of this function is discouraged. It is much more efficient to retrieve resources by identifier than by name.

Parameters
name String!: The name of the desired resource. This is passed to getIdentifier() with a default type of "string".
outValue TypedValue!: Object in which to place the resource data.
resolveRefs Boolean: If true, a resource that is a reference to another resource will be followed so that you receive the actual final resource data. If false, the TypedValue will be filled in with the reference itself.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getValueForDensity

Added in API level 15
open fun getValueForDensity(
    id: Int,
    density: Int,
    outValue: TypedValue!,
    resolveRefs: Boolean
): Unit

Get the raw value associated with a resource with associated density.

Parameters
id Int: resource identifier
density Int: density in DPI
resolveRefs Boolean: If true, a resource that is a reference to another resource will be followed so that you receive the actual final resource data. If false, the TypedValue will be filled in with the reference itself.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

getXml

Added in API level 1
open fun getXml(id: Int): XmlResourceParser

Return an XmlResourceParser through which you can read a generic XML resource for the given resource ID.

The XmlPullParser implementation returned here has some limited functionality. In particular, you can't change its input, and only high-level parsing events are available (since the document was pre-parsed for you at build time, which involved merging text and stripping comments).

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
XmlResourceParser A new parser object through which you can read the XML data. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

newTheme

Added in API level 1
fun newTheme(): Resources.Theme!

Generate a new Theme object for this set of Resources. It initially starts out empty.

Return
Resources.Theme! Theme The newly created Theme container.

obtainAttributes

Added in API level 1
open fun obtainAttributes(
    set: AttributeSet!,
    attrs: IntArray!
): TypedArray!

Retrieve a set of basic attribute values from an AttributeSet, not performing styling of them using a theme and/or style resources.

Parameters
set AttributeSet!: The current attribute values to retrieve.
attrs IntArray!: The specific attributes to be retrieved. These attribute IDs must be sorted in ascending order.
Return
TypedArray! Returns a TypedArray holding an array of the attribute values. Be sure to call TypedArray.recycle() when done with it.

obtainTypedArray

Added in API level 1
open fun obtainTypedArray(id: Int): TypedArray

Return an array of heterogeneous values.

Parameters
id Int: The desired resource identifier, as generated by the aapt tool. This integer encodes the package, type, and resource entry. The value 0 is an invalid identifier.
Return
TypedArray Returns a TypedArray holding an array of the array values. Be sure to call TypedArray.recycle() when done with it. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

openRawResource

Added in API level 1
open fun openRawResource(id: Int): InputStream

Open a data stream for reading a raw resource. This can only be used with resources whose value is the name of an asset files -- that is, it can be used to open drawable, sound, and raw resources; it will fail on string and color resources.

Parameters
id Int: The resource identifier to open, as generated by the aapt tool.
Return
InputStream InputStream Access to the resource data. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

openRawResource

Added in API level 3
open fun openRawResource(
    id: Int,
    value: TypedValue!
): InputStream

Open a data stream for reading a raw resource. This can only be used with resources whose value is the name of an asset file -- that is, it can be used to open drawable, sound, and raw resources; it will fail on string and color resources.

Parameters
id Int: The resource identifier to open, as generated by the aapt tool.
value TypedValue!: The TypedValue object to hold the resource information.
Return
InputStream InputStream Access to the resource data. This value cannot be null.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

openRawResourceFd

Added in API level 1
open fun openRawResourceFd(id: Int): AssetFileDescriptor!

Open a file descriptor for reading a raw resource. This can only be used with resources whose value is the name of an asset files -- that is, it can be used to open drawable, sound, and raw resources; it will fail on string and color resources.

This function only works for resources that are stored in the package as uncompressed data, which typically includes things like mp3 files and png images.

Parameters
id Int: The resource identifier to open, as generated by the aapt tool.
Return
AssetFileDescriptor! AssetFileDescriptor A new file descriptor you can use to read the resource. This includes the file descriptor itself, as well as the offset and length of data where the resource appears in the file. A null is returned if the file exists but is compressed.
Exceptions
android.content.res.Resources.NotFoundException Throws NotFoundException if the given ID does not exist.

parseBundleExtra

Added in API level 3
open fun parseBundleExtra(
    tagName: String!,
    attrs: AttributeSet!,
    outBundle: Bundle!
): Unit

Parse a name/value pair out of an XML tag holding that data. The AttributeSet must be holding the data defined by android.R.styleable#Extra. The following value types are supported:

Parameters
tagName String!: The name of the tag these attributes come from; this is only used for reporting error messages.
attrs AttributeSet!: The attributes from which to retrieve the name/value pair.
outBundle Bundle!: The Bundle in which to place the parsed value.
Exceptions
org.xmlpull.v1.XmlPullParserException If the attributes are not valid.

parseBundleExtras

Added in API level 3
open fun parseBundleExtras(
    parser: XmlResourceParser!,
    outBundle: Bundle!
): Unit

Parse a series of <extra> tags from an XML file. You call this when you are at the parent tag of the extra tags, and it will return once all of the child tags have been parsed. This will call parseBundleExtra for each extra tag encountered.

Parameters
parser XmlResourceParser!: The parser from which to retrieve the extras.
outBundle Bundle!: A Bundle in which to place all parsed extras.
Exceptions
org.xmlpull.v1.XmlPullParserException
java.io.IOException

registerResourcePaths

Added in API level 35
open static fun registerResourcePaths(
    uniqueId: String,
    appInfo: ApplicationInfo
): Unit

Register the resources paths of a package (e.g. a shared library). This will collect the package resources' paths from its ApplicationInfo and add them to all existing and future contexts while the application is running. A second call with the same uniqueId is a no-op. The paths are not persisted during application restarts. The application is responsible for calling the API again if this happens.

Parameters
uniqueId String: The unique id for the ApplicationInfo object, to detect and ignore repeated API calls. This value cannot be null.
appInfo ApplicationInfo: The ApplicationInfo that contains resources paths of the package. This value cannot be null.

removeLoaders

Added in API level 30
open fun removeLoaders(vararg loaders: ResourcesLoader!): Unit

Removes loaders from the list of loaders. If the loader is not present in the list, the list will not be modified.

This should only be called from the UI thread to avoid lock contention when propagating loader changes.

Parameters
loaders ResourcesLoader!: the loaders to remove This value cannot be null.

updateConfiguration

Added in API level 1
Deprecated in API level 25
open fun updateConfiguration(
    config: Configuration!,
    metrics: DisplayMetrics!
): Unit

Deprecated: See android.content.Context#createConfigurationContext(Configuration).

Store the newly updated configuration.