Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Android Build an Interactive Story App Intents and Multiple Activities Getting Resources from the Context

Difference between getResources().getString() and getString()

i found out that there are 2 ways to get a string from strings resource:

1st way:

Resources resources = getResources();

String key = resources.getString(R.string.key_name);

the 2nd way:

String key = getString(R.string.key_name);

i wonder what is the difference between the two ways above, i find the 2nd way is much easier so i wonder if it's a good practice to use the first way or something..

thanks in advance.

1 Answer

Ben Jakuben
Ben Jakuben
Treehouse Teacher

I almost always use the shortcuts (getString(R.string.some_name)). Using the Resources class is needed when you're trying to access things outside of an Activity. In that case, you'll most likely pass in the context and get things from there.

Daniel Peng
Daniel Peng
4,072 Points

Can we use the shortcut in the MainActivity class? Is there a reason why we used it there?

Ben Jakuben
Ben Jakuben
Treehouse Teacher

You sure can! The reason I showed the longer way was to explain how it works first before switching to the shortcut. Sometimes it's good to write your code using a few extra lines to make things perfectly clear for others, or even for yourself when you come back to it after being away for a while. But in this case, now that you've seen how the pieces work, you'll probably want to use the shortcut all the time.