When you want to store static text in an Android file

As a note to self, when you’re writing an Android application and you think you want to store some static text in an external file, a better approach can be to create a resource file under res/values.

For example, I’m currently adding some help text to an Android app, and to do that I created a file named strings_help.xml under the res/values directory. That file contains HTML wrapped in an XML CDATA tag, like this:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="help_string">
        <![CDATA[

<!-- NOTE: i changed all single-percent symbols to double-percent symbols b/c they were causing problems -->
<!-- SEE:  http://developer.android.com/guide/topics/resources/string-resource.html -->

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>your title</title>
<style>
<!-- style stuff in here ... -->
</style>
</head>

<body>
<p>Help text in here ...
</body>
</html>

        ]]>
    </string>

</resources>

Once you’ve created that file, you can access it in your Android/Java code like this:

context.getString(R.string.help_string);

Note that the string R.string.help_string must match the name you gave the text in the XML file. (To be clear, this name does not match the XML filename.)

On a related note, here’s a link to another example of how to put plain static text in an Android strings/resources file.

Bonus: How to show static HTML in an Android WebView

As a bonus note, if you happen to want to display that static text in an Android WebView, you can do that like this:

WebView webView = new WebView(context);
String helpText = context.getString(R.string.help_string);
webView.loadData(helpText, "text/html", "utf-8");
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Help")
       .setView(webView)
       .setNeutralButton("OK", null)
       .show();

In summary, if you wanted to see how to store some static text somewhere (other than a file) in an Android application, I hope this example is helpful.

Add new comment

The content of this field is kept private and will not be shown publicly.

Anonymous format

  • Allowed HTML tags: <em> <strong> <cite> <code> <ul type> <ol start type> <li> <pre>
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.