hpique hpique - 2 months ago 10
Android Question

Useful Android system resources

Android comes with lots of system resources (

android.R
) that can be used to save you time and make your application lighter.

For example, I recently discovered that Android provides localized strings for Yes (
android.R.string.yes
), No (
android.R.string.no
), Cancel (
android.R.string.cancel
) and Ok (
android.R.string.ok
), among other strings.

What other system resources do you recommend using? Or is there a reason to avoid using system resources?

Edit: As noted by Tomas, some of this resources might not produce the results you would expect (particularly,
android.R.string.yes/no
returns
OK/Cancel
instead of
Yes/No
, as reported here). For greater control, you can copy system resources from the Android source code.

Answer

You can find a full listing of all system resources in the android package.

Every time I want to do something on Android I check to see if there's a system resource that covers what I want to do. It is helpful to import the Android source code (in particular, their /res/ folder) when searching for already-implemented resources that you might want, so you can see their specific implementation.

Personally, I find myself most often using:

  • Built-in Android layouts for standard tasks, such as spinner dropdowns.
  • Android ids (android.R.id), because you are often required to use these if you want to use some of Android's widgets (for example, TabHost/TabWidget requires you to use "android:id/tabhost", "android:id/tabs" and "android:id/tabcontent" if you want to implement an XML layout).
  • Built-in colors, especially android.R.color.transparent.
  • Android's built-in fade-in and fade-out animations in android.R.anim.