prog
prog
Table layout
Linear Layout
<resources>
<string name="app_name">LinearLayout</string>
<string name="to">To</string>
<string name="subject">subject</string>
<string name="message">message</string>
<string name="send">send</string>
</resources>
ABSOLUTE LAYOUT
<EditText
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_x="10dp"
android:layout_y="10dp"
android:hint="@string/to" />
<EditText
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_x="10dp"
android:layout_y="60dp"
android:hint="@string/subject" />
<EditText
android:layout_width="300dp"
android:layout_height="200dp"
android:layout_x="10dp"
android:layout_y="110dp"
android:gravity="top"
android:hint="@string/message" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="0dp"
android:layout_y="0dp"
android:text="Centered Text"
/>
<Button
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_x="210dp"
android:layout_y="320dp"
android:text="@string/send" />
</AbsoluteLayout>
Write a program to display 10 students basic information in a table form using Table layout.
<TableLayout
android:id="@+id/tableLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*">
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#CCCCCC">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="Name"
android:textStyle="bold" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="Age"
android:textStyle="bold" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="Grade"
android:textStyle="bold" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="John" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="20" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="A" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="Emma" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="21" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="B" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="Oliver" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="19" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="A" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="Ava" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="22" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:padding="10dp"
android:text="B" />
</TableRow>
</TableLayout>
</LinearLayout>
2. Write a program to display all the data types in object-oriented programming using Frame
layout.
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Primitive Data Types:"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1. Byte" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2. Short" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3. Int" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4. Long" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5. Float" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="6. Double" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="7. Boolean" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="8. Char" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reference Data Types:"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1. Array" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2. String" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Derived Data Types:"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1. Class" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2. Interface" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3. Enum" />
</LinearLayout>
</ScrollView>
</FrameLayout>
1. Write a program to accept username and password from the end user using Text View and
Edit Text.
Project: UserName2
Java:
package com.example.username2;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.view.View;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
usernameEditText = findViewById(R.id.usernameEditText);
passwordEditText = findViewById(R.id.passwordEditText);
loginButton = findViewById(R.id.loginButton);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String username = usernameEditText.getText().toString();
String password = passwordEditText.getText().toString();
if (username.isEmpty() || password.isEmpty()) {
Toast.makeText(MainActivity.this, "Please enter both username and password",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "Username: " + username + ", Password: " +
password, Toast.LENGTH_SHORT).show();
}
}
});
}
}
XML:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Username:" />
<EditText
android:id="@+id/usernameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter username" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password:" />
<EditText
android:id="@+id/passwordEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:hint="Enter password" />
<Button
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login" />
</LinearLayout>
Project: StudentInfo
Java:
package com.example.studentinfo;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
nameEditText = findViewById(R.id.nameEditText);
ageEditText = findViewById(R.id.ageEditText);
genderEditText = findViewById(R.id.genderEditText);
addressEditText = findViewById(R.id.addressEditText);
phoneNumberEditText = findViewById(R.id.phoneNumberEditText);
emailEditText = findViewById(R.id.emailEditText);
submitButton = findViewById(R.id.submitButton);
displayTextView = findViewById(R.id.displayTextView);
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = nameEditText.getText().toString();
String age = ageEditText.getText().toString();
String gender = genderEditText.getText().toString();
String address = addressEditText.getText().toString();
String phoneNumber = phoneNumberEditText.getText().toString();
String email = emailEditText.getText().toString();
String displayText = "Name: " + name + "\nAge: " + age + "\nGender: " + gender + "\
nAddress: " + address + "\nPhone Number: " + phoneNumber + "\nEmail: " + email;
displayTextView.setText(displayText);
}
});
}
}
XML:
<EditText
android:id="@+id/nameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your name"
android:inputType="textPersonName" />
<EditText
android:id="@+id/ageEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your age"
android:inputType="number" />
<EditText
android:id="@+id/genderEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your gender"
android:inputType="textPersonName" />
<EditText
android:id="@+id/addressEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your address"
android:inputType="textPostalAddress" />
<EditText
android:id="@+id/phoneNumberEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your phone number"
android:inputType="phone" />
<EditText
android:id="@+id/emailEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your email"
android:inputType="textEmailAddress" />
<Button
android:id="@+id/submitButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit" />
<TextView
android:id="@+id/displayTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textSize="16sp" />
</LinearLayout>
1. Write a program to create a first display screen of any search engine using Auto Complete Text
View.
JAVA:
package com.example.searchengine;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.Toast;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
searchAutoCompleteTextView = findViewById(R.id.searchAutoCompleteTextView);
searchButton = findViewById(R.id.searchButton);
}
}
XML:
<AutoCompleteTextView
android:id="@+id/searchAutoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Search here..."
android:inputType="text" />
<Button
android:id="@+id/searchButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Search" />
</LinearLayout>
2. Write a program to display all the subjects of sixth semester using Auto Complete Text View.
sixth semester
JAVA:
package com.example.sixthsemsubj;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.TextView;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
subjectAutoCompleteTextView = findViewById(R.id.subjectAutoCompleteTextView);
displayButton = findViewById(R.id.displayButton);
subjectsTextView = findViewById(R.id.subjectsTextView);
displayButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String subjectList = "";
for (String subject : subjects) {
subjectList += subject + "\n";
}
subjectsTextView.setText(subjectList);
}
});
}
}
XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main"
android:orientation="vertical"
android:padding="16dp">
<AutoCompleteTextView
android:id="@+id/subjectAutoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Select subject..." />
<Button
android:id="@+id/displayButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Display Subjects" />
<TextView
android:id="@+id/subjectsTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textSize="16sp" />
</LinearLayout>
1. Write a program to create a toggle button to display ON / OFF Bluetooth on the display screen.
JAVA:
package com.example.bluetoothonoff;
import androidx.appcompat.app.AppCompatActivity;
import android.bluetooth.BluetoothAdapter;
import android.content.Intent;
import android.provider.Settings;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.ToggleButton;
import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContract;
import androidx.activity.result.contract.ActivityResultContracts;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bluetoothToggleButton = findViewById(R.id.bluetoothToggleButton);
bluetoothStatusTextView = findViewById(R.id.bluetoothStatusTextView);
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
enableBluetoothLauncher = registerForActivityResult(new
ActivityResultContracts.StartActivityForResult(),
new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
if (result.getResultCode() == RESULT_OK) {
bluetoothStatusTextView.setText("Bluetooth is ON");
} else {
bluetoothStatusTextView.setText("Bluetooth is OFF");
}
}
});
bluetoothToggleButton.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
if (!bluetoothAdapter.isEnabled()) {
Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
enableBluetoothLauncher.launch(enableIntent);
} else {
bluetoothStatusTextView.setText("Bluetooth is already ON");
}
} else {
if (bluetoothAdapter.isEnabled()) {
Intent intent = new Intent(Settings.ACTION_BLUETOOTH_SETTINGS);
startActivity(intent);
bluetoothStatusTextView.setText("Bluetooth is OFF");
} else {
bluetoothStatusTextView.setText("Bluetooth is already OFF");
}
}
}
});
}
}
XML:
<ToggleButton
android:id="@+id/bluetoothToggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOff="Bluetooth OFF"
android:textOn="Bluetooth ON" />
<TextView
android:id="@+id/bluetoothStatusTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textSize="16sp" />
</LinearLayout>
Manifest XML
Java:
package com.example.calculator;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
num1EditText = findViewById(R.id.num1_edit_text);
num2EditText = findViewById(R.id.num2_edit_text);
addButton = findViewById(R.id.add_button);
subtractButton = findViewById(R.id.subtract_button);
multiplyButton = findViewById(R.id.multiply_button);
divideButton = findViewById(R.id.divide_button);
resultTextView = findViewById(R.id.result_text_view);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculate(addButton.getText().toString());
}
});
subtractButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculate(subtractButton.getText().toString());
}
});
multiplyButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculate(multiplyButton.getText().toString());
}
});
divideButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculate(divideButton.getText().toString());
}
});
}
private void calculate(String operation) {
double num1, num2;
try {
num1 = Double.parseDouble(num1EditText.getText().toString());
num2 = Double.parseDouble(num2EditText.getText().toString());
} catch (NumberFormatException e) {
resultTextView.setText("Invalid input");
return;
}
double result;
switch (operation) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
if (num2 != 0) {
result = num1 / num2;
} else {
resultTextView.setText("Error: Division by zero");
return;
}
break;
default:
resultTextView.setText("Invalid operation");
return;
}
resultTextView.setText(String.valueOf(result));
}
}
XML:
<EditText
android:id="@+id/num1_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter first number" />
<EditText
android:id="@+id/num2_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter second number" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/add_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text= "+" />
<Button
android:id="@+id/subtract_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text ="-" />
<Button
android:id="@+id/multiply_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="*" />
<Button
android:id="@+id/divide_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text= "/" />
</LinearLayout>
<TextView
android:id="@+id/result_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24sp" />
</LinearLayout>
Username2
Xml:
tools:context=".MainActivity">
<CheckBox
android:id="@+id/cb_java"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Java" />
<CheckBox
android:id="@+id/cb_python"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Python" />
<CheckBox
android:id="@+id/cb_android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Android" />
<CheckBox
android:id="@+id/cb_kotlin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kotlin" />
<CheckBox
android:id="@+id/cb_flutter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Flutter" />
<Button
android:id="@+id/btn_submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit" />
</LinearLayout>
Java:
package com.example.radiocheckprogress;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
cb_java = findViewById(R.id.cb_java);
cb_python = findViewById(R.id.cb_python);
cb_android = findViewById(R.id.cb_android);
cb_kotlin = findViewById(R.id.cb_kotlin);
cb_flutter = findViewById(R.id.cb_flutter);
btn_submit = findViewById(R.id.btn_submit);
btn_submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
StringBuilder selectedItems = new StringBuilder();
if (cb_java.isChecked()) {
selectedItems.append("Java, ");
}
if (cb_python.isChecked()) {
selectedItems.append("Python, ");
}
if (cb_android.isChecked()) {
selectedItems.append("Android, ");
}
if (cb_kotlin.isChecked()) {
selectedItems.append("Kotlin, ");
}
if (cb_flutter.isChecked()) {
selectedItems.append("Flutter, ");
}
if (selectedItems.length() > 0) {
selectedItems.delete(selectedItems.length() - 2, selectedItems.length());
Toast.makeText(MainActivity.this, "Selected items: " + selectedItems.toString(),
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "No items selected", Toast.LENGTH_SHORT).show();
}
}
});
}
}
12
package com.example.radiobutton;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
rb_yes = findViewById(R.id.rb_yes);
rb_no = findViewById(R.id.rb_no);
rg_options = findViewById(R.id.rg_options);
btn_submit = findViewById(R.id.btn_submit);
btn_submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String message = "";
XML:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Radio Buttons without RadioGroup:" />
<RadioButton
android:id="@+id/rb_yes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Yes" />
<RadioButton
android:id="@+id/rb_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="No" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Radio Buttons with RadioGroup:" />
<RadioGroup
android:id="@+id/rg_options"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/rb_option1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Option 1" />
<RadioButton
android:id="@+id/rb_option2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Option 2" />
</RadioGroup>
<Button
android:id="@+id/btn_submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit" />
</LinearLayout>
13:
https://www.geeksforgeeks.org/how-to-create-circular-determinate-progressbar-in-android/
ProgressBar Project
MainActivity.java:
package com.example.progressbar;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
b = findViewById(R.id.btn);
pb = findViewById(R.id.progressBar);
b.setOnClickListener(new View.OnClickListener() {
@Override
startProgress(v);
});
pb.setProgress(0);
}
class Task implements Runnable {
@Override
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
pb.setProgress(value);
}
}
}
}
activity_main.xml:
<ProgressBar
android:id= "@+id/progressBar"
style= "?android:attr/progressBarStyleHorizontal"
android:layout_width= "200dp"
android:layout_height= "200dp"
android:layout_centerInParent= "true"
android:background= "@drawable/circular_shape"
android:indeterminate= "false"
android:max= "100"
android:progress= "0"
android:progressDrawable= "@drawable/circular_progress_bar" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_below="@+id/progressBar"
android:text="Start"/>
</RelativeLayout>
<!-- </div>-->
JAVA
package com.example.progressbar;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.os.Bundle;
import android.os.Handler;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
ProgressBar progressBar;
HorizontalProgBar
XML:
<TextView
android:id="@+id/fd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="File Downloading"
android:textSize="40sp" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:progress="0"
android:layout_centerInParent="true" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/progressBar"
android:orientation="horizontal">
-------- android:layout_centerInParent="true"
android:layout_below="@id/listView"
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:textSize="24sp" />
<!-- android:layout_alignParentRight="true"-->
</RelativeLayout>
</RelativeLayout>
JAVA:
package com.example.horizontalprogbar;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
progressBar = findViewById(R.id.progressBar);
textView = findViewById(R.id.textView);
textView1 = findViewById(R.id.textView1);
// button = findViewById(R.id.button);
// button.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// startDownload();
// }
// });
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
// set the limitations for the numeric
// text under the progress bar
if (i <= 100) {
textView.setText("" + i);
textView1.setText(i + "/100");
progressBar.setProgress(i);
i++;
handler.postDelayed(this, 200);
} else {
handler.removeCallbacks(this);
}
}
}, 200);
}
}
14
1
List view
XML:
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.8"/>
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/listView"
android:layout_alignParentRight="true"
/>
JAVA :
package com.example.listview;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import android.os.Bundle;
import android.widget.Button;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import android.view.View;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ListView listView = findViewById(R.id.listView);
listView = findViewById(R.id.listView);
button = findViewById(R.id.button);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String selectedItem = (String) parent.getItemAtPosition(position);
button.setText(selectedItem);
}
});
}
}
Image View
XML :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:text="Change Image" />
</RelativeLayout >
JAVA:
package com.example.imageview;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView);
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageIndex = (imageIndex + 1) % images.length;
imageView.setImageResource(images[imageIndex]);
}
});
}
}
Buttons
JAVA
package com.example.gridviewbuttons;
import android.view.View;
import android.widget.Button;
import android.widget.GridView;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
gridView = findViewById(R.id.gridView);
}
}
XML
<?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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<GridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="3" />
</LinearLayout>
ButtonAdapter .JAVA
package com.example.gridviewbuttons;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
@Override
public int getCount() {
return 15;
}
@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(context);
button.setLayoutParams(new
ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
button.setText("Button " + (position + 1));
} else {
button = (Button) convertView;
}
return button;
}
}
JAVA:
package com.example.textvertscrollview;
import android.widget.TextView;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
textView.setText(longText);
}
}
XML:
<?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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:textSize="18sp" />
</ScrollView>
</LinearLayout>
15
1 ToastMessage
JAVA:
package com.example.toastmessgae;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import android.view.Gravity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast toast = Toast.makeText(MainActivity.this, "This is a very long toast message
that will be wrapped.", Toast.LENGTH_SHORT);
//toast.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL, 0,
0);
// Centers the toast
toast.setGravity(Gravity.TOP, 0, 0);
toast.show();
<RelativeLayout
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="80dp"
android:layout_below="@id/textView"
android:text="Show Toast" />
</RelativeLayout>
</RelativeLayout>
2: MENU ORDER
JAVA
package com.example.order;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;
import android.os.Bundle;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
checkBox1 = findViewById(R.id.checkBox1);
checkBox2 = findViewById(R.id.checkBox2);
checkBox3 = findViewById(R.id.checkBox3);
button = findViewById(R.id.button);
textView = findViewById(R.id.textView);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int totalPrice = 0;
StringBuilder order = new StringBuilder();
if (checkBox1.isChecked()) {
order.append("Pizza, ");
totalPrice += 10;
}
if (checkBox2.isChecked()) {
order.append("Burger, ");
totalPrice += 8;
}
if (checkBox3.isChecked()) {
order.append("Fries");
totalPrice += 5;
}
if (order.length() > 0) {
order.delete(order.length() - 2, order.length());
}
}
});
}
}
XML
<?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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pizza ($10)" />
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Burger ($8)" />
<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fries ($5)" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Order" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp" />
</LinearLayout>
16
1 TimePickerSpinner
Java
package com.example.timepicker3;
import android.widget.TimePicker;
import android.os.Bundle;
import android.view.Window;
import androidx.core.view.WindowCompat;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import android.widget.TimePicker;
public class MainActivity extends AppCompatActivity {
private TimePicker timePicker12;
private TimePicker timePicker24;
private TimePicker timePickerSpinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
Window window = getWindow();
WindowCompat.setDecorFitsSystemWindows(window, false);
timePicker24.setIs24HourView(true);
}
Xml
<?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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<TimePicker
android:id="@+id/timePicker12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TimePicker
android:id="@+id/timePicker24"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TimePicker
android:id="@+id/timePickerSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:timePickerMode="spinner" />
</LinearLayout>
Java
package com.example.selectdatetime;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
private EditText edtDate, edtTime;
private Button btnSelectDate, btnSelectTime;
private Calendar calendar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
edtDate = findViewById(R.id.edt_date);
edtTime = findViewById(R.id.edt_time);
btnSelectDate = findViewById(R.id.btn_select_date);
btnSelectTime = findViewById(R.id.btn_select_time);
calendar = Calendar.getInstance();
btnSelectDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectDate();
}
});
btnSelectTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectTime();
}
});
}
private void selectDate() {
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, day);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-
dd", Locale.getDefault());
edtDate.setText(simpleDateFormat.format(calendar.getTime()));
}
}, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
datePickerDialog.show();
}
Xml
<Button
android:id="@+id/btn_select_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select Date" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="horizontal">
<EditText
android:id="@+id/edt_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Select Time" />
<Button
android:id="@+id/btn_select_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select Time" />
</LinearLayout>
</LinearLayout>
17 Write a program to create a HelloWorld Activity using all lifecycles methods to display
messages using Log.d.
Java:
package com.example.hellowordlifecycle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
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 onDestroy() {
super.onDestroy();
Log.d(TAG, "onDestroy: Activity destroyed");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d(TAG, "onRestart: Activity restarted");
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Log.d(TAG, "onSaveInstanceState: Saving instance state");
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
Log.d(TAG, "onRestoreInstanceState: Restoring instance state");
}
}
18
1. Write a program to create a text field and a button “Navigate”. When you enter
“www.google.com” and press navigate button it should open google page.
JAVA
package com.example.googlenavigate;
import android.content.Intent;
import android.net.Uri;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
edtUrl = findViewById(R.id.edt_url);
btnNavigate = findViewById(R.id.btn_navigate);
btnNavigate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String url = edtUrl.getText().toString();
if (!url.startsWith("http://") && !url.startsWith("https://")) {
url = "http://" + url;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
}
});
}
}
XML
<?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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<EditText
android:id="@+id/edt_url"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter URL"
android:layout_marginTop="50dp"
android:inputType="textUri" />
<Button
android:id="@+id/btn_navigate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Navigate" />
</LinearLayout>
2. Write a program to create button “Start Dialer”. When u click on this button it should
open the phone dialer.
JAVA
package com.example.dialer;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
btnStartDialer = findViewById(R.id.btn_start_dialer);
btnStartDialer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_DIAL);
startActivity(intent);
}
});
}
}
XML
<?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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<Button
android:id="@+id/btn_start_dialer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start Dialer"
android:layout_marginTop="50dp"/>
</LinearLayout>
3. Write a program to create two screens. First screen will take one number input from user.
After click on Factorial button, second screen will open and it should display factorial of the
same number. Also specify which type of intent you will use in this case.
MAIN
Xml
<EditText
android:id="@+id/edt_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter a number"
android:inputType="number"
android:layout_marginTop="150dp"/>
<Button
android:id="@+id/btn_factorial"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Factorial" />
</LinearLayout>
Java
package com.example.factorialnumberscreen;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
btnFactorial.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int number = Integer.parseInt(edtNumber.getText().toString());
int factorial = calculateFactorial(number);
SCREEN 2
XML
<TextView
android:id="@+id/txt_result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24sp"
android:layout_marginTop="150dp"/>
</LinearLayout>
JAVA
package com.example.factorialnumberscreen;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
txtResult = findViewById(R.id.txt_result);
open the AndroidManifest.xml file and add the following code inside the <application> tag:
<activity android:name=".ResultActivity"></activity>
</activity>
<activity android:name=".ResultActivity"></activity>
</application>
</manifest>
19 Write a program to create your own content provider to insert and access data in
android application.
20
Xml:
<?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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<Button
android:id="@+id/btn_start_wifi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start WiFi"
android:layout_marginTop="150dp"/>
<Button
android:id="@+id/btn_stop_wifi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Stop WiFi" />
</LinearLayout>
Java
package com.example.wifiservice;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.util.Log;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
wifiManager = (WifiManager)
getApplicationContext().getSystemService(Context.WIFI_SERVICE);
btnStartWifi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startWifi();
}
});
btnStopWifi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
stopWifi();
}
});
}
}
}
Manifest: permission
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
………………………….
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class MainActivity extends AppCompatActivity {
private EditText num1, num2;
private Button add, subtract, multiply, divide;
private TextView result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
num1 = findViewById(R.id.num1);
num2 = findViewById(R.id.num2);
add = findViewById(R.id.add);
subtract = findViewById(R.id.subtract);
multiply = findViewById(R.id.multiply);
divide = findViewById(R.id.divide);
result = findViewById(R.id.result);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculateResult("+");
}
});
subtract.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculateResult("-");
}
});
multiply.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculateResult("*");
}
});
divide.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculateResult("/");
}
});
}
float resultValue;
switch (op) {
case "+":
resultValue = number1 + number2;
break;
case "-":
resultValue = number1 - number2;
break;
case "*":
resultValue = number1 * number2;
break;
case "/":
if (number2 != 0) {
resultValue = number1 / number2;
} else {
result.setText("Error: Division by zero!");
return;
}
break;
default:
result.setText("Error: Invalid operator!");
return;
}
xml
<EditText
android:id="@+id/num1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Number 1"
android:inputType="numberDecimal" />
<EditText
android:id="@+id/num2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Number 2"
android:inputType="numberDecimal" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/add"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="+" />
<Button
android:id="@+id/subtract"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="-" />
<Button
android:id="@+id/multiply"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="*" />
<Button
android:id="@+id/divide"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="/" />
</LinearLayout>
<TextView
android:id="@+id/result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Result: " />
</LinearLayout>
With SPINNER
Java
package com.example.arithmetic;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
num1 = findViewById(R.id.num1);
num2 = findViewById(R.id.num2);
operator = findViewById(R.id.operator);
calculate = findViewById(R.id.calculate);
result = findViewById(R.id.result);
calculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculateResult();
}
});
}
Xml
<EditText
android:id="@+id/num1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Number 1"
android:inputType="numberDecimal" />
>
<EditText
android:id="@+id/num2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Number 2"
android:inputType="numberDecimal" />
<Spinner
android:id="@+id/operator"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/operators" />
<Button
android:id="@+id/calculate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Calculate" />
<TextView
android:id="@+id/result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Result: " />
</LinearLayout>
STRING
<resources>
<string name="app_name">Calculator</string>
<string-array name="operators">
<item>+</item>
<item>-</item>
<item>*</item>
<item>/</item>
</string-array>
</resources>
2. Write a program to convert temperature from celcius to farenhite and vice versa using
Toggle button. (Design UI as per your choice. Write XML and java file)
TempConvert
XML
<?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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
android:padding="16dp">
<EditText
android:id="@+id/temperature"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter temperature"
android:inputType="numberDecimal" />
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOff="Celsius to Fahrenheit"
android:textOn="Fahrenheit to Celsius" />
<Button
android:id="@+id/convertButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Convert" />
<TextView
android:id="@+id/result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Result: "
android:textAppearance="@style/TextAppearance.AppCompat.Large" />
</LinearLayout>
JAVA
package com.example.tempconvert;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.ToggleButton;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
temperature = findViewById(R.id.temperature);
toggleButton = findViewById(R.id.toggleButton);
convertButton = findViewById(R.id.convertButton);
result = findViewById(R.id.result);
convertButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
float temp = Float.parseFloat(temperature.getText().toString());
if (toggleButton.isChecked()) {
// Fahrenheit to Celsius
float resultValue = (temp - 32) * 5 / 9;
result.setText("Result: " + resultValue + "°C");
} else {
// Celsius to Fahrenheit
float resultValue = temp * 9 / 5 + 32;
result.setText("Result: " + resultValue + "°F");
}
} catch (NumberFormatException e) {
result.setText("Error: Invalid input!");
}
}
});
}
}
3. Design UI using table layout to display buttons with 0 – 9 numbers on it. Even display
submit and clear button. When user clicks on particular buttons and later when clicks
on submit button, it should display the numbers clicked.
XML
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stretchColumns="*">
<TableRow>
<Button
android:id="@+id/button_1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="1" />
<Button
android:id="@+id/button_2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="2" />
<Button
android:id="@+id/button_3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="3" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button_4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="4" />
<Button
android:id="@+id/button_5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="5" />
<Button
android:id="@+id/button_6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="6" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button_7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="7" />
<Button
android:id="@+id/button_8"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="8" />
<Button
android:id="@+id/button_9"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="9" />
</TableRow>
<TableRow>
<Button
android:id="@+id/button_0"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0" />
<Button
android:id="@+id/button_submit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Submit" />
<Button
android:id="@+id/button_clear"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Clear" />
</TableRow>
</TableLayout>
<TextView
android:id="@+id/text_view_result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Result: "
android:textAppearance="@style/TextAppearance.AppCompat.Large" />
</LinearLayout>
JAVA
package com.example.numberbutton;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
textViewResult = findViewById(R.id.text_view_result);
button0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.append("0");
}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.append("1");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.append("2");
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.append("3");
}
});
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.append("4");
}
});
button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.append("5");
}
});
button6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.append("6");
}
});
button7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.append("7");
}
});
button8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.append("8");
}
});
button9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.append("9");
}
});
buttonSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textViewResult.setText("Result: " + result.toString());
}
});
buttonClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
result.setLength(0);
textViewResult.setText("Result: ");
}
});
}
}
4. Design a employee registration form using UI component.
STRING
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Employee Registration</string>
<string-array name="departments">
<item>HR</item>
<item>Marketing</item>
<item>IT</item>
<item>Finance</item>
<item>Operations</item>
</string-array>
</resources>
JAVA
package com.example.employeeregistration;
import static android.app.ProgressDialog.show;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
etName = findViewById(R.id.et_name);
etEmail = findViewById(R.id.et_email);
etPhone = findViewById(R.id.et_phone);
etDesignation = findViewById(R.id.et_designation);
spDepartment = findViewById(R.id.sp_department);
btnSubmit = findViewById(R.id.btn_submit);
btnSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = etName.getText().toString();
String email = etEmail.getText().toString();
String phone = etPhone.getText().toString();
String designation = etDesignation.getText().toString();
String department = spDepartment.getSelectedItem().toString();
XML
<?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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Employee Registration Form"
android:textAppearance="@style/TextAppearance.AppCompat.Large"
android:textStyle="bold" />
<EditText
android:id="@+id/et_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Name"
android:inputType="textPersonName" />
<EditText
android:id="@+id/et_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email"
android:inputType="textEmailAddress" />
<EditText
android:id="@+id/et_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Phone Number"
android:inputType="phone" />
<Spinner
android:id="@+id/sp_department"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/departments" />
<EditText
android:id="@+id/et_designation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Designation"
android:inputType="textPersonName" />
<Button
android:id="@+id/btn_submit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Submit" />
</LinearLayout>
JAVA
XML
<?xml version="1.0" encoding="utf-8"?>
<TableLayout 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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:stretchColumns="1">
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Username:" />
<EditText
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password:" />
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword" />
</TableRow>
<TableRow>
<Button
android:id="@+id/login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login" />
<Button
android:id="@+id/cancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Cancel" />
</TableRow>
</TableLayout>
6. Develop a program to add “Hello World” marker at (10,10) co-ordinates. Write only .
java file.
JAVA
XML
21. Write a program to demonstrate all the system broadcast messages.
27. Write a program to create the login form and display login successful/
Unsuccessful toastmessage.
28. Write a program to create the login form with necessary validations like length of
username and password, empty text fields, count of unsuccessful login attempts.
Display the login successful/Unsuccessful toastmessage.
(disable login button till validation)
29. Write a program to send and receive SMS make use of following GUI.
30. Write a program to send email.
31. Write a program to locate user’s current location.
32. Write a program to draw a route between two locations.