In Android development, passing data between activities is a common task when creating interactive applications. Whether you’re sending user input, an object, or a list of items, Android provides built-in methods to transfer this data using Intent. Developers typically use methods like putExtra()
and getIntent().getStringExtra()
to send and retrieve data. Understanding how to parse and handle this data efficiently is essential for building seamless user experiences in multi-screen applications.
Step 1: Create Two Activities
Assuming you already have two activities:
MainActivity.java
SecondActivity.java
Step 2: Pass Data Using Intent in MainActivity

Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.putExtra("username", "Aliendroid"); intent.putExtra("age", 25); startActivity(intent);
You can use putExtra()
to send different data types like String
, int
, boolean
, etc.
Step 3: Receive Data in SecondActivity

Intent intent = getIntent(); String username = intent.getStringExtra("username"); int age = intent.getIntExtra("age", 0); // 0 is the default value
Optional: Passing Complex Data (e.g., Objects)
If you want to pass an object, the class should implement Serializable
or Parcelable
:

import java.io.Serializable; // Your custom class public class User implements Serializable { String name; int age; // constructor, getters, etc. // Constructor public User(String name, int age) { this.name = name; this.age = age; } // Getter public String getName() { return name; } public int getAge() { return age; } }
Send object:

User user = new User("Aliendroid", 25); Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.putExtra("userData", user); startActivity(intent);
Receive object:

User user = (User) getIntent().getSerializableExtra("userData");
Best Practices:
- Always provide a default value when using
getIntExtra
,getBooleanExtra
, etc. - Use constants for keys to avoid typos.
- Avoid passing large data; use
SharedPreferences
orRoom
if needed.
- Always provide a default value when using