TY Practical No. 18 — Develop a program to create two simple activities for Login application

Practical No. 18 — Develop a program to create two simple activities for Login application

1. Project Structure

LoginApp
│
├── app
│   └── src
│       └── main
│
│           ├── java
│           │   └── com.example.loginapp
│           │       ├── MainActivity.java
│           │       └── WelcomeActivity.java
│           │
│           ├── res
│           │   ├── layout
│           │   │   ├── activity_main.xml
│           │   │   └── activity_welcome.xml
│           │   │
│           │   └── values
│           │       └── strings.xml
│           │
│           └── AndroidManifest.xml

2. activity_main.xml (Login Screen)

Location
app → res → layout → 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="24dp">

    <TextView
        android:id="@+id/tvStudent"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Student: Rahul Sharma"
        android:textSize="20sp"
        android:textStyle="bold"
        android:layout_marginBottom="25dp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Login Application"
        android:textSize="22sp"
        android:textStyle="bold"
        android:layout_marginBottom="30dp"/>

    <EditText
        android:id="@+id/etUsername"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter Username"
        android:inputType="textPersonName"/>

    <EditText
        android:id="@+id/etPassword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter Password"
        android:inputType="textPassword"
        android:layout_marginTop="15dp"/>

    <Button
        android:id="@+id/btnLogin"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Login"
        android:layout_marginTop="25dp"/>

</LinearLayout>

3. activity_welcome.xml (Second Activity)

Location
app → res → layout → activity_welcome.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:gravity="center"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tvWelcome"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Welcome Screen"
        android:textSize="24sp"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/tvStudentName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Student: Rahul Sharma"
        android:textSize="18sp"
        android:layout_marginTop="20dp"/>

</LinearLayout>

4. MainActivity.java (Login Activity)

Location
app → java → com.example.loginapp → MainActivity.java

package com.example.loginapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    EditText etUsername, etPassword;
    Button btnLogin;

    String correctUsername = "admin";
    String correctPassword = "1234";

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        etUsername = findViewById(R.id.etUsername);
        etPassword = findViewById(R.id.etPassword);
        btnLogin = findViewById(R.id.btnLogin);

        btnLogin.setOnClickListener(v -> {

            String username = etUsername.getText().toString().trim();
            String password = etPassword.getText().toString().trim();

            if(username.isEmpty() || password.isEmpty())
            {
                Toast.makeText(MainActivity.this,
                        "Please enter username and password",
                        Toast.LENGTH_SHORT).show();
                return;
            }

            if(username.equals(correctUsername) && password.equals(correctPassword))
            {
                Intent intent = new Intent(MainActivity.this, WelcomeActivity.class);
                startActivity(intent);
            }
            else
            {
                Toast.makeText(MainActivity.this,
                        "Invalid Username or Password",
                        Toast.LENGTH_SHORT).show();
            }

        });
    }

    @Override
    protected void onStart() {
        super.onStart();
    }

    @Override
    protected void onResume() {
        super.onResume();
    }

    @Override
    protected void onPause() {
        super.onPause();
    }

    @Override
    protected void onStop() {
        super.onStop();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }
}

5. WelcomeActivity.java

Location
app → java → com.example.loginapp → WelcomeActivity.java

package com.example.loginapp;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class WelcomeActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_welcome);

    }
}

6. AndroidManifest.xml

Location
app → manifests → AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.loginapp">

    <application
        android:allowBackup="true"
        android:label="Login App"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar">

        <activity android:name=".WelcomeActivity" />

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

7. strings.xml

Location
res → values → strings.xml

<resources>
    <string name="app_name">Login App</string>
</resources>

8. Login Credentials for Testing

Username : admin
Password : 1234

9. Expected Application Output





Popular posts from this blog