am fff0fb87: am 82e1d979: update building first app class with some changes to eclipse workflow and account for small differences when using an IDE other than eclipse
* commit 'fff0fb87271faf8f19d9fd062c5ebfb720204223': update building first app class with some changes to eclipse workflow and account for small differences when using an IDE other than eclipse
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 79 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 54 KiB |
@@ -21,18 +21,24 @@ Android SDK, then execute <code>android sdk</code>.</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li>When the Android SDK Manager opens, it automatically selects a set of recommended packages,
|
||||
as shown in figure 1.
|
||||
Simply click <strong>Install</strong> to install the recommended packages. The Android SDK Manager
|
||||
installs the selected packages into
|
||||
your Android SDK environment.</li>
|
||||
<li>The SDK Manager shows all the SDK packages available for you to add to your Android SDK.
|
||||
As a minimum configuration for your SDK, we recommend you install the following:
|
||||
<ul>
|
||||
<li>The latest Tools packages (check the <strong>Tools</strong> folder).</li>
|
||||
<li>The latest version of Android (check the first <strong>Android</strong> folder).</li>
|
||||
<li>The Android Support Library (open the <strong>Extras</strong> folder and check
|
||||
<strong>Android Support Library</strong>).</li>
|
||||
</ul>
|
||||
|
||||
<p>Once you've chosen your packages, click <strong>Install</strong>. The Android SDK Manager
|
||||
installs the selected packages into your Android SDK environment.</li>
|
||||
</ol>
|
||||
|
||||
<p>If you install the recommended packages, you're now ready to start developing apps!
|
||||
To start developing, read <a href="{@docRoot}training/basics/firstapp/index.html"
|
||||
<p>With these packages installed, you're ready to start developing.
|
||||
To get started, read <a href="{@docRoot}training/basics/firstapp/index.html"
|
||||
>Building Your First App</a>.</p>
|
||||
|
||||
<img src="/images/sdk_manager_packages.png" alt="" />
|
||||
<img src="/images/sdk_manager_packages.png" alt="" height="396" />
|
||||
<p class="img-caption"><strong>Figure 1.</strong> The Android SDK Manager shows the
|
||||
SDK packages that are available, already installed, or for which an update is available.</p>
|
||||
|
||||
@@ -40,15 +46,18 @@ SDK packages that are available, already installed, or for which an update is av
|
||||
|
||||
<h3>Additional information</h3>
|
||||
|
||||
<p>For more information about using the SDK Manager and some of the available packages,
|
||||
see the <a href="{@docRoot}tools/help/sdk-manager.html">SDK Manager</a> document.</p>
|
||||
|
||||
<p>Everything you need to develop Android apps is on this web site, including <a
|
||||
<ul>
|
||||
<li>For more information about using the SDK Manager and some of the available packages,
|
||||
see the <a href="{@docRoot}tools/help/sdk-manager.html">SDK Manager</a> document.</li>
|
||||
<li>This web site provides all information you need to develop Android apps, including <a
|
||||
href="{@docRoot}design/index.html">design guidelines</a>,
|
||||
<a href="{@docRoot}training/index.html">developer training</a>, <a
|
||||
href="{@docRoot}reference/packages.html">API reference</a>, and information
|
||||
about how you can <a href="{@docRoot}distribute/index.html">distribute your app</a>.
|
||||
For additional resources about developing and distributing your app, see the
|
||||
<a href="{@docRoot}support.html">Developer Support Resources</a>.</p>
|
||||
about how you can <a href="{@docRoot}distribute/index.html">distribute your app</a>. We recommend
|
||||
you begin by reading <a href="{@docRoot}training/basics/firstapp/index.html"
|
||||
>Building Your First App</a>.</li>
|
||||
<li>For additional resources about developing and distributing your app, see the
|
||||
<a href="{@docRoot}support.html">Developer Support Resources</a>.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ Devices</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<img src="{@docRoot}images/viewgroup.png" alt="" width="400" />
|
||||
<img src="{@docRoot}images/viewgroup.png" alt="" width="400" height="214" />
|
||||
<p class="img-caption"><strong>Figure 1.</strong> Illustration of how {@link
|
||||
android.view.ViewGroup} objects form branches in the layout and contain other {@link
|
||||
android.view.View} objects.</p>
|
||||
@@ -83,7 +83,7 @@ the Graphical Layout editor. This is an editor that helps you build layouts usin
|
||||
lesson, you’re going to work directly with the XML, so click the <em>activity_main.xml</em> tab at
|
||||
the bottom of the screen to open the XML editor.</p>
|
||||
|
||||
<p>The BlankActivity template you used to start this project creates the
|
||||
<p>The BlankActivity template you chose when you created this project includes the
|
||||
<code>activity_main.xml</code> file with a {@link
|
||||
android.widget.RelativeLayout} root view and a {@link android.widget.TextView} child view.</p>
|
||||
|
||||
@@ -225,9 +225,9 @@ localize your app to different languages by providing alternative definitions fo
|
||||
string resource.</p>
|
||||
|
||||
<p>By default, your Android project includes a string resource file at
|
||||
<code>res/values/strings.xml</code>. Open this file and delete the {@code <string>} element
|
||||
named <code>"hello_world"</code>. Then add a new one named
|
||||
<code>"edit_message"</code> and set the value to "Enter a message."</p>
|
||||
<code>res/values/strings.xml</code>. Add a new string named
|
||||
<code>"edit_message"</code> and set the value to "Enter a message." (You can delete
|
||||
the "hello_world" string.)</p>
|
||||
|
||||
<p>While you’re in this file, also add a "Send" string for the button you’ll soon add, called
|
||||
<code>"button_send"</code>.</p>
|
||||
|
||||
@@ -42,7 +42,7 @@ SDK tools from a command line.</p>
|
||||
|
||||
<p class="note"><strong>Note:</strong> You should already have the Android SDK installed, and if
|
||||
you're using Eclipse, you should also have the <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT
|
||||
plugin</a> installed (version 20.0.0 or higher). If you don't have these, follow the guide to <a
|
||||
plugin</a> installed (version 21.0.0 or higher). If you don't have these, follow the guide to <a
|
||||
href="{@docRoot}sdk/installing/index.html">Installing the Android SDK</a> before you start this
|
||||
lesson.</p>
|
||||
|
||||
@@ -50,13 +50,10 @@ lesson.</p>
|
||||
<h2 id="Eclipse">Create a Project with Eclipse</h2>
|
||||
|
||||
<ol>
|
||||
<li>In Eclipse, click New Android
|
||||
App Project <img src="{@docRoot}images/tools/new_adt_project.png"
|
||||
style="vertical-align:baseline;margin:0" />
|
||||
in the toolbar. (If you don’t see this button,
|
||||
then you have not installed the ADT plugin—see <a
|
||||
href="{@docRoot}sdk/installing/installing-adt.html">Installing the Eclipse Plugin</a>.)
|
||||
</li>
|
||||
<li>Click <strong>New</strong> <img src="{@docRoot}images/tools/eclipse-new.png"
|
||||
style="vertical-align:baseline;margin:0" /> in the toolbar.</li>
|
||||
<li>In the window that appears, open the <strong>Android</strong> folder,
|
||||
select <strong>Android Application Project</strong>, and click <strong>Next</strong>.</li>
|
||||
|
||||
<div class="figure" style="width:420px">
|
||||
<img src="{@docRoot}images/training/firstapp/adt-firstapp-setup.png" alt="" />
|
||||
@@ -65,16 +62,35 @@ href="{@docRoot}sdk/installing/installing-adt.html">Installing the Eclipse Plugi
|
||||
|
||||
<li>Fill in the form that appears:
|
||||
<ul>
|
||||
<li><em>Application Name</em> is the app name that appears to users.
|
||||
<li><strong>Application Name</strong> is the app name that appears to users.
|
||||
For this project, use "My First App."</p></li>
|
||||
<li><em>Project Name</em> is the name of your project directory and the name visible in Eclipse.</li>
|
||||
<li><em>Package Name</em> is the package namespace for your app (following the same
|
||||
<li><strong>Project Name</strong> is the name of your project directory and the name visible in Eclipse.</li>
|
||||
<li><strong>Package Name</strong> is the package namespace for your app (following the same
|
||||
rules as packages in the Java programming language). Your package name
|
||||
must be unique across all packages installed on the Android system. For this reason, it's generally
|
||||
best if you use a name that begins with the reverse domain name of your organization or
|
||||
publisher entity. For this project, you can use something like "com.example.myfirstapp."
|
||||
However, you cannot publish your app on Google Play using the "com.example" namespace.</li>
|
||||
<li><em>Build SDK</em> is the platform version against which you will compile your app.
|
||||
<li><strong>Minimum Required SDK</strong> is the lowest version of Android that your app supports,
|
||||
indicated using the <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels"
|
||||
>API level</a>.
|
||||
To support as many devices as possible, you should set this to the lowest version available
|
||||
that allows your app to provide its core feature set. If any feature of your app is possible
|
||||
only on newer versions of Android and it's not critical to the app's core feature set, you
|
||||
can enable the feature only when running on the versions that support it (as
|
||||
discussed in <a href="{@docRoot}training/basics/supporting-devices/platforms.html"
|
||||
>Supporting Different Platform Versions</a>).
|
||||
Leave this set to the default value for this project.
|
||||
</li>
|
||||
<li><strong>Target SDK</strong> indicates the highest version of Android (also using the
|
||||
<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#ApiLevels"
|
||||
>API level</a>) with which you
|
||||
have tested with your application.
|
||||
<p>As new versions of Android become available, you should
|
||||
test your app on the new version and update this value to match the latest API level
|
||||
in order to take advantage of new platform features.</p>
|
||||
</li>
|
||||
<li><strong>Compile With</strong> is the platform version against which you will compile your app.
|
||||
By default, this is set to the latest version of Android available in your SDK. (It should
|
||||
be Android 4.1 or greater; if you don't have such a version available, you must install one
|
||||
using the <a href="{@docRoot}sdk/installing/adding-packages.html">SDK Manager</a>).
|
||||
@@ -82,17 +98,14 @@ However, you cannot publish your app on Google Play using the "com.example" name
|
||||
support older versions, but setting the build target to the latest version allows you to
|
||||
enable new features and optimize your app for a great user experience on the latest
|
||||
devices.</li>
|
||||
<li><em>Minimum Required SDK</em> is the lowest version of Android that your app supports.
|
||||
To support as many devices as possible, you should set this to the lowest version available
|
||||
that allows your app to provide its core feature set. If any feature of your app is possible
|
||||
only on newer versions of Android and it's not critical to the app's core feature set, you
|
||||
can enable the feature only when running on the versions that support it.
|
||||
<p>Leave this set to the default value for this project.</p>
|
||||
<li><strong>Theme</strong> specifies the Android UI style to apply for your app. You can leave
|
||||
this alone.</li>
|
||||
</ul>
|
||||
<p>Click <strong>Next</strong>.</p>
|
||||
</li>
|
||||
|
||||
<li>The following screen provides tools to help you create a launcher icon for your app.
|
||||
<li>On the next screen to configure the project, leave the default selections and click
|
||||
<strong>Next</strong>.</li>
|
||||
<li>The next screen can help you create a launcher icon for your app.
|
||||
<p>You can customize an icon in several ways and the tool generates an icon for all
|
||||
screen densities. Before you publish your app, you should be sure your icon meets
|
||||
the specifications defined in the <a
|
||||
|
||||
@@ -102,10 +102,16 @@ Drivers</a> document.</li>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p>To run the app from Eclipse, open one of your project's files and click
|
||||
Run <img src="{@docRoot}images/tools/eclipse-run.png" style="vertical-align:baseline;margin:0" />
|
||||
from the toolbar. Eclipse installs the app on your connected device and starts
|
||||
it.</p>
|
||||
<p>To run the app from Eclipse:</p>
|
||||
<ol>
|
||||
<li>Open one of your project's files and click
|
||||
<strong>Run</strong> <img
|
||||
src="{@docRoot}images/tools/eclipse-run.png" style="vertical-align:baseline;margin:0" />
|
||||
from the toolbar.</li>
|
||||
<li>In the <strong>Run as</strong> window that appears, select
|
||||
<strong>Android Application</strong> and click <strong>OK</strong>.</li>
|
||||
</ol>
|
||||
<p>Eclipse installs the app on your connected device and starts it.</p>
|
||||
|
||||
|
||||
<p>Or to run your app from a command line:</p>
|
||||
@@ -159,9 +165,16 @@ Give it a name, a platform target, an SD card size, and a skin (HVGA is default)
|
||||
<li>After the emulator boots up, unlock the emulator screen.</li>
|
||||
</ol>
|
||||
|
||||
<p>To run the app from Eclipse, open one of your project's files and click
|
||||
Run <img src="{@docRoot}images/tools/eclipse-run.png" style="vertical-align:baseline;margin:0" />
|
||||
from the toolbar. Eclipse installs the app on your AVD and starts it.</p>
|
||||
<p>To run the app from Eclipse:</p>
|
||||
<ol>
|
||||
<li>Open one of your project's files and click
|
||||
<strong>Run</strong> <img
|
||||
src="{@docRoot}images/tools/eclipse-run.png" style="vertical-align:baseline;margin:0" />
|
||||
from the toolbar.</li>
|
||||
<li>In the <strong>Run as</strong> window that appears, select
|
||||
<strong>Android Application</strong> and click <strong>OK</strong>.</li>
|
||||
</ol>
|
||||
<p>Eclipse installs the app on your AVD and starts it.</p>
|
||||
|
||||
|
||||
<p>Or to run your app from the command line:</p>
|
||||
|
||||
@@ -19,11 +19,7 @@ previous.link=building-ui.html
|
||||
<li><a href="#RespondToButton">Respond to the Send Button</a></li>
|
||||
<li><a href="#BuildIntent">Build an Intent</a></li>
|
||||
<li><a href="#StartActivity">Start the Second Activity</a></li>
|
||||
<li><a href="#CreateActivity">Create the Second Activity</a>
|
||||
<ol>
|
||||
<li><a href="#AddToManifest">Add it to the manifest</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#CreateActivity">Create the Second Activity</a></li>
|
||||
<li><a href="#ReceiveIntent">Receive the Intent</a></li>
|
||||
<li><a href="#DisplayMessage">Display the Message</a></li>
|
||||
</ol>
|
||||
@@ -49,8 +45,8 @@ starts a new activity when the user clicks the Send button.</p>
|
||||
|
||||
<h2 id="RespondToButton">Respond to the Send Button</h2>
|
||||
|
||||
<p>To respond to the button's on-click event, open the <code>main.xml</code> layout file and add the
|
||||
<a
|
||||
<p>To respond to the button's on-click event, open the <code>activity_main.xml</code>
|
||||
layout file and add the <a
|
||||
href="{@docRoot}reference/android/view/View.html#attr_android:onClick">{@code android:onClick}</a>
|
||||
attribute to the {@link android.widget.Button <Button>} element:</p>
|
||||
|
||||
@@ -67,7 +63,8 @@ href="{@docRoot}reference/android/view/View.html#attr_android:onClick">{@code
|
||||
android:onClick}</a> attribute’s value, <code>"sendMessage"</code>, is the name of a method in your
|
||||
activity that the system calls when the user clicks the button.</p>
|
||||
|
||||
<p>Open the <code>MainActivity</code> class and add the corresponding method:</p>
|
||||
<p>Open the <code>MainActivity</code> class (located in the project's
|
||||
<code>src/</code> directory) and add the corresponding method:</p>
|
||||
|
||||
<pre>
|
||||
/** Called when the user clicks the Send button */
|
||||
@@ -76,6 +73,11 @@ public void sendMessage(View view) {
|
||||
}
|
||||
</pre>
|
||||
|
||||
<p>This requires that you import the {@link android.view.View} class:</p>
|
||||
<pre>
|
||||
import android.view.View;
|
||||
</pre>
|
||||
|
||||
<p class="note"><strong>Tip:</strong> In Eclipse, press Ctrl + Shift + O to import missing classes
|
||||
(Cmd + Shift + O on Mac).</p>
|
||||
|
||||
@@ -137,7 +139,8 @@ will raise an error if you’re using an IDE such as Eclipse because the class d
|
||||
Ignore the error for now; you’ll create the class soon.</p>
|
||||
|
||||
<p>An intent not only allows you to start another activity, but it can carry a bundle of data to the
|
||||
activity as well. So, use {@link android.app.Activity#findViewById findViewById()} to get the
|
||||
activity as well. Inside the {@code sendMessage()} method,
|
||||
use {@link android.app.Activity#findViewById findViewById()} to get the
|
||||
{@link android.widget.EditText} element and add its text value to the intent:</p>
|
||||
|
||||
<pre>
|
||||
@@ -147,11 +150,17 @@ String message = editText.getText().toString();
|
||||
intent.putExtra(EXTRA_MESSAGE, message);
|
||||
</pre>
|
||||
|
||||
<p class="note"><strong>Note:</strong>
|
||||
You now need import statements for <code>android.content.Intent</code>
|
||||
and <code>android.widget.EditText</code>. You'll define the <code>EXTRA_MESSAGE</code>
|
||||
constant in a moment.</p>
|
||||
|
||||
<p>An {@link android.content.Intent} can carry a collection of various data types as key-value
|
||||
pairs called <em>extras</em>. The {@link android.content.Intent#putExtra putExtra()} method takes the
|
||||
key name in the first parameter and the value in the second parameter.</p>
|
||||
|
||||
<p>In order for the next activity to query the extra data, you should define your key using a
|
||||
<p>In order for the next activity to query the extra data, you should define the key
|
||||
for your intent's extra using a
|
||||
public constant. So add the {@code EXTRA_MESSAGE} definition to the top of the {@code
|
||||
MainActivity} class:</p>
|
||||
|
||||
@@ -166,9 +175,11 @@ public class MainActivity extends Activity {
|
||||
as a prefix. This ensures they are unique, in case your app interacts with other apps.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 id="StartActivity">Start the Second Activity</h2>
|
||||
|
||||
<p>To start an activity, you simply need to call {@link android.app.Activity#startActivity
|
||||
<p>To start an activity, call {@link android.app.Activity#startActivity
|
||||
startActivity()} and pass it your {@link android.content.Intent}. The system receives this call
|
||||
and starts an instance of the {@link android.app.Activity}
|
||||
specified by the {@link android.content.Intent}.</p>
|
||||
@@ -202,19 +213,19 @@ work.</p>
|
||||
<p>To create a new activity using Eclipse:</p>
|
||||
|
||||
<ol>
|
||||
<li>Click New <img src="{@docRoot}images/tools/eclipse-new.png"
|
||||
<li>Click <strong>New</strong> <img src="{@docRoot}images/tools/eclipse-new.png"
|
||||
style="vertical-align:baseline;margin:0" /> in the toolbar.</li>
|
||||
<li>In the window that appears, open the <strong>Android</strong> folder
|
||||
and select <strong>Android Activity</strong>. Click <strong>Next</strong>.</li>
|
||||
<li>Select <strong>BlankActivity</strong> and click <strong>Next</strong>.</li>
|
||||
<li>Fill in the activity details:
|
||||
<ul>
|
||||
<li><em>Project</em>: MyFirstApp</li>
|
||||
<li><em>Activity Name</em>: DisplayMessageActivity</li>
|
||||
<li><em>Layout Name</em>: activity_display_message</li>
|
||||
<li><em>Navigation Type</em>: None</li>
|
||||
<li><em>Hierarchial Parent</em>: com.example.myfirstapp.MainActivity</li>
|
||||
<li><em>Title</em>: My Message</li>
|
||||
<li><strong>Project</strong>: MyFirstApp</li>
|
||||
<li><strong>Activity Name</strong>: DisplayMessageActivity</li>
|
||||
<li><strong>Layout Name</strong>: activity_display_message</li>
|
||||
<li><strong>Title</strong>: My Message</li>
|
||||
<li><strong>Hierarchial Parent</strong>: com.example.myfirstapp.MainActivity</li>
|
||||
<li><strong>Navigation Type</strong>: None</li>
|
||||
</ul>
|
||||
<p>Click <strong>Finish</strong>.</p>
|
||||
</li>
|
||||
@@ -224,44 +235,94 @@ work.</p>
|
||||
{@code DisplayMessageActivity.java} in the project's <code>src/</code> directory, next to
|
||||
the original {@code MainActivity.java} file.</p>
|
||||
|
||||
<p>Open the {@code DisplayMessageActivity.java} file. If you used Eclipse to create it, the class
|
||||
<p>Open the {@code DisplayMessageActivity.java} file. If you used Eclipse to create this
|
||||
activity:</p>
|
||||
<ul>
|
||||
<li>The class
|
||||
already includes an implementation of the required {@link android.app.Activity#onCreate onCreate()}
|
||||
method. There's also an implementation of the {@link android.app.Activity#onCreateOptionsMenu
|
||||
method.</li>
|
||||
<li>There's also an implementation of the {@link android.app.Activity#onCreateOptionsMenu
|
||||
onCreateOptionsMenu()} method, but
|
||||
you won't need it for this app so you can remove it. The class should look like this:</p>
|
||||
you won't need it for this app so you can remove it.</li>
|
||||
<li>There's also an implementation of {@link android.app.Activity#onOptionsItemSelected
|
||||
onOptionsItemSelected()} which handles the behavior for the action bar's <em>Up</em> behavior.
|
||||
Keep this one the way it is.</li>
|
||||
</ul>
|
||||
|
||||
<p>The class should look like this:</p>
|
||||
|
||||
<pre>
|
||||
public class DisplayMessageActivity extends Activity {
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_display_message);
|
||||
// Show the Up button in the action bar.
|
||||
getActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case android.R.id.home:
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}
|
||||
</pre>
|
||||
|
||||
<p>If you used an IDE other than Eclipse, update your {@code DisplayMessageActivity}
|
||||
class with the above code.</p>
|
||||
|
||||
<p>All subclasses of {@link android.app.Activity} must implement the {@link
|
||||
android.app.Activity#onCreate onCreate()} method. The system calls this when creating a new
|
||||
instance of the activity. It is where you must define the activity layout and where you should
|
||||
instance of the activity. This method is where you must define the activity layout
|
||||
with the {@link android.app.Activity#setContentView setContentView()} method
|
||||
and is where you should
|
||||
perform initial setup for the activity components.</p>
|
||||
|
||||
<p class="note"><strong>Note:</strong> If you are using an IDE other than Eclipse, your project
|
||||
does not contain the {@code activity_display_message} layout that's requested by
|
||||
{@link android.app.Activity#setContentView setContentView()}. That's OK because
|
||||
you will update this method later and won't be using that layout.</p>
|
||||
|
||||
|
||||
<h3 id="AddTitle">Add the title string</h3>
|
||||
|
||||
<p>If you used Eclipse, you can skip to the <a href="#AddToManifest">next section</a>,
|
||||
because the template provides
|
||||
the title string for the new activity.</p>
|
||||
|
||||
<p>If you're using an IDE other than Eclipse,
|
||||
add the new activity's title to the {@code strings.xml} file:</p>
|
||||
<pre>
|
||||
<resources>
|
||||
...
|
||||
<string name="title_activity_display_message">My Message</string>
|
||||
</resources>
|
||||
</pre>
|
||||
|
||||
|
||||
|
||||
<h3 id="AddToManifest">Add it to the manifest</h3>
|
||||
|
||||
<p>You must declare all activities in your manifest file, <code>AndroidManifest.xml</code>, using an
|
||||
<p>All activities must be declared in your manifest file, <code>AndroidManifest.xml</code>, using an
|
||||
<a
|
||||
href="{@docRoot}guide/topics/manifest/activity-element.html">{@code <activity>}</a> element.</p>
|
||||
|
||||
<p>When you use the Eclipse tools to create the activity, it creates a default entry. It should
|
||||
<p>When you use the Eclipse tools to create the activity, it creates a default entry. If you're
|
||||
using a different IDE, you need to add the manifest entry yourself. It should
|
||||
look like this:</p>
|
||||
|
||||
<pre>
|
||||
<application ... >
|
||||
...
|
||||
<activity
|
||||
android:name=".DisplayMessageActivity"
|
||||
android:label="@string/title_activity_display_message" >
|
||||
android:name="com.example.myfirstapp.DisplayMessageActivity"
|
||||
android:label="@string/title_activity_display_message"
|
||||
android:parentActivityName="com.example.myfirstapp.MainActivity" >
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="com.example.myfirstapp.MainActivity" />
|
||||
@@ -269,24 +330,32 @@ look like this:</p>
|
||||
</application>
|
||||
</pre>
|
||||
|
||||
<p>The <a href="{@docRoot}guide/topics/manifest/meta-data-element.html">{@code
|
||||
<meta-data>}</a> element declares the name of this activity's parent activity
|
||||
within the app's logical hierarchy. The Android <a
|
||||
href="{@docRoot}tools/extras/support-library.html">Support Library</a> uses this information
|
||||
to implement default navigation behaviors, such as <a
|
||||
href="{@docRoot}design/patterns/navigation.html">Up navigation</a>.</p>
|
||||
<p>The <a href="{@docRoot}guide/topics/manifest/activity-element.html#parent">{@code
|
||||
android:parentActivityName}</a> attribute declares the name of this activity's parent activity
|
||||
within the app's logical hierarchy. The system uses this value
|
||||
to implement default navigation behaviors, such as <a
|
||||
href="{@docRoot}design/patterns/navigation.html">Up navigation</a> on
|
||||
Android 4.1 (API level 16) and higher. You can provide the same navigation behaviors for
|
||||
older versions of Android by using the
|
||||
<a href="{@docRoot}tools/extras/support-library.html">Support Library</a> and adding
|
||||
the <a href="{@docRoot}guide/topics/manifest/meta-data-element.html">{@code
|
||||
<meta-data>}</a> element as shown here.</p>
|
||||
|
||||
<p class="note"><strong>Note:</strong> During <a
|
||||
href="{@docRoot}sdk/installing/adding-packages.html">installation</a>, you should have downloaded
|
||||
the latest Support Library. Eclipse automatically includes this library in your app project (you
|
||||
can see the library's JAR file listed under <em>Android Dependencies</em>). If you're not using
|
||||
Eclipse, you may need to manually add the library to your project—follow this guide for <a
|
||||
href="{@docRoot}tools/extras/support-library.html#SettingUp">setting up the Support Library</a>.</p>
|
||||
<p class="note"><strong>Note:</strong> Your Android SDK should already include
|
||||
the latest Android Support Library. It's included with the ADT Bundle but if you're using
|
||||
a different IDE, you should have installed it during the
|
||||
<a href="{@docRoot}sdk/installing/adding-packages.html">Adding Platforms and Packages</a> step.
|
||||
When using the templates in Eclipse, the Support Library is automatically added to your app project
|
||||
(you can see the library's JAR file listed under <em>Android Dependencies</em>). If you're not using
|
||||
Eclipse, you need to manually add the library to your project—follow the guide for <a
|
||||
href="{@docRoot}tools/extras/support-library.html#SettingUp">setting up the Support Library</a>
|
||||
then return here.</p>
|
||||
|
||||
<p>The app is now runnable because the {@link android.content.Intent} in the
|
||||
first activity now resolves to the {@code DisplayMessageActivity} class. If you run the app now,
|
||||
clicking the Send button starts the second activity, but it's still using the default
|
||||
"Hello world" layout.</p>
|
||||
<p>If you're developing with Eclipse, you can run the app now, but not much happens.
|
||||
Clicking the Send button starts the second activity but it uses
|
||||
a default "Hello world" layout provided by the template. You'll soon update the
|
||||
activity to instead display a custom text view, so if you're using a different IDE,
|
||||
don't worry that the app won't yet compile.</p>
|
||||
|
||||
|
||||
<h2 id="ReceiveIntent">Receive the Intent</h2>
|
||||
|
||||
Reference in New Issue
Block a user