Useful Android system resources

hpique picture hpique · Apr 13, 2010 · Viewed 30.4k times · Source

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

Dan Lew picture Dan Lew · Apr 13, 2010

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.