Andriod Practicle Easy Ansers
Andriod Practicle Easy Ansers
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
logLifecycleEvent("onCreate")
super.onStart()
logLifecycleEvent("onStart")
super.onResume()
logLifecycleEvent("onResume")
super.onPause()
logLifecycleEvent("onPause")
super.onStop()
logLifecycleEvent("onStop")
}
super.onDestroy()
logLifecycleEvent("onDestroy")
Create a simple application which send Hello message from one activity to another with help of
Button(use Intent)
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/btnSendMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:onClick="sendMessage" />
</RelativeLayout>
Modify the MainActivity class: Open the MainActivity.kt file, and replace its
content with the following code:
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
startActivity(intent)
} import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Create the second activity: Create a new Kotlin class named SecondActivity :
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
messageTextView.text = message
Design the layout for the second activity: Open the activity_second.xml
file in the res/layout directory, and replace its content with the following XML
code:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SecondActivity">
<TextView
android:id="@+id/textViewMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello Message"
android:layout_centerInParent="true" />
</RelativeLayout>
Create simple application to display details of selected list item on second activity(use fragmentation)
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@android:color/darker_gray"
android:dividerHeight="0.5dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_below="@id/textView" />
</RelativeLayout>
Modify the MainActivity class: Open the MainActivity.kt file, and replace
its content with the following code
import android.content.Intent
import android.os.Bundle
import android.widget.AdapterView
import android.widget.ArrayAdapter
import android.widget.ListView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
listView = findViewById(R.id.listView)
val adapter = ArrayAdapter(this,
android.R.layout.simple_list_item_1, items.map { it.title })
listView.adapter = adapter
<TextView
android:id="@+id/textViewDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
<TextView
android:id="@+id/textViewDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
textViewDetails = findViewById(R.id.textViewDetails)
create simple application with login screen. on successful login gives message go to
next acitivity(without using database)
<EditText
android:id="@+id/editTextUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"/>
<EditText
android:id="@+id/editTextPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextUsername"
android:layout_marginTop="8dp"
android:hint="Password"
android:inputType="textPassword"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"/>
<Button
android:id="@+id/btnLogin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login"
android:layout_below="@id/editTextPassword"
android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:onClick="login"/>
</RelativeLayout>
<TextView
android:id="@+id/textViewMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login Successful!"
android:layout_centerInParent="true"/>
</RelativeLayout>
editTextUsername = findViewById(R.id.editTextUsername)
editTextPassword = findViewById(R.id.editTextPassword)
}
import androidx.appcompat.app.AppCompatActivity
create first activity to accept information like student first name, middle name
last name, date of birth, address, email ID and display all information on
seocnd acitivity when user click on submit button
<EditText
android:id="@+id/editTextFirstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="First Name"
android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"/>
<!-- Similar EditText views for Middle Name, Last Name, DOB,
Address, and Email ID -->
<Button
android:id="@+id/btnSubmit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Submit"
android:layout_below="@id/editTextEmail"
android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:onClick="onSubmit"/>
</RelativeLayout>
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextFirstName = findViewById(R.id.editTextFirstName);
editTextMiddleName = findViewById(R.id.editTextMiddleName);
editTextLastName = findViewById(R.id.editTextLastName);
editTextDOB = findViewById(R.id.editTextDOB);
editTextAddress = findViewById(R.id.editTextAddress);
editTextEmail = findViewById(R.id.editTextEmail);
}
<TextView
android:id="@+id/textViewDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
Modify the SecondActivity class (SecondActivity.java):
// SecondActivity.java
package com.example.studentinfo;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
textViewDetails = findViewById(R.id.textViewDetails);
textViewDetails.setText(detailsText);
}
}
<EditText
android:id="@+id/editTextAadharNo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Aadhar Number"
android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"/>
<EditText
android:id="@+id/editTextName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextAadharNo"
android:layout_marginTop="8dp"
android:hint="Name"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"/>
<EditText
android:id="@+id/editTextDOB"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextName"
android:layout_marginTop="8dp"
android:hint="Date of Birth (MM/DD/YYYY)"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"/>
<EditText
android:id="@+id/editTextGender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextDOB"
android:layout_marginTop="8dp"
android:hint="Gender"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"/>
<EditText
android:id="@+id/editTextAddress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextGender"
android:layout_marginTop="8dp"
android:hint="Address"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"/>
<EditText
android:id="@+id/editTextContact"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextAddress"
android:layout_marginTop="8dp"
android:hint="Contact Number"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"/>
<Button
android:id="@+id/btnSubmit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Submit"
android:layout_below="@id/editTextContact"
android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:onClick="onSubmit"/>
</RelativeLayout>
// MainActivity.java
package com.example.profileapp;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
editTextAadharNo = findViewById(R.id.editTextAadharNo);
editTextName = findViewById(R.id.editTextName);
editTextDOB = findViewById(R.id.editTextDOB);
editTextGender = findViewById(R.id.editTextGender);
editTextAddress = findViewById(R.id.editTextAddress);
editTextContact = findViewById(R.id.editTextContact);
}
<Button
android:id="@+id/btnShowProfile"
android:layout_width="wrap_content"
android:layout
<ImageView
android:id="@+id/weatherIcon"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerHorizontal="true"
android:src="@drawable/ic_weather_sunny" />
<TextView
android:id="@+id/temperatureTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/weatherIcon"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:text="25°C"
android:textSize="24sp" />
<TextView
android:id="@+id/cityNameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/temperatureTextView"
android:layout_centerHorizontal="true"
android:layout_marginTop="8dp"
android:text="City Name"
android:textSize="18sp" />
</RelativeLayout>
<ImageView
android:id="@+id/weatherIcon"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/ic_weather_sunny" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center_vertical">
<TextView
android:id="@+id/temperatureTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="25°C"
android:textSize="24sp" />
<TextView
android:id="@+id/cityNameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="City Name"
android:textSize="18sp" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/resultTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:text="0"
android:textSize="24sp"
android:gravity="end"/>
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/resultTextView"
android:layout_marginTop="16dp"
android:columnCount="4"
android:rowCount="5"
android:layout_marginBottom="16dp">
<Button
android:text="2"
android:onClick="onDigitClick"
style="@style/CalculatorButton" />
<Button
android:text="3"
android:onClick="onDigitClick"
style="@style/CalculatorButton" />
<Button
android:text="C"
android:onClick="onClearClick"
style="@style/CalculatorButton" />
<Button
android:text="4"
android:onClick="onDigitClick"
style="@style/CalculatorButton" />
<Button
android:text="5"
android:onClick="onDigitClick"
style="@style/CalculatorButton" />
<Button
android:text="6"
android:onClick="onDigitClick"
style="@style/CalculatorButton" />
<Button
android:text="/"
android:onClick="onOperatorClick"
style="@style/CalculatorButton" />
<Button
android:text="7"
android:onClick="onDigitClick"
style="@style/CalculatorButton" />
<Button
android:text="8"
android:onClick="onDigitClick"
style="@style/CalculatorButton" />
<Button
android:text="9"
android:onClick="onDigitClick"
style="@style/CalculatorButton" />
<Button
android:text="*"
android:onClick="onOperatorClick"
style="@style/CalculatorButton" />
<Button
android:text="0"
android:layout_columnSpan="2"
android:onClick="onDigitClick"
style="@style/CalculatorButton" />
<Button
android:text="."
android:onClick="onDigitClick"
style="@style/CalculatorButton" />
<Button
android:text="-"
android:onClick="onOperatorClick"
style="@style/CalculatorButton" />
<Button
android:text="+"
android:onClick="onOperatorClick"
style="@style/CalculatorButton" />
<Button
android:text="="
android:layout_columnSpan="2"
android:onClick="onEqualClick"
style="@style/CalculatorButton" />
</GridLayout>
</RelativeLayout>
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 {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
resultTextView = findViewById(R.id.resultTextView);
}
Create android app for addition of two numbers using relative layout
and peform operation
<EditText
android:id="@+id/editTextNumber1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:hint="Enter number 1"
android:inputType="numberDecimal" />
<EditText
android:id="@+id/editTextNumber2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextNumber1"
android:layout_marginTop="8dp"
android:hint="Enter number 2"
android:inputType="numberDecimal" />
<Button
android:id="@+id/addButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextNumber2"
android:layout_marginTop="16dp"
android:onClick="onAddClick"
android:text="Add" />
<TextView
android:id="@+id/resultTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/addButton"
android:layout_marginTop="16dp"
android:text=""
android:textSize="18sp" />
</RelativeLayout>
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextNumber1 = findViewById(R.id.editTextNumber1);
editTextNumber2 = findViewById(R.id.editTextNumber2);
resultTextView = findViewById(R.id.resultTextView);
}
resultTextView.setText(getString(R.string.result, result));
} catch (NumberFormatException e) {
resultTextView.setText(R.string.invalid_input);
}
}
}
<ScrollView
android:id="@+id/horizontalScrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp">
</LinearLayout>
</ScrollView>
</RelativeLayout>
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Dynamically add buttons to the horizontal LinearLayout
addButtonsToScrollView();
}
Create following layout which is changing android spinner text size with
styles
<EditText
android:id="@+id/editTextNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:hint="Enter a number"
android:inputType="numberDecimal" />
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextNumber"
android:layout_marginTop="16dp"
android:orientation="vertical">
<RadioButton
android:id="@+id/radioButtonOddEven"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Odd/Even" />
<RadioButton
android:id="@+id/radioButtonPositiveNegative"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Positive/Negative" />
<RadioButton
android:id="@+id/radioButtonSquare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Square" />
<RadioButton
android:id="@+id/radioButtonFactorial"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Factorial" />
</RadioGroup>
<Button
android:id="@+id/calculateButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/radioGroup"
android:layout_marginTop="16dp"
android:onClick="onCalculateClick"
android:text="Calculate" />
<TextView
android:id="@+id/resultTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/calculateButton"
android:layout_marginTop="16dp"
android:text=""
android:textSize="18sp" />
</RelativeLayout>
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextNumber = findViewById(R.id.editTextNumber);
radioGroup = findViewById(R.id.radioGroup);
resultTextView = findViewById(R.id.resultTextView);
}
switch (selectedRadioButton.getText().toString()) {
case "Odd/Even":
return checkOddEven(number);
case "Positive/Negative":
return checkPositiveNegative(number);
case "Square":
return calculateSquare(number);
case "Factorial":
return calculateFactorial(number);
default:
throw new IllegalArgumentException("Invalid operation");
}
}
double factorial = 1;
for (int i = 1; i <= number; i++) {
factorial *= i;
}
return factorial;
}
}
Enter item
Add to spinner and remove from spinner
See response below
<EditText
android:id="@+id/editTextItem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter item"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"/>
<Button
android:id="@+id/addButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextItem"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:onClick="onAddButtonClick"
android:text="Add to Spinner"/>
<Button
android:id="@+id/removeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/addButton"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:onClick="onRemoveButtonClick"
android:text="Remove from Spinner"/>
<Spinner
android:id="@+id/spinnerItems"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/removeButton"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"/>
<TextView
android:id="@+id/responseTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/spinnerItems"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:text=""
android:textSize="18sp"/>
</RelativeLayout>
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.List;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextItem = findViewById(R.id.editTextItem);
spinnerItems = findViewById(R.id.spinnerItems);
addButton = findViewById(R.id.addButton);
removeButton = findViewById(R.id.removeButton);
responseTextView = findViewById(R.id.responseTextView);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_d
ropdown_item);
spinnerItems.setAdapter(adapter);
}
if (!newItem.isEmpty()) {
// Add the item to the list and update the spinner
itemList.add(newItem);
updateSpinner();
// Display a response
responseTextView.setText("Item added: " + newItem);
} else {
responseTextView.setText("Please enter an item.");
}
}
if (!selectedItem.isEmpty()) {
// Remove the selected item from the list and update the
spinner
itemList.remove(selectedItem);
updateSpinner();
// Display a response
responseTextView.setText("Item removed: " + selectedItem);
} else {
responseTextView.setText("No item selected.");
}
}
adapter.setDropDownViewResource(android.R.layout.simple_spinner_d
ropdown_item);
spinnerItems.setAdapter(adapter);
}
}
<Button
android:id="@+id/dateButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:text="Pick Date" />
<Button
android:id="@+id/timeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/dateButton"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="Pick Time" />
</RelativeLayout>
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.TimePicker;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
dateButton = findViewById(R.id.dateButton);
timeButton = findViewById(R.id.timeButton);
calendar = Calendar.getInstance();
dateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showDatePickerDialog();
}
});
timeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showTimePickerDialog();
}
});
}
updateDateButton();
}
},
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH)
);
datePickerDialog.show();
}
updateTimeButton();
}
},
calendar.get(Calendar.HOUR_OF_DAY),
calendar.get(Calendar.MINUTE),
false
);
timePickerDialog.show();
}
Construct an app that toggles a light bulb on and off when the user
clicks on toggle button.
<ImageView
android:id="@+id/lightBulbImageView"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerInParent="true"
android:src="@drawable/light_off" />
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/lightBulbImageView"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:textOn="Turn Off"
android:textOff="Turn On" />
</RelativeLayout>
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.ToggleButton;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lightBulbImageView = findViewById(R.id.lightBulbImageView);
toggleButton = findViewById(R.id.toggleButton);
toggleButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Toggle the light bulb state
isLightOn = !isLightOn;
res/layout/activity_main.xml:
<GridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="120dp"
android:gravity="center"
android:numColumns="auto_fit"
android:stretchMode="columnWidth"
android:horizontalSpacing="8dp"
android:verticalSpacing="8dp"
android:padding="8dp" />
</RelativeLayout>
res/layout/grid_item.xml:
</LinearLayout>
MainActivity.java:
import android.Manifest;
import android.content.ContentResolver;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.os.Build;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView = findViewById(R.id.gridView);
imageAdapter = new ImageAdapter(this);
gridView.setAdapter(imageAdapter);
if (checkPermissions()) {
loadImages();
}
}
gridView.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int
position, long id) {
String selectedImagePath = (String)
parent.getItemAtPosition(position);
// Handle image click (e.g., open in full-screen view)
Toast.makeText(MainActivity.this, "Clicked: " +
selectedImagePath, Toast.LENGTH_SHORT).show();
}
});
}
do {
String imagePath = cursor.getString(pathColumn);
imagePaths.add(imagePath);
} while (cursor.moveToNext());
cursor.close();
}
return imagePaths;
}
if (date != null) {
String formattedDate = formatDate(date);
if (!groupedImages.containsKey(formattedDate)) {
groupedImages.put(formattedDate, new
ArrayList<String>());
}
groupedImages.get(formattedDate).add(imagePath);
}
}
return sortGroupedImagesByDate(groupedImages);
}
if (dateString != null) {
SimpleDateFormat dateFormat = new
SimpleDateFormat("yyyy:MM:dd HH:mm:ss", Locale.getDefault());
return dateFormat.parse(dateString);
}
} catch (Exception e) {
Log.e("Error", "Error getting date from image path: " +
e.getMessage());
}
return null;
}
return sortedMap;
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull
String[] permissions, @NonNull int[] grantResults) {
if (requestCode == PERMISSION_REQUEST_CODE) {
if (grantResults.length > 0 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED) {
// Permission granted, load images
loadImages();
} else {
Toast.makeText(this, "Permission Denied",
Toast.LENGTH_SHORT).show();
}
}
}
}
ImageAdapter.java:
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Override
public int getCount() {
return groupedImages.size();
}
@Override
public Object getItem(int position) {
return dates.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup
parent) {
ViewHolder viewHolder;
if (convertView == null) {
convertView =
LayoutInflater.from(context).inflate(R.layout.grid_item, parent, false);
viewHolder = new ViewHolder();
viewHolder.imageView =
convertView.findViewById(R.id.imageView);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
return convertView;
}
create registration form given below. also perform appropriate validation and display
the message using dialog fragment (name , email, password, age, mobile number)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/nameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Name"
android:inputType="text" />
<EditText
android:id="@+id/emailEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/nameEditText"
android:layout_marginTop="16dp"
android:hint="Email"
android:inputType="textEmailAddress" />
<EditText
android:id="@+id/passwordEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/emailEditText"
android:layout_marginTop="16dp"
android:hint="Password"
android:inputType="textPassword" />
<EditText
android:id="@+id/ageEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/passwordEditText"
android:layout_marginTop="16dp"
android:hint="Age"
android:inputType="number" />
<EditText
android:id="@+id/mobileNumberEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/ageEditText"
android:layout_marginTop="16dp"
android:hint="Mobile Number"
android:inputType="phone" />
<Button
android:id="@+id/registerButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/mobileNumberEditText"
android:layout_marginTop="16dp"
android:text="Register" />
</RelativeLayout>
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.DialogFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nameEditText = findViewById(R.id.nameEditText);
emailEditText = findViewById(R.id.emailEditText);
passwordEditText = findViewById(R.id.passwordEditText);
ageEditText = findViewById(R.id.ageEditText);
mobileNumberEditText =
findViewById(R.id.mobileNumberEditText);
registerButton = findViewById(R.id.registerButton);
registerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
validateAndRegister();
}
});
}
if (TextUtils.isEmpty(name) || TextUtils.isEmpty(email) ||
TextUtils.isEmpty(password)
|| TextUtils.isEmpty(ageStr) ||
TextUtils.isEmpty(mobileNumber)) {
showErrorDialog("Please fill in all fields");
} else if (!isValidEmail(email)) {
showErrorDialog("Invalid email address");
} else if (password.length() < 6) {
showErrorDialog("Password must be at least 6 characters");
} else if (!isValidAge(ageStr)) {
showErrorDialog("Invalid age");
} else if (!isValidMobileNumber(mobileNumber)) {
showErrorDialog("Invalid mobile number");
} else {
// Perform registration or further actions here
showSuccessDialog("Registration successful!");
}
}
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Enter deposit amount:"
android:textSize="18sp" />
<EditText
android:id="@+id/amountEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:hint="Amount" />
</LinearLayout>
MainActivity.java:
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.DialogFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
balanceTextView = findViewById(R.id.balanceTextView);
updateBalanceDisplay();
BankAccount.java:
DepositDialogFragment.java:
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import androidx.fragment.app.DialogFragment;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new
AlertDialog.Builder(getActivity());
LayoutInflater inflater = requireActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.dialog_deposit, null);
builder.setView(view)
.setTitle("Deposit")
.setPositiveButton("Deposit", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
String amountString =
amountEditText.getText().toString();
if (!amountString.isEmpty()) {
double amount =
Double.parseDouble(amountString);
onDepositListener.onDeposit(amount);
}
}
})
.setNegativeButton("Cancel", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
return builder.create();
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
try {
onDepositListener = (OnDepositListener) context;
} catch (ClassCastException e) {
throw new ClassCastException(context.toString() + " must
implement OnDepositListener");
}
}
}
create table company(id, name, address, phno). Create application for performing
the following operation on the table. 1. insert new company Details. 2.show all the
company details.
res/layout/activity_main.xml:
<TextView
android:id="@+id/resultTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Company Details:"
android:textSize="18sp" />
<Button
android:id="@+id/insertButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/resultTextView"
android:layout_marginTop="16dp"
android:text="Insert New Company" />
</RelativeLayout>
CompanyModel.java:
// Default constructor
public CompanyModel() {
}
// Parameterized constructor
public CompanyModel(String name, String address, String
phoneNumber) {
this.name = name;
this.address = address;
this.phoneNumber = phoneNumber;
}
DatabaseHelper.java:
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
// Company table
private static final String TABLE_COMPANY = "company";
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_ADDRESS = "address";
private static final String KEY_PHONE_NUMBER = "phno";
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE_COMPANY);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_COMPANY);
onCreate(db);
}
}
CompanyDataSource.java:
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import java.util.ArrayList;
import java.util.List;
String[] allColumns = {
DatabaseHelper.KEY_ID,
DatabaseHelper.KEY_NAME,
DatabaseHelper.KEY_ADDRESS,
DatabaseHelper.KEY_PHONE_NUMBER
};
if (cursor != null) {
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
CompanyModel company = cursorToCompany(cursor);
companies.add(company);
cursor.moveToNext();
}
cursor.close();
}
return companies;
}
company.setId(cursor.getInt(cursor.getColumnIndex(DatabaseHelper.K
EY_ID)));
company.setName(cursor.getString(cursor.getColumnIndex(DatabaseH
elper.KEY_NAME)));
company.setAddress(cursor.getString(cursor.getColumnIndex(Databas
eHelper.KEY_ADDRESS)));
company.setPhoneNumber(cursor.getString(cursor.getColumnIndex(Da
tabaseHelper.KEY_PHONE_NUMBER)));
return company;
}
}
MainActivity.java:
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.List;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
resultTextView = findViewById(R.id.resultTextView);
displayCompanies();
}
resultTextView.setText(result.toString());
}
@Override
protected void onDestroy() {
super.onDestroy();
dataSource.close();
}
}
res/layout/activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/resultTextView"
android:layout_width="match_parent"
TeachingRelationship.java:
public TeachingRelationship() {
}
DatabaseHelper.java:
// ...
// TeachingRelationship table
private static final String TABLE_TEACHING_RELATIONSHIP =
"teaching_relationship";
private static final String KEY_SNO = "sno";
private static final String KEY_TNO = "tno";
// ...
}
TeachingRelationshipDataSource.java:
// ...
if (cursor != null) {
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
StudentModel student = cursorToStudent(cursor);
students.add(student);
cursor.moveToNext();
}
cursor.close();
}
return students;
}
// ...
}
MainActivity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
relationshipDataSource = new
TeachingRelationshipDataSource(this);
relationshipDataSource.open();
List<StudentModel> students =
relationshipDataSource.getStudentsByTeacherName(teacherName);
@Override
protected void onDestroy() {
super.onDestroy();
relationshipDataSource.close();
studentDataSource.close();
}
}
EmpModel.java:
public EmpModel() {
}
DeptModel.java:
public DeptModel() {
}
DatabaseHelper.java:
// Emp table
private static final String TABLE_EMP = "emp";
private static final String KEY_EMP_NO = "emp_no";
private static final String KEY_EMP_NAME = "emp_name";
private static final String KEY_ADDRESS = "address";
private static final String KEY_PHONE = "phone";
private static final String KEY_SALARY = "salary";
private static final String KEY_DEPT_NO_EMP = "dept_no";
// Dept table
private static final String TABLE_DEPT = "dept";
private static final String KEY_DEPT_NO_DEPT = "dept_no";
private static final String KEY_DEPT_NAME = "dept_name";
private static final String KEY_LOCATION = "location";
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE_DEPT);
db.execSQL(CREATE_TABLE_EMP);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_EMP);
db.execSQL("DROP TABLE IF EXISTS " + TABLE_DEPT);
onCreate(db);
}
}
EmpDataSource.java:
// ...
DeptDataSource.java:
// ...
MainActivity.java
import android.content.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;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
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) {
login();
}
});
}
if (username.equals(correctUsername) &&
password.equals(correctPassword)) {
// Successful login, move to the next screen
Intent intent = new Intent(MainActivity.this, NextActivity.class);
intent.putExtra("username", username);
startActivity(intent);
} else {
// Failed login, show a Toast message
Toast.makeText(MainActivity.this, "Login failed. Please check
your credentials.", Toast.LENGTH_SHORT).show();
}
}
}
NextActivity.java
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_next);
TextView usernameTextView =
findViewById(R.id.usernameTextView);
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/usernameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:layout_marginTop="50dp"
android:layout_marginHorizontal="16dp"/>
<EditText
android:id="@+id/passwordEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/usernameEditText"
android:layout_marginTop="16dp"
android:hint="Password"
android:layout_marginHorizontal="16dp"
android:inputType="textPassword"/>
<Button
android:id="@+id/loginButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/passwordEditText"
android:layout_marginTop="16dp"
android:text="Login"
android:layout_marginHorizontal="16dp"/>
</RelativeLayout>
activity_next.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".NextActivity">
<TextView
android:id="@+id/usernameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Welcome!"
android:textSize="18sp"/>
</RelativeLayout>
@Override
public void onCreate(SQLiteDatabase db) {
// Create Project table
db.execSQL("CREATE TABLE Project (pno INTEGER PRIMARY KEY,
p_name TEXT, ptype TEXT, duration TEXT)");
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
// Upgrade logic here if needed
}
}
2. Perform Operations (MainActivity.java):
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
projectNameEditText = findViewById(R.id.projectNameEditText);
resultTextView = findViewById(R.id.resultTextView);
db.close();
Toast.makeText(this, "Record added successfully",
Toast.LENGTH_SHORT).show();
}
result.append("Employee Name:
").append(employeeName).append("\n");
result.append("Qualification: ").append(qualification).append("\
n");
result.append("Join Date: ").append(joinDate).append("\n\n");
}
cursor.close();
db.close();
if (result.length() > 0) {
resultTextView.setText(result.toString());
} else {
resultTextView.setText("No employees found for the specified
project.");
}
}
}
<EditText
android:id="@+id/projectNameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Project Name"
android:layout_marginTop="50dp"
android:layout_marginHorizontal="16dp"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/projectNameEditText"
android:layout_marginTop="16dp"
android:onClick="addRecord"
android:text="Add Record"
android:layout_marginHorizontal="16dp"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/projectNameEditText"
android:layout_marginTop="16dp"
android:onClick="displayEmployeeInfo"
android:text="Display Employee Info"
android:layout_marginHorizontal="16dp"/>
<TextView
android:id="@+id/resultTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/projectNameEditText"
android:layout_marginTop="16dp"
android:layout_marginHorizontal="16dp"/>
</RelativeLayout>
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
@Override
public void onCreate(SQLiteDatabase db) {
// Create Student table
db.execSQL("CREATE TABLE Student (sid INTEGER PRIMARY KEY
AUTOINCREMENT, s_name TEXT, phno TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
// Upgrade logic here if needed
}
db.close();
return studentId;
}
db.close();
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
studentNameEditText = findViewById(R.id.studentNameEditText);
phoneNumberEditText =
findViewById(R.id.phoneNumberEditText);
studentIdEditText = findViewById(R.id.studentIdEditText);
resultTextView = findViewById(R.id.resultTextView);
if (studentId != -1) {
displayStudentInfo(studentId);
Toast.makeText(this, "Student added with ID: " + studentId,
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Failed to add student",
Toast.LENGTH_SHORT).show();
}
}
if (!studentIdString.isEmpty()) {
long studentId = Long.parseLong(studentIdString);
if (dbHelper.deleteStudent(studentId)) {
Toast.makeText(this, "Student deleted successfully",
Toast.LENGTH_SHORT).show();
clearFields();
} else {
Toast.makeText(this, "Failed to delete student",
Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(this, "Please enter a valid student ID",
Toast.LENGTH_SHORT).show();
}
}
if (cursor.moveToFirst()) {
String studentName =
cursor.getString(cursor.getColumnIndex("s_name"));
String phoneNumber =
cursor.getString(cursor.getColumnIndex("phno"));
cursor.close();
}
<EditText
android:id="@+id/studentNameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Student Name"
android:layout_marginTop="50dp"
android:layout_marginHorizontal="16dp"/>
<EditText
android:id="@+id/phoneNumberEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/studentNameEditText"
android:layout_marginTop="16dp"
android:hint="Phone Number"
android:layout_marginHorizontal="16dp"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/phoneNumberEditText"
android:layout_marginTop="16dp"
android:onClick="addStudent"
android:text="Add Student"
android:layout_marginHorizontal="16dp"/>
<EditText
android:id="@+id/studentIdEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/phoneNumberEditText"
android:layout_marginTop="16dp"
android:hint="Student ID for Deletion"
android:layout_marginHorizontal="16dp"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/studentIdEditText"
android:layout_marginTop="16dp"
android:onClick="deleteStudent"
android:text="Delete Student"
android:layout_marginHorizontal="16dp"/>
<TextView
android:id="@+id/resultTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/studentIdEditText"
android:layout_marginTop="16dp"
android:layout_marginHorizontal="16dp"/>
</RelativeLayout>