• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2007 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.example.android.apis.content;
18 
19 // Need the following import to get access to the app resources, since this
20 // class is in a sub-package.
21 import com.example.android.apis.R;
22 
23 import android.app.Activity;
24 import android.content.Context;
25 import android.content.res.Resources;
26 import android.os.Bundle;
27 import android.widget.TextView;
28 
29 
30 /**
31  * Demonstration of loading resources.
32  *
33  * <p>
34  * Each context has a resources object that you can access.  Additionally,
35  * the Context class (an Activity is a Context) has a getString convenience
36  * method getString() that looks up a string resource.
37  *
38  * @see StyledText for more depth about using styled text, both with getString()
39  *                 and in the layout xml files.
40  */
41 public class ResourcesSample extends Activity
42 {
43     @Override
onCreate(Bundle savedInstanceState)44 	protected void onCreate(Bundle savedInstanceState)
45     {
46         super.onCreate(savedInstanceState);
47 
48         // See res/any/layout/resources.xml for this view layout definition.
49         setContentView(R.layout.resources);
50 
51         TextView tv;
52         CharSequence cs;
53         String str;
54 
55         // ====== Using the Context.getString() convenience method ===========
56 
57         // Using the getString() conevenience method, retrieve a string
58         // resource that hapepns to have style information.  Note the use of
59         // CharSequence instead of String so we don't lose the style info.
60         cs = getText(R.string.styled_text);
61         tv = (TextView)findViewById(R.id.styled_text);
62         tv.setText(cs);
63 
64         // Use the same resource, but convert it to a string, which causes it
65         // to lose the style information.
66         str = getString(R.string.styled_text);
67         tv = (TextView)findViewById(R.id.plain_text);
68         tv.setText(str);
69 
70         // ====== Using the Resources object =================================
71 
72         // You might need to do this if your code is not in an activity.
73         // For example View has a protected mContext field you can use.
74         // In this case it's just 'this' since Activity is a context.
75         Context context = this;
76 
77         // Get the Resources object from our context
78         Resources res = context.getResources();
79 
80         // Get the string resource, like above.
81         cs = res.getText(R.string.styled_text);
82         tv = (TextView)findViewById(R.id.res1);
83         tv.setText(cs);
84 
85         // Note that the Resources class has methods like getColor(),
86         // getDimen(), getDrawable() because themes are stored in resources.
87         // You can use them, but you might want to take a look at the view
88         // examples to see how to make custom widgets.
89 
90     }
91 }
92 
93