Activities and other application components, such as services, are declared in the AndroidManifest.xml
file. Declaring an activity node is how we tell the OS about our Activity class 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.
Android Studio, now at version 3.2, is used for all the code samples shown in this book. If you have not already installed it, visit the Android Studio website (see the link in the previous tip) to install the IDE and the SDK bundle for your platform.
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 used
DeclareAnActivity
. Click onNext
:
- In the
Target Android Devices
dialog, you can leave thePhone and Tablet
checkbox selected with the defaultAPI 21: Android 5.0 (Lollipop)
selection for the minimum SDK (for this example, it really doesn't matter which API level you choose, as activities have existed since API level 1). Click onNext
:
- In the
Add an
Activity to Mobile
dialog, select theEmpty Activity
option. Click onNext
:
- In the
Configure Activity
dialog, you can leave the defaults as provided, but note that the default activity name isMainActivity
. Click onFinish
:
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 Empty Activity
option (in step 5). 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>
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 in our application. Any activities (or any other component for that matter) that are not declared in the manifest will not be available to 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 if this is the Launcher activity.
Note
For a complete list of available Activity attributes, take a look at this resource:http://developer.android.com/guide/topics/manifest/activity-element.html.