0% found this document useful (0 votes)
5 views

practical code and outputs

The document contains multiple Android application projects, each with XML layout files and Java classes for the main activity. The projects demonstrate various functionalities including displaying student grades in a table, handling user input for name and age, and managing Bluetooth settings with permission requests. Each project is structured with a layout file and a corresponding MainActivity class to handle the user interface and logic.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

practical code and outputs

The document contains multiple Android application projects, each with XML layout files and Java classes for the main activity. The projects demonstrate various functionalities including displaying student grades in a table, handling user input for name and age, and managing Bluetooth settings with permission requests. Each project is structured with a layout file and a corresponding MainActivity class to handle the user interface and logic.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 84

prl6-exe1:

i.activity_main.xml
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="*"
android:padding="10dp">
<!-- Table Header -->
<TableRow>
<TextView
android:text="Roll No"
android:padding="8dp"
android:textStyle="bold"
android:background="#E0E0E0"/>

<TextView
android:text="Name"
android:textStyle="bold"
android:padding="8dp"
android:background="#E0E0E0"/>

<TextView
android:text="Grade"
android:textStyle="bold"
android:padding="8dp"
android:background="#E0E0E0"/>
</TableRow>

<!-- Student Rows -->


<TableRow>
<TextView android:text="1" android:padding="8dp"/>
<TextView android:text="Alice" android:padding="8dp"/>
<TextView android:text="A" android:padding="8dp"/>
</TableRow>

<TableRow>
<TextView android:text="2" android:padding="8dp"/>
<TextView android:text="Bob" android:padding="8dp"/>
<TextView android:text="B+" android:padding="8dp"/>
</TableRow>

<TableRow>
<TextView android:text="3" android:padding="8dp"/>
<TextView android:text="Charlie" android:padding="8dp"/>
<TextView android:text="A-" android:padding="8dp"/>
</TableRow>

<TableRow>
<TextView android:text="4" android:padding="8dp"/>
<TextView android:text="David" android:padding="8dp"/>
<TextView android:text="B" android:padding="8dp"/>
</TableRow>

<TableRow>
<TextView android:text="5" android:padding="8dp"/>
<TextView android:text="Emma" android:padding="8dp"/>
<TextView android:text="A+" android:padding="8dp"/>
</TableRow>

<TableRow>
<TextView android:text="6" android:padding="8dp"/>
<TextView android:text="Frank" android:padding="8dp"/>
<TextView android:text="B-" android:padding="8dp"/>
</TableRow>

<TableRow>
<TextView android:text="7" android:padding="8dp"/>
<TextView android:text="Grace" android:padding="8dp"/>
<TextView android:text="A" android:padding="8dp"/>
</TableRow>

<TableRow>
<TextView android:text="8" android:padding="8dp"/>
<TextView android:text="Hannah" android:padding="8dp"/>
<TextView android:text="B+" android:padding="8dp"/>
</TableRow>

<TableRow>
<TextView android:text="9" android:padding="8dp"/>
<TextView android:text="Ian" android:padding="8dp"/>
<TextView android:text="C+" android:padding="8dp"/>
</TableRow>

<TableRow>
<TextView android:text="10" android:padding="8dp"/>
<TextView android:text="Jack" android:padding="8dp"/>
<TextView android:text="A-" android:padding="8dp"/>
</TableRow>
</TableLayout>

MainActivity.java
package com.example.prl6_exe1;

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

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.activity_main);
}
}

Output:

Prl6-exe2:
i.activity_main.xml
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data Types in OOP"
android:textStyle="bold"
android:textSize="20sp"
android:layout_gravity="top|center_horizontal"
android:paddingBottom="20dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Integer: 100"
android:layout_gravity="center_horizontal"
android:layout_marginTop="50dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Float: 10.5"
android:layout_gravity="center_horizontal"
android:layout_marginTop="90dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Character: A"
android:layout_gravity="center_horizontal"
android:layout_marginTop="130dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Boolean: true"
android:layout_gravity="center_horizontal"
android:layout_marginTop="170dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="String: Hello, OOP!"
android:layout_gravity="center_horizontal"
android:layout_marginTop="210dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Double: 99.99"
android:layout_gravity="center_horizontal"
android:layout_marginTop="250dp"/>

</FrameLayout>

MainActivity.java
package com.example.prl6_exe2;

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

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.activity_main);

}
}

Output:
Prl7-exe1:
i.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">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Username"
android:textSize="18dp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter username"
android:textSize="18dp"
android:inputType="textPersonName"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Password"
android:textSize="18dp"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter password"
android:textSize="18dp"
android:inputType="textPassword"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit"
/>
</LinearLayout>

ii.MainActivity.java
package com.example.prl7_exe1;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.activity_main);
}
}
Output:

Prl7-exe2
i.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:padding="16dp">

<!-- EditTexts for input -->


<EditText
android:id="@+id/t1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Name" />

<EditText
android:id="@+id/t2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Age"
android:inputType="number" />

<EditText
android:id="@+id/t3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Roll No"
android:inputType="number" />

<!-- Button -->


<Button
android:id="@+id/b1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Display Data" />

<!-- TextViews to display the data below the button -->


<TextView
android:id="@+id/dis_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />

<TextView
android:id="@+id/dis_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />

<TextView
android:id="@+id/dis_rollno"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />

</LinearLayout>

Java file
package com.example.prl7_exe2;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


TextView dis_name, dis_age, dis_rollno;
EditText name, age, rollno;
Button b1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Initialize the EditTexts, Button, and TextViews


name = findViewById(R.id.t1);
age = findViewById(R.id.t2);
rollno = findViewById(R.id.t3);
dis_name = findViewById(R.id.dis_name);
dis_age = findViewById(R.id.dis_age);
dis_rollno = findViewById(R.id.dis_rollno);
b1 = findViewById(R.id.b1);

b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Get the input data from EditTexts
String Name = name.getText().toString();
String Age = age.getText().toString();
String Rollno = rollno.getText().toString();

// Display the data in TextViews and set visibility to VISIBLE


dis_name.setVisibility(View.VISIBLE);
dis_name.setText("Name: " + Name);

dis_age.setVisibility(View.VISIBLE);
dis_age.setText("Age: " + Age);

dis_rollno.setVisibility(View.VISIBLE);
dis_rollno.setText("Roll No: " + Rollno);
}
});
}
}

Output:
Prl9-exe1
<?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="20dp"
android:gravity="center">

<!-- ToggleButton to turn Bluetooth ON/OFF -->


<ToggleButton
android:id="@+id/toggleBluetooth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="Bluetooth ON"
android:textOff="Bluetooth OFF"/>

<!-- TextView to display Bluetooth status -->


<TextView
android:id="@+id/statusText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bluetooth is OFF"
android:textSize="18sp"
android:layout_marginTop="20dp"/>

</LinearLayout>

Java code
package com.example.prl9_exe1;

import android.Manifest;
import android.bluetooth.BluetoothAdapter;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.ToggleButton;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

public class MainActivity extends AppCompatActivity {

private static final int PERMISSION_REQUEST_CODE = 1;


private BluetoothAdapter bluetoothAdapter;
private ToggleButton toggleBluetooth;
private TextView statusText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Initialize BluetoothAdapter
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

// Initialize UI elements
toggleBluetooth = findViewById(R.id.toggleBluetooth);
statusText = findViewById(R.id.statusText);

// Check if Bluetooth permissions are granted


if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { // Android 12 (API
level 31) and above
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.BLUETOOTH_CONNECT)
!= PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(this,
Manifest.permission.BLUETOOTH_SCAN)
!= PackageManager.PERMISSION_GRANTED) {
// Request Bluetooth permissions if not granted
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.BLUETOOTH_CONNECT,
Manifest.permission.BLUETOOTH_SCAN},
PERMISSION_REQUEST_CODE);
}
}

// Check for location permissions (for Bluetooth LE)


if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
// Request location permissions if not granted
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION},
PERMISSION_REQUEST_CODE);
}
}

if (bluetoothAdapter == null) {
statusText.setText("Bluetooth is not supported on this device.");
toggleBluetooth.setEnabled(false);
} else {
// Check Bluetooth state and set ToggleButton
updateBluetoothStatus(); // Ensure the message is set initially
toggleBluetooth.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked) {
// Turn on Bluetooth
if (!bluetoothAdapter.isEnabled()) {
bluetoothAdapter.enable();
statusText.setText("Bluetooth is ON");
}
} else {
// Turn off Bluetooth
if (bluetoothAdapter.isEnabled()) {
bluetoothAdapter.disable();
statusText.setText("Bluetooth is OFF");
}
}
});
}
}

@Override
protected void onResume() {
super.onResume();
// Check Bluetooth state on resume and update the status text
if (bluetoothAdapter != null) {
updateBluetoothStatus(); // Update the status when the activity resumes
}
}

// Helper method to update Bluetooth status message


private void updateBluetoothStatus() {
if (bluetoothAdapter != null) {
if (bluetoothAdapter.isEnabled()) {
toggleBluetooth.setChecked(true);
statusText.setText("Bluetooth is ON");
} else {
toggleBluetooth.setChecked(false);
statusText.setText("Bluetooth is OFF");
}
}
}

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[]
grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == PERMISSION_REQUEST_CODE) {
if (grantResults.length > 0) {
boolean bluetoothConnectPermissionGranted = grantResults[0] ==
PackageManager.PERMISSION_GRANTED;
boolean bluetoothScanPermissionGranted = grantResults[1] ==
PackageManager.PERMISSION_GRANTED;

if (bluetoothConnectPermissionGranted && bluetoothScanPermissionGranted) {


// Permissions granted
Toast.makeText(this, "Bluetooth permissions granted",
Toast.LENGTH_SHORT).show();
updateBluetoothStatus(); // Update message after permission is granted
} else {
// Permissions denied
Toast.makeText(this, "Bluetooth permissions are required",
Toast.LENGTH_SHORT).show();
statusText.setText("Bluetooth permissions are required for proper
functionality");
}
}
}
}
}

Output:
Prl9-exe2
<?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"
android:weightSum="5">

<!-- TextView to display the result -->


<TextView
android:id="@+id/display"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:text="0"
android:textSize="36sp"
android:layout_marginBottom="24dp"
android:layout_marginTop="32dp"/>

<!-- Row 1 - Buttons 1-3 -->


<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="4">

<Button
android:id="@+id/button1"
android:text="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<Button
android:id="@+id/button2"
android:text="2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<Button
android:id="@+id/button3"
android:text="3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<Button
android:id="@+id/buttonAdd"
android:text="+"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>

<!-- Row 2 - Buttons 4-6 -->


<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="4">

<Button
android:id="@+id/button4"
android:text="4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<Button
android:id="@+id/button5"
android:text="5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<Button
android:id="@+id/button6"
android:text="6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<Button
android:id="@+id/buttonSubtract"
android:text="-"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>

<!-- Row 3 - Buttons 7-9 -->


<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="4">
<Button
android:id="@+id/button7"
android:text="7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<Button
android:id="@+id/button8"
android:text="8"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<Button
android:id="@+id/button9"
android:text="9"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<Button
android:id="@+id/buttonMultiply"
android:text="*"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>

<!-- Row 4 - Buttons 0, C, =, and / -->


<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="4">

<Button
android:id="@+id/button0"
android:text="0"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>

<Button
android:id="@+id/buttonClear"
android:text="C"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<Button
android:id="@+id/buttonEqual"
android:text="="
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<Button
android:id="@+id/buttonDivide"
android:text="/"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>

</LinearLayout>

Javacode
package com.example.prl9_exe2;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

private TextView display;


private String input = "";
private String operator = "";
private double firstNumber = 0.0;
private double secondNumber = 0.0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

display = findViewById(R.id.display);

// Buttons for digits


Button button1 = findViewById(R.id.button1);
Button button2 = findViewById(R.id.button2);
Button button3 = findViewById(R.id.button3);
Button button4 = findViewById(R.id.button4);
Button button5 = findViewById(R.id.button5);
Button button6 = findViewById(R.id.button6);
Button button7 = findViewById(R.id.button7);
Button button8 = findViewById(R.id.button8);
Button button9 = findViewById(R.id.button9);
Button button0 = findViewById(R.id.button0);

// Buttons for operations


Button buttonAdd = findViewById(R.id.buttonAdd);
Button buttonSubtract = findViewById(R.id.buttonSubtract);
Button buttonMultiply = findViewById(R.id.buttonMultiply);
Button buttonDivide = findViewById(R.id.buttonDivide);
Button buttonEqual = findViewById(R.id.buttonEqual);
Button buttonClear = findViewById(R.id.buttonClear);

// Set up digit button listeners


View.OnClickListener numberClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Button button = (Button) v;
input += button.getText().toString();
display.setText(input);
}
};

button1.setOnClickListener(numberClickListener);
button2.setOnClickListener(numberClickListener);
button3.setOnClickListener(numberClickListener);
button4.setOnClickListener(numberClickListener);
button5.setOnClickListener(numberClickListener);
button6.setOnClickListener(numberClickListener);
button7.setOnClickListener(numberClickListener);
button8.setOnClickListener(numberClickListener);
button9.setOnClickListener(numberClickListener);
button0.setOnClickListener(numberClickListener);

// Set up operation button listeners


buttonAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
firstNumber = Double.parseDouble(input);
operator = "+";
input = "";
}
});

buttonSubtract.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
firstNumber = Double.parseDouble(input);
operator = "-";
input = "";
}
});

buttonMultiply.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
firstNumber = Double.parseDouble(input);
operator = "*";
input = "";
}
});

buttonDivide.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
firstNumber = Double.parseDouble(input);
operator = "/";
input = "";
}
});

// Equal button listener


buttonEqual.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
secondNumber = Double.parseDouble(input);
double result = 0.0;

switch (operator) {
case "+":
result = firstNumber + secondNumber;
break;
case "-":
result = firstNumber - secondNumber;
break;
case "*":
result = firstNumber * secondNumber;
break;
case "/":
if (secondNumber != 0) {
result = firstNumber / secondNumber;
} else {
display.setText("Error");
return;
}
break;
}

display.setText(String.valueOf(result));
input = String.valueOf(result);
}
});

// Clear button listener


buttonClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
input = "";
display.setText("0");
}
});
}
}

Output:
prl10-exe1
<?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">

<!-- Title of the App -->


<TextView
android:id="@+id/titleText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Welcome to Social App"
android:textSize="24sp"
android:layout_marginBottom="40dp"
android:gravity="center"/>

<!-- Username EditText -->


<EditText
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:padding="10dp"
android:layout_marginBottom="20dp"
android:inputType="text"/>

<!-- Password EditText -->


<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:padding="10dp"
android:layout_marginBottom="20dp"
android:inputType="textPassword"/>

<!-- Login Button -->


<Button
android:id="@+id/loginButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login"
android:background="@android:color/holo_blue_light"
android:textColor="#ffffff"/>

</LinearLayout>
Javacode
package com.example.prl10_exe1;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

private EditText usernameEditText;


private EditText passwordEditText;
private Button loginButton;
private TextView registerText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Initialize views
usernameEditText = findViewById(R.id.username);
passwordEditText = findViewById(R.id.password);
loginButton = findViewById(R.id.loginButton);

// Set login button click listener


loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Get the username and password entered by the user
String username = usernameEditText.getText().toString().trim();
String password = passwordEditText.getText().toString().trim();

// Simple validation
if (username.isEmpty()) {
usernameEditText.setError("Please enter a username");
return;
}
if (password.isEmpty()) {
passwordEditText.setError("Please enter a password");
return;
}

// Simulating login process (In a real-world scenario, you would check credentials
with a backend service)
if (username.equals("user123") && password.equals("password123")) {
// Successful login
Toast.makeText(MainActivity.this, "Login Successful",
Toast.LENGTH_SHORT).show();
// You can move to another screen (e.g., Home Screen)
} else {
// Failed login
Toast.makeText(MainActivity.this, "Invalid username or password",
Toast.LENGTH_SHORT).show();
}
}
});
}
}

Output:
Prl10-exe2
<?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">

<!-- Title of the App -->


<TextView
android:id="@+id/titleText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Student Registration System"
android:textSize="24sp"
android:layout_marginBottom="40dp"
android:gravity="center"/>

<!-- Username EditText -->


<EditText
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Username"
android:padding="10dp"
android:layout_marginBottom="20dp"
android:inputType="text"/>

<!-- Password EditText -->


<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Password"
android:padding="10dp"
android:layout_marginBottom="20dp"
android:inputType="textPassword"/>

<!-- Login Button -->


<Button
android:id="@+id/loginButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login"
android:background="@android:color/holo_blue_light"
android:textColor="#ffffff"/>
</LinearLayout>
Javacode
package com.example.prl10_exe2;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

private EditText usernameEditText;


private EditText passwordEditText;
private Button loginButton;
private TextView registerText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Initialize views
usernameEditText = findViewById(R.id.username);
passwordEditText = findViewById(R.id.password);
loginButton = findViewById(R.id.loginButton);

// Set login button click listener


loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Get the username and password entered by the user
String username = usernameEditText.getText().toString().trim();
String password = passwordEditText.getText().toString().trim();

// Simple validation for non-empty fields


if (username.isEmpty()) {
usernameEditText.setError("Please enter a username");
return;
}
if (password.isEmpty()) {
passwordEditText.setError("Please enter a password");
return;
}

// Simulating login process (hardcoded credentials)


if (username.equals("mansi") && password.equals("mansi123")) {
// Successful login
Toast.makeText(MainActivity.this, "Login Successful",
Toast.LENGTH_SHORT).show();
// You can navigate to the next screen (e.g., student dashboard)
// startActivity(new Intent(MainActivity.this, DashboardActivity.class));
} else {
// Failed login
Toast.makeText(MainActivity.this, "Invalid username or password",
Toast.LENGTH_SHORT).show();
}
}
});

}
}

Output:
prl11-exe1
<?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="20dp"
android:gravity="center">

<!-- Title TextView -->


<TextView
android:id="@+id/titleText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Select your hobbies"
android:textSize="18sp"
android:layout_marginBottom="20dp"
android:gravity="center"/>

<!-- Checkboxes -->


<CheckBox
android:id="@+id/checkbox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reading"
android:layout_marginBottom="10dp"/>
<CheckBox
android:id="@+id/checkbox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Travelling"
android:layout_marginBottom="10dp"/>
<CheckBox
android:id="@+id/checkbox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Music"
android:layout_marginBottom="10dp"/>
<CheckBox
android:id="@+id/checkbox4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sports"
android:layout_marginBottom="10dp"/>
<CheckBox
android:id="@+id/checkbox5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cooking"
android:layout_marginBottom="20dp"/>
<!-- Button to show the selected checkboxes -->
<Button
android:id="@+id/showButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Selected"
android:background="@android:color/holo_blue_light"
android:textColor="#ffffff"/>
</LinearLayout>

Javacode
package com.example.prl11_exe;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


private CheckBox checkBox1, checkBox2, checkBox3, checkBox4, checkBox5;
private Button showButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize checkboxes
checkBox1 = findViewById(R.id.checkbox1);
checkBox2 = findViewById(R.id.checkbox2);
checkBox3 = findViewById(R.id.checkbox3);
checkBox4 = findViewById(R.id.checkbox4);
checkBox5 = findViewById(R.id.checkbox5);
// Initialize the button
showButton = findViewById(R.id.showButton);

// Set an OnClickListener for the button


showButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Create a StringBuilder to hold the selected checkboxes
StringBuilder selectedItems = new StringBuilder("Selected Hobbies: ");

// Check which checkboxes are selected and append to the StringBuilder


if (checkBox1.isChecked()) {
selectedItems.append("Reading ");
}
if (checkBox2.isChecked()) {
selectedItems.append("Travelling ");
}
if (checkBox3.isChecked()) {
selectedItems.append("Music ");
}
if (checkBox4.isChecked()) {
selectedItems.append("Sports ");
}
if (checkBox5.isChecked()) {
selectedItems.append("Cooking ");
}

// If no checkbox is selected, display a default message


if (selectedItems.toString().equals("Selected Hobbies: ")) {
selectedItems.append("None");
}

// Show the selected hobbies in a Toast


Toast.makeText(MainActivity.this, selectedItems.toString(),
Toast.LENGTH_LONG).show();
}
});
}
}

Output:
prl12-exe
<?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="20dp">
<!-- First two Radio Buttons without RadioGroup -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Single Radio buttons"
android:textSize="18sp"
android:layout_marginBottom="10dp"
android:layout_gravity="center"/>
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Radio Button 1"
android:textSize="18sp"/>
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Radio Button 2"
android:textSize="18sp"
android:layout_marginTop="10dp"/>
<!-- Two Radio Buttons inside RadioGroup -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Radio Button Inside RadioGroup"
android:textSize="18sp"
android:layout_marginTop="30dp"
android:layout_marginBottom="10dp"
android:layout_gravity="center"/>
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/radioButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Male"
android:textSize="18sp"/>
<RadioButton
android:id="@+id/radioButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Female"
android:textSize="18sp"
android:layout_marginTop="10dp"/>
</RadioGroup>
<!-- Button to Show the Selected Radio Button -->
<Button
android:id="@+id/showButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Selected"
android:layout_marginTop="20dp"
android:layout_gravity="center"/>
</LinearLayout>

Javacode
package com.example.prl12_exe;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


// Declare RadioButtons and RadioGroup
private RadioButton radioButton1, radioButton2, radioButton3, radioButton4;
private RadioGroup radioGroup;
private Button showButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize the views
radioButton1 = findViewById(R.id.radioButton1);
radioButton2 = findViewById(R.id.radioButton2);
radioButton3 = findViewById(R.id.radioButton3);
radioButton4 = findViewById(R.id.radioButton4);
radioGroup = findViewById(R.id.radioGroup);
showButton = findViewById(R.id.showButton);

// Set onClickListener for the Show Button


showButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showSelectedOption();
}
});
}

private void showSelectedOption() {


// Check if either of the first two radio buttons is selected (outside the RadioGroup)
if (radioButton1.isChecked()) {
Toast.makeText(this, "Option 1 is selected", Toast.LENGTH_SHORT).show();
} else if (radioButton2.isChecked()) {
Toast.makeText(this, "Option 2 is selected", Toast.LENGTH_SHORT).show();
}

// Check which RadioButton inside the RadioGroup is selected


int selectedId = radioGroup.getCheckedRadioButtonId();
if (selectedId == R.id.radioButton3) {
Toast.makeText(this, "Male is Selected", Toast.LENGTH_SHORT).show();
} else if (selectedId == R.id.radioButton4) {
Toast.makeText(this, "Female is selected", Toast.LENGTH_SHORT).show();
}
}
}

Output:
prl13-exe1
<?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="20dp"
>
<!-- Circular ProgressBar -->
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
/>
<!-- Button to Start Progress -->
<Button
android:id="@+id/startButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start Progress"
android:layout_marginTop="20dp"/>
</LinearLayout>

Javacode
package com.example.prl13_exe1;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {

private ProgressBar progressBar;


private Button startButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Initialize views
progressBar = findViewById(R.id.progressBar);
startButton = findViewById(R.id.startButton);

// Set a click listener on the start button


startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Show the progress bar and start the indeterminate progress
progressBar.setVisibility(View.VISIBLE);
}
});
}
}

Output:

prl13-exe2
<?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"
android:padding="20dp">
<Button
android:id="@+id/btnDownload"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DOWNLOAD FILE" />
</LinearLayout>

Javacode
package com.example.prl13_exe2;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {

private ProgressDialog progressDialog;


private int progressStatus = 0;
private Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnDownload = findViewById(R.id.btnDownload);
btnDownload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showProgressDialog();
}
});
}
private void showProgressDialog() {
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setMessage("File downloading ...");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setCancelable(false);
progressDialog.setMax(100);
progressDialog.show();
progressStatus = 0;
new Thread(new Runnable() {
@Override
public void run() {
while (progressStatus < 100) {
progressStatus += 10;
handler.post(new Runnable() {
@Override
public void run() {
progressDialog.setProgress(progressStatus);
}
});
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
progressDialog.dismiss();
}
}).start();
}
}
Output:

After Clicking on DOWNLOAD FILE BUTTON:


prl14-exe1
<?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="10dp">

<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>

Javacode:
package com.example.prl14_exe1;

import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Data for the ListView


String[] programmingLanguages = {"Android", "Java", "Php", "Hadoop", "Sap",
"Python", "Ajax", "C++", "Ruby", "Rails"};

// Get ListView reference


ListView listView = findViewById(R.id.listView);

// Set up ArrayAdapter
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1, programmingLanguages);

// Assign adapter to ListView


listView.setAdapter(adapter);
}
}
Output:

prl14-exe2
<?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="20dp">

<ImageView
android:id="@+id/imageView"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="@drawable/image1"/>

<Button
android:id="@+id/btnChange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change Image"
android:layout_marginTop="20dp"/>
</LinearLayout>
Javacode
package com.example.prl14_exe2;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


private ImageView imageView;
private boolean isImage1 = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView);
Button btnChange = findViewById(R.id.btnChange);

btnChange.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isImage1) {
imageView.setImageResource(R.drawable.image2);
} else {
imageView.setImageResource(R.drawable.image1);
}
isImage1 = !isImage1;
}
});
}
}
Output:
After click on button:

prl14-exe3
<?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="10dp">
<GridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="3"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"/>
</LinearLayout>

Javacode
package com.example.prl14_exe3;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

private String[] buttonLabels = new String[15];


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize button labels
for (int i = 0; i < 15; i++) {
buttonLabels[i] = "Button " + (i + 1);
}
GridView gridView = findViewById(R.id.gridView);
gridView.setAdapter(new ButtonAdapter());
}
private class ButtonAdapter extends BaseAdapter {
@Override
public int getCount() {
return buttonLabels.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Button button;
if (convertView == null) {
button = new Button(MainActivity.this);
button.setPadding(10, 10, 10, 10);
} else {
button = (Button) convertView;
}
button.setText(buttonLabels[position]);
return button;
}
}
}
Output:
prl14-exe4
<?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="10dp">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp"
android:text="Android is an open-source operating system primarily used for
mobile devices, developed by Google. It is based on the Linux kernel and provides a
rich application framework for developers to create diverse apps. Android supports a
wide range of devices, including smartphones, tablets, smart TVs, and wearables.
With a large user base and an extensive ecosystem, Android allows for customizable
interfaces, multitasking, and high levels of integration with Google services."
android:padding="10dp"/>
</ScrollView>
</LinearLayout>

Javacode
package com.example.prl14_exe4;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
Output:
prl15-exe1
<?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="10dp">

<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="16sp"
android:text="Hello World.Toast Example"
android:padding="10dp"/>
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Toast"
android:textSize="18dp"
/>
</LinearLayout>

Javacode
package com.example.prl15_exe1;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn=findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Message for you:" +
"You have got mail", Toast.LENGTH_SHORT).show();
}
});
}
}
Output:

prl15-exe2
<?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="20dp">
<CheckBox
android:id="@+id/checkPizza"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pizza"/>
<CheckBox
android:id="@+id/checkCoffee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Coffee"/>
<CheckBox
android:id="@+id/checkBurger"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Burger"/>

<Button
android:id="@+id/btnOrder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ORDER"
android:layout_marginTop="20dp"/>

<!-- TextView to show order summary below the button -->


<TextView
android:id="@+id/orderSummary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text=" "
android:textSize="16sp"
android:gravity="center"/>
</LinearLayout>

Javacode
package com.example.prl15_exe2;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

private CheckBox checkPizza, checkCoffee, checkBurger;


private Button btnOrder;
private TextView orderSummary;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

checkPizza = findViewById(R.id.checkPizza);
checkCoffee = findViewById(R.id.checkCoffee);
checkBurger = findViewById(R.id.checkBurger);
btnOrder = findViewById(R.id.btnOrder);
orderSummary = findViewById(R.id.orderSummary);

btnOrder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
StringBuilder orderDetails = new StringBuilder("Selected Items:\n");
int total = 0;

if (checkPizza.isChecked()) {
orderDetails.append("Pizza - 150Rs\n");
total += 150;
}
if (checkCoffee.isChecked()) {
orderDetails.append("Coffee - 50Rs\n");
total += 50;
}
if (checkBurger.isChecked()) {
orderDetails.append("Burger - 120Rs\n");
total += 120;
}

if (total > 0) {
orderDetails.append("Total: ").append(total).append("Rs");
} else {
orderDetails.append("No items selected.");
}

// Set the order summary text to the TextView


orderSummary.setText(orderDetails.toString());
}
});
}
}

Output:
prl16-exe1
<?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="20dp">

<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:timePickerMode="spinner"/>
<Button
android:id="@+id/btnGetTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Get Selected Time"
android:layout_marginTop="20dp"/>
<TextView
android:id="@+id/textTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Selected Time:"
android:textSize="18sp"
android:layout_marginTop="10dp"/>
</LinearLayout>

Javacode
package com.example.prl16_exe1;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

private TimePicker timePicker;


private Button btnGetTime;
private TextView textTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timePicker = findViewById(R.id.timePicker);
btnGetTime = findViewById(R.id.btnGetTime);
textTime = findViewById(R.id.textTime);

timePicker.setIs24HourView(true); // Set to 24-hour format


btnGetTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int hour = timePicker.getHour();
int minute = timePicker.getMinute();

String selectedTime = hour + ":" + (minute < 10 ? "0" + minute : minute);


textTime.setText("Selected Time: " + selectedTime);
Toast.makeText(MainActivity.this, "Selected Time: " + selectedTime,
Toast.LENGTH_SHORT).show();
}
});
}
}
Output:
prl16-exe2
<?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="20dp">

<TextView
android:id="@+id/textDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Selected Date: "
android:textSize="18sp"/>

<Button
android:id="@+id/btnSelectDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SELECT DATE"
android:layout_marginTop="10dp"/>

<TextView
android:id="@+id/textTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Selected Time: "
android:textSize="18sp"
android:layout_marginTop="20dp"/>

<Button
android:id="@+id/btnSelectTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SELECT TIME"
android:layout_marginTop="10dp"/>

</LinearLayout>

Javacode
package com.example.prl16_exe2;

import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Calendar;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

private TextView textDate, textTime;


private Button btnSelectDate, btnSelectTime;
private Calendar calendar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textDate = findViewById(R.id.textDate);
textTime = findViewById(R.id.textTime);
btnSelectDate = findViewById(R.id.btnSelectDate);
btnSelectTime = findViewById(R.id.btnSelectTime);

calendar = Calendar.getInstance();

btnSelectDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);

DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this,


(view, selectedYear, selectedMonth, selectedDay) -> {
String selectedDate = selectedDay + "/" + (selectedMonth + 1) + "/" +
selectedYear;
textDate.setText("Selected Date: " + selectedDate);
Toast.makeText(MainActivity.this, "Selected Date: " + selectedDate,
Toast.LENGTH_SHORT).show();
}, year, month, day);
datePickerDialog.show();
}
});

btnSelectTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);

TimePickerDialog timePickerDialog = new TimePickerDialog(MainActivity.this,


(view, selectedHour, selectedMinute) -> {
String selectedTime = selectedHour + ":" + (selectedMinute < 10 ? "0" +
selectedMinute : selectedMinute);
textTime.setText("Selected Time: " + selectedTime);
Toast.makeText(MainActivity.this, "Selected Time: " + selectedTime,
Toast.LENGTH_SHORT).show();
}, hour, minute, true);
timePickerDialog.show();
}
});
}
}

Output:
prl17-exe
<?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="20dp">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, World!"
android:textSize="24sp"
android:textStyle="bold"/>

</LinearLayout>

Javacode
package com.example.prl17_exe1;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {

private static final String TAG = "Lifecycle";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG, "onCreate: Activity Created");
}

@Override
protected void onStart() {
super.onStart();
Log.d(TAG, "onStart: Activity Started");
}

@Override
protected void onResume() {
super.onResume();
Log.d(TAG, "onResume: Activity Resumed");
}
@Override
protected void onPause() {
super.onPause();
Log.d(TAG, "onPause: Activity Paused");
}

@Override
protected void onStop() {
super.onStop();
Log.d(TAG, "onStop: Activity Stopped");
}

@Override
protected void onRestart() {
super.onRestart();
Log.d(TAG, "onRestart: Activity Restarted");
}

@Override
protected void onDestroy() {
super.onDestroy();
Log.d(TAG, "onDestroy: Activity Destroyed");
}
}

Output:
prl18-exe1
<?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="20dp">
<Button
android:id="@+id/btnOpenURL"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Navigates" />
</LinearLayout>
Javacode
package com.example.prl18_exe1;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnOpenURL = findViewById(R.id.btnOpenURL);
btnOpenURL.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.google.com"));
startActivity(intent);
}
});
}
}
Output:
prl18-exe2
<?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="20dp">
<Button
android:id="@+id/btnOpenURL"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start Dialer" />
</LinearLayout>

Javacode
package com.example.prl18_exe2;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button btnOpenURL = findViewById(R.id.btnOpenURL);


btnOpenURL.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel: +91 7020170841"));
startActivity(intent);
}
});
}
}

Output:
After click button:

prl18-exe3
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:padding="20dp">

<EditText
android:id="@+id/inputNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter a number"
android:inputType="number" />

<Button
android:id="@+id/calculateButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate Factorial" />
</LinearLayout>

MainActivity.java
package com.example.prl18_exe3;

import android.content.Intent; // Explicit Intent


import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

EditText inputNumber;
Button calculateButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

inputNumber = findViewById(R.id.inputNumber);
calculateButton = findViewById(R.id.calculateButton);

calculateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String input = inputNumber.getText().toString().trim();

if (input.isEmpty()) {
Toast.makeText(MainActivity.this, "Please enter a number",
Toast.LENGTH_SHORT).show();
return;
}

int number = Integer.parseInt(input);

// Explicit Intent: Navigating to SecondActivity


Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("number", number); // Sending data
startActivity(intent);
}
});
}
}
activity_second.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="20dp">

<TextView
android:id="@+id/resultText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>

SecondActivity.java
package com.example.prl18_exe3;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class SecondActivity extends AppCompatActivity {

TextView resultText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);

resultText = findViewById(R.id.resultText);

// Receiving data from MainActivity using Explicit Intent


int number = getIntent().getIntExtra("number", -1);

if (number == -1) {
resultText.setText("Invalid input received.");
return;
}

long factorial = calculateFactorial(number);


resultText.setText("Factorial of " + number + " is " + factorial);
}

private long calculateFactorial(int n) {


long fact = 1;
for (int i = 1; i <= n; i++) {
fact *= i;
}
return fact;
}
}

Output:

After click Calculate Factorial Button:


prl21-exe
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:gravity="center"
android:orientation="vertical">
<Button
android:id="@+id/testBroadcast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Test Battery Low Broadcast"/>
</LinearLayout>
MainActivity.java
package com.example.prl21_exe;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button testBroadcast = findViewById(R.id.testBroadcast);


testBroadcast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_BATTERY_LOW);
sendBroadcast(intent);
}
});
}
}

SystemBroadcastReceiver.java

package com.example.prl21_exe;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;
import android.widget.Toast;

public class SystemBroadcastReceiver extends BroadcastReceiver {


private static final String TAG = "SystemBroadcastReceiver";
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action == null) return;
switch (action) {
case Intent.ACTION_BOOT_COMPLETED:
Log.d(TAG, "Device Boot Completed");
Toast.makeText(context, "Device Boot Completed",
Toast.LENGTH_SHORT).show();
break;
case Intent.ACTION_BATTERY_LOW:
Log.d(TAG, "Battery Low Warning");
Toast.makeText(context, "Battery Low!", Toast.LENGTH_SHORT).show();
break;
case ConnectivityManager.CONNECTIVITY_ACTION:
ConnectivityManager cm = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null && activeNetwork.isConnected();
Log.d(TAG, "Network Connectivity Changed: " + isConnected);
Toast.makeText(context, "Network Changed: " + (isConnected ? "Connected" :
"Disconnected"), Toast.LENGTH_SHORT).show();
break;
case Intent.ACTION_POWER_CONNECTED:
Log.d(TAG, "Power Connected");
Toast.makeText(context, "Power Connected", Toast.LENGTH_SHORT).show();
break;
case Intent.ACTION_POWER_DISCONNECTED:
Log.d(TAG, "Power Disconnected");
Toast.makeText(context, "Power Disconnected", Toast.LENGTH_SHORT).show();
break;
}
}
}

Output:
Prl22-exe1

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/layout">
</RelativeLayout>

Javacode:

package com.example.shakebackground;

import android.graphics.Color;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.RelativeLayout;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity implements SensorEventListener {

private SensorManager sensorManager;


private Sensor accelerometer;
private long lastUpdate = 0;
private float lastX, lastY, lastZ;
private static final int SHAKE_THRESHOLD = 800; // The threshold to detect shake
private RelativeLayout layout;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Initialize the layout


layout = findViewById(R.id.layout);

// Initialize sensor manager and accelerometer


sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

// Register the accelerometer sensor listener


if (accelerometer != null) {
sensorManager.registerListener(this, accelerometer,
SensorManager.SENSOR_DELAY_UI);
}
}

@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
long currentTime = System.currentTimeMillis();
if (currentTime - lastUpdate > 100) {
long diffTime = currentTime - lastUpdate;
lastUpdate = currentTime;

// Get the current accelerometer values


float x = event.values[0];
float y = event.values[1];
float z = event.values[2];

// Calculate the change in movement


float speed = Math.abs(x + y + z - lastX - lastY - lastZ) / diffTime * 10000;
if (speed > SHAKE_THRESHOLD) {
changeBackgroundColor();
}

// Save the current accelerometer values


lastX = x;
lastY = y;
lastZ = z;
}
}
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// Not used in this example
}

private void changeBackgroundColor() {


// Randomly change background color
int color = getRandomColor();
layout.setBackgroundColor(color);
}

private int getRandomColor() {


// Generate a random color
int r = (int) (Math.random() * 256);
int g = (int) (Math.random() * 256);
int b = (int) (Math.random() * 256);
return Color.rgb(r, g, b);
}

@Override
protected void onPause() {
super.onPause();
// Unregister the sensor listener when the activity is paused
if (sensorManager != null) {
sensorManager.unregisterListener(this);
}
}

@Override
protected void onResume() {
super.onResume();
// Re-register the sensor listener when the activity is resumed
if (sensorManager != null && accelerometer != null) {
sensorManager.registerListener(this, accelerometer,
SensorManager.SENSOR_DELAY_UI);
}
}
}

Output:
Prl22-exe2

<?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">
<TextView
android:id="@+id/sensorText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="List of Sensors"
android:textSize="18sp"
android:paddingBottom="16dp"/>
<ListView
android:id="@+id/sensorListView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>

Javacode:

package com.example.sensordisplay;
import android.hardware.Sensor;
import android.hardware.SensorEventListener;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.List;

public class MainActivity extends AppCompatActivity {


private SensorManager sensorManager;
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize SensorManager
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
// Initialize ListView
listView = findViewById(R.id.sensorListView);
// Get the list of sensors
List<Sensor> sensorList = sensorManager.getSensorList(Sensor.TYPE_ALL);
// Create an array to hold sensor names
String[] sensorNames = new String[sensorList.size()];
// Populate the array with the names of the sensors
for (int i = 0; i < sensorList.size(); i++) {
sensorNames[i] = sensorList.get(i).getName();
}
// Create an adapter to display the list of sensors
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1, sensorNames);
// Set the adapter to the ListView
listView.setAdapter(adapter);
}
}

Output:
Practical 23-exe1

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">

<ImageView
android:id="@+id/imageCamera"
android:layout_width="match_parent"
android:layout_height="400dp"
android:scaleType="fitXY"
android:layout_gravity="center"
android:layout_margin="20dp" />

<Button
android:id="@+id/capture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#000"
android:text="Capture"
android:textColor="#fff"
android:layout_margin="20dp"/>
</LinearLayout>

Javacode:

package com.example.camera;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.media.Image;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

private int CAMERAREQUEST_CODE=100;


ImageView imageView;
Button button;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageCamera);
button = findViewById(R.id.capture);

button.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
Intent iCamera=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(iCamera,CAMERAREQUEST_CODE);
}
});
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==CAMERAREQUEST_CODE){
Bitmap photo=(Bitmap)data.getExtras().get("data");
imageView.setImageBitmap(photo);
}
}
}

Output:
After click on the Capture Button:
practical N0-24

=====================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="20dp">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bluetooth"
android:textSize="24sp"
android:textStyle="bold"/>
<Button
android:id="@+id/btnTurnOn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Turn On" />
<Button
android:id="@+id/btnGetVisible"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Get Visible" />
<Button
android:id="@+id/btnListDevices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="List Devices" />
<Button
android:id="@+id/btnTurnOff"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Turn Off" />
</LinearLayout>
=============================javafile================================
package com.example.bluetooth;

import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Set;

public class MainActivity extends AppCompatActivity {


BluetoothAdapter bluetoothAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

Button btnTurnOn = findViewById(R.id.btnTurnOn);


Button btnGetVisible = findViewById(R.id.btnGetVisible);
Button btnListDevices = findViewById(R.id.btnListDevices);
Button btnTurnOff = findViewById(R.id.btnTurnOff);

// Turn ON Bluetooth
btnTurnOn.setOnClickListener(v -> {
if (bluetoothAdapter == null) {
Toast.makeText(this, "Bluetooth Not Supported", Toast.LENGTH_SHORT).show();
} else {
if (!bluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new
Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivity(enableBtIntent);
} else {
Toast.makeText(this, "Bluetooth Already On", Toast.LENGTH_SHORT).show();
}
}
});
// Make Device Visible
btnGetVisible.setOnClickListener(v -> {
Intent discoverableIntent = new
Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);

discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
startActivity(discoverableIntent);
});
// List Paired Devices
btnListDevices.setOnClickListener(v -> {
if (bluetoothAdapter.isEnabled()) {
Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();
StringBuilder devicesList = new StringBuilder();
for (BluetoothDevice device : pairedDevices) {
devicesList.append(device.getName()).append(" -
").append(device.getAddress()).append("\n");
}
Toast.makeText(this, devicesList.toString(), Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "Turn on Bluetooth first", Toast.LENGTH_SHORT).show();
}
});
// Turn OFF Bluetooth
btnTurnOff.setOnClickListener(v -> {
if (bluetoothAdapter.isEnabled()) {
bluetoothAdapter.disable();
Toast.makeText(this, "Bluetooth Turned Off", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Bluetooth Already Off", Toast.LENGTH_SHORT).show();
}
});
}
=============================mainfestxml============================
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<uses-feature android:name="android.hardware.bluetooth" android:required="true" />

Output:
Practical 27-Exe

<?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="32dp">

<TextView
android:id="@+id/loginStatusTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Please log in"
android:textSize="18sp"
android:layout_gravity="center"
android:paddingBottom="24dp"/>

<EditText
android:id="@+id/usernameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:inputType="text"
android:padding="12dp"
android:layout_marginBottom="16dp"/>

<EditText
android:id="@+id/passwordEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="textPassword"
android:padding="12dp"
android:layout_marginBottom="32dp"/>

<Button
android:id="@+id/loginButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login"
android:padding="12dp"/>

</LinearLayout>

Javacode:
package com.example.login;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

private EditText usernameEditText, passwordEditText;


private TextView loginStatusTextView;
private Button loginButton;

// Sample credentials (username: admin, password: admin123)


private static final String CORRECT_USERNAME = "admin";
private static final String CORRECT_PASSWORD = "admin123";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Initializing views
usernameEditText = findViewById(R.id.usernameEditText);
passwordEditText = findViewById(R.id.passwordEditText);
loginStatusTextView = findViewById(R.id.loginStatusTextView);
loginButton = findViewById(R.id.loginButton);

// Setting up the login button click listener


loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String enteredUsername = usernameEditText.getText().toString();
String enteredPassword = passwordEditText.getText().toString();

// Checking credentials
if (enteredUsername.equals("admin") && enteredPassword.equals("admin123")) {
// Login successful
loginStatusTextView.setText("Login Successful");
} else {
// Login failed
Toast.makeText(MainActivity.this, "Login Fail",
Toast.LENGTH_SHORT).show();
}
}
});
}
}

Output:
Practical 28

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">

<!-- Username EditText -->


<EditText
android:id="@+id/usernameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:inputType="text"
android:padding="10dp"/>

<!-- Password EditText -->


<EditText
android:id="@+id/passwordEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="textPassword"
android:layout_below="@id/usernameEditText"
android:padding="10dp"/>

<!-- Login Button -->


<Button
android:id="@+id/loginButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login"
android:layout_below="@id/passwordEditText"
android:onClick="onLoginClick" /> <!-- Added onClick attribute here
</RelativeLayout>

Javacode:

package com.example.login;

import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

private EditText usernameEditText, passwordEditText;


private Button loginButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Initialize views
usernameEditText = findViewById(R.id.usernameEditText);
passwordEditText = findViewById(R.id.passwordEditText);
loginButton = findViewById(R.id.loginButton);

// Add TextWatcher to username and password EditText to track changes


usernameEditText.addTextChangedListener(textWatcher);
passwordEditText.addTextChangedListener(textWatcher);
}

// TextWatcher to enable/disable login button


private final TextWatcher textWatcher = new TextWatcher() {

@Override
public void beforeTextChanged(CharSequence charSequence, int start, int count, int
after) {}

@Override
public void onTextChanged(CharSequence charSequence, int start, int before, int count)
{
// Check if both fields are not empty
String username = usernameEditText.getText().toString().trim();
String password = passwordEditText.getText().toString().trim();

// Enable the login button if username and password are valid (non-empty)
if (!username.isEmpty() && !password.isEmpty()) {
loginButton.setEnabled(true);
} else {
loginButton.setEnabled(false);
}
}

@Override
public void afterTextChanged(Editable editable) {}
};

// Handle login button click event


public void onLoginClick(View view) {
// Get the input data
String username = usernameEditText.getText().toString().trim();
String password = passwordEditText.getText().toString().trim();

// Validate username and password


if (username.equals("admin") && password.equals("1234")) {
Toast.makeText(this, "Login Successful", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Invalid credentials", Toast.LENGTH_SHORT).show();
}
}
}

Output:
Practical 29-Exe:
========================xmlfile========================
<?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">
<!-- EditText for phone number -->
<EditText
android:id="@+id/phoneNumberEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Phone Number"
android:inputType="phone" />
<!-- EditText for message -->
<EditText
android:id="@+id/messageEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Message"
android:inputType="text" />
<!-- Button to send SMS -->
<Button
android:id="@+id/sendSmsButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Send SMS" />
</LinearLayout>
=====================javafile===========================
package com.example.login;

import android.Manifest;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import android.content.pm.PackageManager;
import androidx.core.content.ContextCompat;

public class MainActivity extends AppCompatActivity {

private static final int REQUEST_SMS_PERMISSION = 1;


private Button sendSmsButton;
private EditText phoneNumberEditText;
private EditText messageEditText;
private SMSReceiver smsReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

sendSmsButton = findViewById(R.id.sendSmsButton);
phoneNumberEditText = findViewById(R.id.phoneNumberEditText);
messageEditText = findViewById(R.id.messageEditText);

// Initialize receiver for SMS


smsReceiver = new SMSReceiver();

// Request SMS permissions at runtime


if (ContextCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) !=
PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(this, Manifest.permission.RECEIVE_SMS)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{
Manifest.permission.SEND_SMS,
Manifest.permission.RECEIVE_SMS,
Manifest.permission.READ_SMS
}, REQUEST_SMS_PERMISSION);
}

sendSmsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sendSMS();
}
});
}

private void sendSMS() {


String phoneNumber = phoneNumberEditText.getText().toString();
String message = messageEditText.getText().toString();
if (!phoneNumber.isEmpty() && !message.isEmpty()) {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, message, null, null);
Toast.makeText(this, "SMS Sent!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Please enter both phone number and message",
Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onStart() {
super.onStart();
// Register receiver to listen for SMS
IntentFilter filter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
registerReceiver(smsReceiver, filter);
}
@Override
protected void onStop() {
super.onStop();
// Unregister receiver when the activity is stopped
unregisterReceiver(smsReceiver);
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[]
grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);

if (requestCode == REQUEST_SMS_PERMISSION) {
if (grantResults.length > 0 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED) {
// Permissions granted
Toast.makeText(this, "SMS permissions granted",
Toast.LENGTH_SHORT).show();
} else {
// Permissions denied
Toast.makeText(this, "SMS permissions denied", Toast.LENGTH_SHORT).show();
}
}
}
// BroadcastReceiver to handle incoming SMS
public class SMSReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {
Object[] pdus = (Object[]) intent.getExtras().get("pdus");
SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
}
// Extract sender and message content
String sender = messages[0].getOriginatingAddress();
String messageBody = messages[0].getMessageBody();
// Show a toast with sender and message
Toast.makeText(context, "SMS from: " + sender + "\nMessage: " + messageBody,
Toast.LENGTH_LONG).show();
}
}
}
}
======================mainfest.xml=============================
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />

Output:
Practical 30-exe:

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="500dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:orientation="vertical" >
<EditText
android:id="@+id/txtTo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="To"/>
<EditText
android:id="@+id/txtSub"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Subject"/>
<EditText
android:id="@+id/txtMsg"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="top"
android:hint="Message"/>
<Button
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="Send"
android:id="@+id/btnSend"/>
</LinearLayout>

Javacode:

package com.example.pr_30;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


private EditText eTo;
private EditText eSubject;
private EditText eMsg;
private Button btn;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
eTo = findViewById(R.id.txtTo);
eSubject = findViewById(R.id.txtSub);
eMsg = findViewById(R.id.txtMsg);
btn = findViewById(R.id.btnSend);

btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(Intent.EXTRA_EMAIL, new String[]{eTo.getText().toString()});
it.putExtra(Intent.EXTRA_SUBJECT, eSubject.getText().toString());
it.putExtra(Intent.EXTRA_TEXT, eMsg.getText());
it.setType("message/rfc822");
startActivity(Intent.createChooser(it, "Choose Mail App"));
}
});
}
}
Output:

You might also like