144 lines
6.2 KiB
Plaintext
144 lines
6.2 KiB
Plaintext
page.title=Notepad Tutorial
|
|
@jd:body
|
|
|
|
|
|
<p>The tutorial in this section gives you a "hands-on" introduction
|
|
to the Android framework and the tools you use to build applications on it.
|
|
Starting from a preconfigured project file, it guides you through the process of
|
|
developing a simple notepad application and provides concrete examples of how to
|
|
set up the project, develop the application logic and user interface, and then
|
|
compile and run the application. </p>
|
|
|
|
<p>The tutorial presents the notepad application development as a set of
|
|
exercises (see below), each consisting of several steps. You can follow along
|
|
with the steps in each exercise and gradually build up and refine your
|
|
application. The exercises explain each step in detail and provide all the
|
|
sample code you need to complete the application. </p>
|
|
|
|
<p>When you are finished with the tutorial, you will have created a functioning
|
|
Android application and learned in depth about many of the most important
|
|
concepts in Android development. If you want to add more complex features to
|
|
your application, you can examine the code in an alternative implementation
|
|
of a notepad application, in the
|
|
<a href="{@docRoot}samples/NotePad/index.html">Sample Code</a> documentation. </p>
|
|
|
|
|
|
<a name="who"></a>
|
|
<h2>Who Should Use this Tutorial</h2>
|
|
|
|
<p>This tutorial is designed for experienced developers, especially those with
|
|
knowledge of the Java programming language. If you haven't written Java
|
|
applications before, you can still use the tutorial, but you might need to work
|
|
at a slower pace. </p>
|
|
|
|
<p>The tutorial assumes that you have some familiarity with the basic Android
|
|
application concepts and terminology. If you aren't yet familiar with those, you
|
|
should read <a href="{@docRoot}intro/anatomy.html">Overview of an Android
|
|
Application</a> before continuing. </p>
|
|
|
|
<p>Also note that this tutorial uses
|
|
the Eclipse development environment, with the Android plugin installed. If you
|
|
are not using Eclipse, you can follow the exercises and build the application,
|
|
but you will need to determine how to accomplish the Eclipse-specific
|
|
steps in your environment. </p>
|
|
|
|
<a name="preparing"></a>
|
|
<h2>Preparing for the Exercises</h2>
|
|
|
|
<p>This tutorial builds on the information provided in the <a
|
|
href="{@docRoot}intro/installing.html">Installing the SDK</a> and <a
|
|
href="{@docRoot}intro/hello-android.html">Hello Android</a>
|
|
documents, which explain in detail how to set up your development environment
|
|
for building Android applications. Before you start this tutorial, you should
|
|
read both these documents, have the SDK installed, and your work environment set up.</p>
|
|
|
|
<p>To prepare for this lesson:</p>
|
|
|
|
<ol>
|
|
<li>Download the <a href="codelab/NotepadCodeLab.zip">project
|
|
exercises archive (.zip)</a></li>
|
|
<li>Unpack the archive file to a suitable location on your machine</li>
|
|
<li>Open the <code>NotepadCodeLab</code> folder</li>
|
|
</ol>
|
|
|
|
<p>Inside the <code>NotepadCodeLab</code> folder, you should see six project
|
|
files: <code>Notepadv1</code>,
|
|
<code>Notepadv2</code>, <code>Notepadv3</code>,
|
|
<code>Notepadv1Solution</code>, <code>Notepadv2Solution</code>
|
|
and <code>Notepadv3Solution</code>. The <code>Notepadv#</code> projects are
|
|
the starting points for each of the exercises, while the
|
|
<code>Notepadv#Solution</code> projects are the exercise
|
|
solutions. If you are having trouble with a particular exercise, you
|
|
can compare your current work against the exercise solution.</p>
|
|
|
|
<a name="exercises"></a>
|
|
<h2> Exercises</h2>
|
|
|
|
<p>The table below lists the tutorial exercises and describes the development
|
|
areas that each covers. Each exercise assumes that you have completed any
|
|
previous exercises.</p>
|
|
|
|
<table border="0" style="padding:4px;spacing:2px;" summary="This
|
|
table lists the
|
|
tutorial examples and describes what each covers. ">
|
|
<tr>
|
|
<th width="120"><a href="{@docRoot}intro/tutorial-ex1.html">Exercise
|
|
1</a></th>
|
|
<td>Start here. Construct a simple notes list that lets the user add new notes but not
|
|
edit them. Demonstrates the basics of <code>ListActivity</code> and creating
|
|
and handling
|
|
menu options. Uses a SQLite database to store the notes.</td>
|
|
</tr>
|
|
<tr>
|
|
<th><a href="{@docRoot}intro/tutorial-ex2.html">Exercise 2</a></th>
|
|
<td>Add a second Activity to the
|
|
application. Demonstrates constructing a
|
|
new Activity, adding it to the Android manifest, passing data between the
|
|
activities, and using more advanced screen layout. Also shows how to
|
|
invoke another Activity to return a result, using
|
|
<code>startActivityForResult()</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<th><a href="{@docRoot}intro/tutorial-ex3.html">Exercise 3</a></th>
|
|
<td>Add handling of life-cycle events to
|
|
the application, to let it
|
|
maintain application state across the life cycle. </td>
|
|
</tr>
|
|
<tr>
|
|
<th><a href="{@docRoot}intro/tutorial-extra-credit.html">Extra
|
|
Credit</a></th>
|
|
<td>Demonstrates how to use the Eclipse
|
|
debugger and how you can use it to
|
|
view life-cycle events as they are generated. This section is optional but
|
|
highly recommended.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
<a name="other"></a>
|
|
<h2>Other Resources and Further Learning</h2>
|
|
<ul>
|
|
<li>For a lighter but broader introduction to concepts not covered in the
|
|
tutorial,
|
|
take a look at <a href="{@docRoot}kb/commontasks.html">Common Android Tasks</a>.</li>
|
|
<li>The Android SDK includes a variety of fully functioning sample applications
|
|
that make excellent opportunities for further learning. You can find the sample
|
|
applications in the <code>samples/</code> directory of your downloaded SDK.</li>
|
|
<li>This tutorial draws from the full Notepad application included in the
|
|
<code>samples/</code> directory of the SDK, though it does not match it exactly.
|
|
When you are done with the tutorial,
|
|
it is highly recommended that you take a closer look at this version of the Notepad
|
|
application,
|
|
as it demonstrates a variety of interesting additions for your application,
|
|
such as:</li>
|
|
<ul>
|
|
<li>Setting up a custom striped list for the list of notes.</li>
|
|
<li>Creating a custom text edit view that overrides the <code>draw()</code>
|
|
method to
|
|
make it look like a lined notepad.</li>
|
|
<li>Implementing a full <code>ContentProvider</code> for notes.</li>
|
|
<li>Reverting and discarding edits instead of just automatically saving
|
|
them.</li>
|
|
</ul>
|
|
</ul>
|