Declaring an activity
Activities and other application components, such as
services, are declared in the AndroidManifest
XML file. Declaring an activity is how we tell the system about our activity and how it can be requested. For example, an application will usually indicate that at least one activity should be visible as a desktop icon and serve as the main entry point to the application.
Getting ready
Android Studio is the new tool used to develop Android applications, replacing the now-deprecated Eclipse ADT solution. Android Studio will be used for all the recipes shown in this book, so if you have not already installed it, visit the Android Studio website (the link has been provided earlier) to install the IDE and the SDK bundle.
How to do it...
For this first example, we'll guide you through creating a new project. Android Studio provides a Quick Start wizard, which makes the process extremely easy. Follow these steps to get started:
- Launch Android Studio, which brings up the Welcome to Android Studio dialog.
- Click on the Start a new Android Studio project option.
- Enter an application name; for this example, we have used
DeclareAnActivity
. Click on Next. - On the Add an Activity to Mobile dialog, click on the Blank Activity button, and then click on Next.
- On the Target Android Devices dialog, chose Android 6.0 (API 23) as the minimum SDK (for this example, it really doesn't matter which API level you chose, as activities have existed since API level 1, but choosing the latest release is considered to be the best practice). Click on Next.
- Since we chose the Blank Activity option earlier, the Customize the Activity dialog is shown. You can leave the defaults as provided, but note the default activity name is
MainActivity
. Click on Finish.
After finishing the wizard, Android Studio will create the project files. For this recipe, the two files that we will examine are MainActivity.java
(which corresponds to the activity name mentioned in Step 6) and AndroidManifest.xml
.
If you take a look at the MainActivity.java
file, you will realize that it's pretty basic. This is because we chose the Blank Activity option (in Step 4). Now look at the AndroidManifest.xml
file. This is where we actually declare the activity. Within the <application>
element is the <activity>
element:
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
Note
When viewing this xml
within Android Studio, you may notice that the label element shows the actual text as defined in the strings.xml
resource file. This is just a small example of enhancements in the new IDE.
How it works...
Declaring an activity is a simple matter of declaring the <activity>
element and specifying the name of the activity class with the android:name
attribute. By adding the <activity>
element to the
Android Manifest, we are specifying our intention to include this component within our application. Any activities (or any other component for that matter) that are not declared in the manifest will not be included in the application. Attempting to access or utilize an undeclared component will result in an exception being thrown at runtime.
In the preceding code, there is another attribute—android:label
. This attribute indicates the title shown on the screen as well as the icon label if this is the Launcher activity.
Note
For a complete list of available application attributes, take a look at this resource:
http://developer.android.com/guide/topics/manifest/activity-element.html