Introduction
In Android development, activities represent different screens within an app. By default, each Android application has a designated "starting activity" that launches when users open the app. However, there are scenarios where you might want to change this starting activity—for instance, adding a login screen before accessing the main content of your application.
This tutorial will guide you through creating a new activity and setting it as the starting point for an Android application using the AndroidManifest.xml
file. We’ll cover how to create activities in both Eclipse and Android Studio environments and delve into manifest configurations that define the app’s entry point.
Creating a New Activity
In Eclipse:
-
Create a New Activity:
- Right-click on your project package in the Package Explorer.
- Select
New > Class
. - Name your new class, ensuring it extends
Activity
. For example, if you’re creating a login screen, you might name itLoginActivity
.
-
Define Layout (Optional):
- Create an XML layout file under the
res/layout
directory to define the UI for this activity.
- Create an XML layout file under the
-
Initialize Activity:
- Override necessary methods in your new activity class, such as
onCreate()
, to set up your user interface using thesetContentView()
method.
- Override necessary methods in your new activity class, such as
In Android Studio:
-
Generate a New Activity:
- Go to
File > New > Activity
. - Choose the desired template (e.g., Empty Activity) and click
Next
. - Name your activity, like
LoginActivity
, and configure any additional options as needed.
- Go to
-
Automatic Layout Creation:
- Android Studio will automatically create a layout file for you, which can be customized further in the XML editor.
Setting the New Activity as the Starting Point
The entry point of an Android application is defined in the AndroidManifest.xml
file using specific intent filters. Here’s how to set your new activity as the starting activity:
-
Open AndroidManifest.xml:
- Navigate to the root directory of your project and locate
AndroidManifest.xml
.
- Navigate to the root directory of your project and locate
-
Configure Intent Filter:
- Find the
<activity>
tag for your new activity. - Add an
<intent-filter>
section with specific actions and categories, as shown below:
- Find the
<activity android:name=".LoginActivity"
android:label="Your App Name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
- Explanation:
<action android:name="android.intent.action.MAIN"/>
: Indicates that this activity is the main entry point of the app.<category android:name="android.intent.category.LAUNCHER"/>
: Specifies that this activity should appear in the system’s launcher list.
- Remove or Modify Previous Main Activity (if needed):
- If there was a previous main activity, either remove its intent filter or ensure it no longer contains these attributes unless you plan to have multiple entry points for different purposes.
Additional Considerations
-
Multiple Launchers:
Android allows multiple launcher activities. This can be useful in applications that require more than one entry point (e.g., a widget might launch an activity directly). -
Android Studio Configuration:
If using Android Studio, ensure the correct default activity is selected:- Navigate to
Run > Edit Configurations
. - Select your project’s configuration.
- Ensure
Launch default Activity
or specify the desired one.
- Navigate to
Conclusion
By following these steps, you can effectively change and set a new starting activity for your Android application. This approach not only helps in customizing the entry point but also enhances user experience by adding necessary screens like login or splash screens before accessing main content.
Understanding how to manipulate AndroidManifest.xml
and create activities is crucial for any Android developer as it forms the backbone of app navigation and structure.