AndroidManifest.
xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.alumniportalapp">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AlumniPortalApp">
<!-- MainActivity is the entry point of the app -->
<activity android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- Other activities -->
<activity android:name=".RegisterActivity"
android:exported="false" />
<activity android:name=".LoginActivity"
android:exported="false" />
<activity android:name=".HomeActivity"
android:exported="false" />
</application>
</manifest>
activity_home.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<ListView
android:id="@+id/alumniListView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
activity_login.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
android:gravity="center">
<EditText
android:id="@+id/nameInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your name"
android:inputType="text" />
<Button
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:layout_marginTop="16dp" />
</LinearLayout>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">
<Button
android:id="@+id/registerButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Register" />
<Button
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:layout_marginTop="16dp" />
</LinearLayout>
activity_register.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
android:gravity="center">
<EditText
android:id="@+id/nameInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your name"
android:inputType="text" />
<EditText
android:id="@+id/passoutYearInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your passout year"
android:inputType="number" />
<EditText
android:id="@+id/jobRoleInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your job role"
android:inputType="text" />
<Button
android:id="@+id/registerButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Register"
android:layout_marginTop="16dp" />
</LinearLayout>
----------------------------- .xml codes end here, im pastin the .java codes now-----------------------
Alumni.java
package com.example.alumniportalapp;
public class Alumni {
String name;
String passoutYear;
String jobRole;
// Constructor
public Alumni(String name, String passoutYear, String jobRole) {
this.name = name;
this.passoutYear = passoutYear;
this.jobRole = jobRole;
}
}
AlumniData.java
package com.example.alumniportalapp;
// Import the Alumni class if it's in a different package
import com.example.alumniportalapp.Alumni;
import java.util.ArrayList;
public class AlumniData {
public static ArrayList<Alumni> alumniList = new ArrayList<>();
static {
// Add some sample data for testing
alumniList.add(new Alumni("Pulashya Verma", "2026", "Software Engineer"));
alumniList.add(new Alumni("Garima Kalani", "2019", "Product Manager"));
alumniList.add(new Alumni("Radhika Bhasin", "2023", "Web Developer"));
alumniList.add(new Alumni("Manas Maheshwari", "2019", "Sales Manager"));
alumniList.add(new Alumni("Kavya Telang", "2026", "Product Manager"));
alumniList.add(new Alumni("Giriraj Parsewar", "2024", "Software Engineer"));
}
}
HomeActivity.java
package com.example.alumniportalapp;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
public class HomeActivity extends AppCompatActivity {
ListView alumniListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
alumniListView = findViewById(R.id.alumniListView);
ArrayList<String> alumniDetails = new ArrayList<>();
for (Alumni alumni : AlumniData.alumniList) {
alumniDetails.add(alumni.name + "\nYear: " + alumni.passoutYear + "\nRole: " +
alumni.jobRole);
}
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1, alumniDetails);
alumniListView.setAdapter(adapter);
}
}
LoginActivity.java
package com.example.alumniportalapp;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class LoginActivity extends AppCompatActivity {
EditText nameInput;
Button loginButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
nameInput = findViewById(R.id.nameInput);
loginButton = findViewById(R.id.loginButton);
loginButton.setOnClickListener(v -> {
String name = nameInput.getText().toString().trim(); // Added trim to remove any
extra spaces
if (name.isEmpty()) {
// Check if name is empty
Toast.makeText(LoginActivity.this, "Please enter your name",
Toast.LENGTH_SHORT).show();
} else {
// Use for-loop instead of stream for better readability and compatibility
boolean exists = false;
for (Alumni alumni : AlumniData.alumniList) {
if (alumni.name.equalsIgnoreCase(name)) {
exists = true;
break; // Exit loop early if found
}
}
if (exists) {
startActivity(new Intent(LoginActivity.this, HomeActivity.class));
} else {
Toast.makeText(LoginActivity.this, "No such alumni found. Please register.",
Toast.LENGTH_SHORT).show();
}
}
});
}
}
MainActivity.java
package com.example.alumniportalapp;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
Button registerButton, loginButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize buttons
registerButton = findViewById(R.id.registerButton);
loginButton = findViewById(R.id.loginButton);
// Set OnClickListeners for the buttons
registerButton.setOnClickListener(v -> {
// Navigate to RegisterActivity when the Register button is clicked
startActivity(new Intent(MainActivity.this, RegisterActivity.class));
});
loginButton.setOnClickListener(v -> {
// Navigate to LoginActivity when the Login button is clicked
startActivity(new Intent(MainActivity.this, LoginActivity.class));
});
}
}
RegisterActivity.java
package com.example.alumniportalapp;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class RegisterActivity extends AppCompatActivity {
EditText nameInput, passoutYearInput, jobRoleInput;
Button registerButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
nameInput = findViewById(R.id.nameInput);
passoutYearInput = findViewById(R.id.passoutYearInput);
jobRoleInput = findViewById(R.id.jobRoleInput);
registerButton = findViewById(R.id.registerButton);
registerButton.setOnClickListener(v -> {
String name = nameInput.getText().toString();
String passoutYear = passoutYearInput.getText().toString();
String jobRole = jobRoleInput.getText().toString();
if (name.isEmpty() || passoutYear.isEmpty() || jobRole.isEmpty()) {
Toast.makeText(this, "Please fill all fields", Toast.LENGTH_SHORT).show();
} else {
Alumni newAlumni = new Alumni(name, passoutYear, jobRole);
AlumniData.alumniList.add(newAlumni);
Toast.makeText(this, "Registration Successful", Toast.LENGTH_SHORT).show();
finish(); // Close the registration activity
}
});
}
}
OUTPUT