index.jd revision f096acd37994e47792552c2e53a6246dc8afb0d3
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)page.title=Resources and Assets
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@jd:body
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)<div id="qv-wrapper">
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)<div id="qv">
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  <h2>Key classes</h2>
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  <ol>
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    <li>{@link android.content.res.Resources}</li>
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    <li>{@link android.content.res.AssetManager}</li>
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  </ol>
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)</div>
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)</div>
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)<p>Resources are an integral part of an Android application. 
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)In general, these are external elements that you want to include and reference within your application, 
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)like images, audio, video, text strings, layouts, themes, etc. Every Android application contains 
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)a directory for resources (<code>res/</code>) and a directory for assets (<code>assets/</code>). 
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Assets are used less often, because their applications are far fewer. You only need to save data
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)as an asset when you need to read the raw bytes. The directories for resources and assets both 
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)reside at the top of an Android project tree, at the same level as your source code directory 
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)(<code>src/</code>).</p>
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)<p>The difference between "resources" and "assets" isn't much on the surface, but in general, 
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)you'll use resources to store your external content much more often than you'll use assets. 
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)The real difference is that anything 
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)placed in the resources directory will be easily accessible from your application from the 
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)<code>R</code> class, which is compiled by Android. Whereas, anything placed in the assets
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)directory will maintain its raw file format and, in order to read it, you must use the
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){@link android.content.res.AssetManager} to read the file as a stream of bytes. So keeping
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)files and data in resources (<code>res/</code>) makes them easily accessible.</p>
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)<p>Within the documents of this topic, you'll find information on the kinds of standard resources
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)that are typically used in an Android application and how to reference them from you code.
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)<a href="{@docRoot}guide/topics/resources/resources-i18n.html">Resources and Internationalization</a>
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)is where you should start, to learn more about how Android utilizes project resources. Then, the 
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)<a href="{@docRoot}guide/topics/resources/available-resources.html">Available Resource Types</a>
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)document offers a summary of various resource types and a reference to their specifications.
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)</p>
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)