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

amp practical

The document outlines the implementation of a simple Android application with three activities: MainActivity, SecondActivity, and ThirdActivity, each containing buttons to navigate between them. It also includes a registration form with various UI components such as EditText, RadioGroup, CheckBoxes, and a Spinner for course selection. Additionally, it demonstrates the use of fragments with buttons to switch between two fragments within the main activity layout.

Uploaded by

prakashwature
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

amp practical

The document outlines the implementation of a simple Android application with three activities: MainActivity, SecondActivity, and ThirdActivity, each containing buttons to navigate between them. It also includes a registration form with various UI components such as EditText, RadioGroup, CheckBoxes, and a Spinner for course selection. Additionally, it demonstrates the use of fragments with buttons to switch between two fragments within the main activity layout.

Uploaded by

prakashwature
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 68

Practical 3

1. MainActivity

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="@android:color/holo_blue_light"

android:padding="16dp"

android:gravity="center">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Main Activity"

android:textSize="24sp"

android:textColor="@android:color/white"

android:layout_marginBottom="32dp" />

<Button

android:id="@+id/button_to_second"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Go to Second Activity" />

<Button

android:id="@+id/button_to_third"

android:layout_width="wrap_content"
android:layout_height="wrap_content"

android:text="Go to Third Activity"

android:layout_marginTop="16dp" />

</LinearLayout>

MainActivity.java

package com.example.one;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button buttonToSecond = findViewById(R.id.button_to_second);

Button buttonToThird = findViewById(R.id.button_to_third);

buttonToSecond.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

startActivity(new Intent(MainActivity.this, SecondActivity.class));

});
buttonToThird.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

startActivity(new Intent(MainActivity.this, ThirdActivity.class));

});

2. SecondActivity

activity_second.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="@android:color/holo_green_light"

android:padding="16dp"

android:gravity="center">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Second Activity"

android:textSize="24sp"

android:textColor="@android:color/white"

android:layout_marginBottom="32dp" />

<Button

android:id="@+id/button_to_first"
android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Back to Main Activity" />

<Button

android:id="@+id/button_to_third"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Go to Third Activity"

android:layout_marginTop="16dp" />

</LinearLayout>

SecondActivity.java

package com.example.one;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class SecondActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_second);

Button buttonToFirst = findViewById(R.id.button_to_first);

Button buttonToThird = findViewById(R.id.button_to_third);


buttonToFirst.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

startActivity(new Intent(SecondActivity.this, MainActivity.class));

});

buttonToThird.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

startActivity(new Intent(SecondActivity.this, ThirdActivity.class));

});

3. ThirdActivity

activity_third.java

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:background="@android:color/holo_purple"

android:padding="16dp"

android:gravity="center">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:text="Third Activity"

android:textSize="24sp"

android:textColor="@android:color/white"

android:layout_marginBottom="32dp" />

<Button

android:id="@+id/button_to_first"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Back to Main Activity" />

<Button

android:id="@+id/button_to_second"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Go to Second Activity"

android:layout_marginTop="16dp" />

</LinearLayout>

ThirdActivity.java

package com.example.one;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class ThirdActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_third);

Button buttonToFirst = findViewById(R.id.button_to_first);

Button buttonToSecond = findViewById(R.id.button_to_second);

buttonToFirst.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

startActivity(new Intent(ThirdActivity.this, MainActivity.class));

});

buttonToSecond.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

startActivity(new Intent(ThirdActivity.this, SecondActivity.class));

});

}
B. Demonstrating UI Components (register form)

activity_main.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:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@drawable/abc"

android:orientation="vertical"

tools:context=".MainActivity">

<TextView

android:id="@+id/txtv1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="10dp"

android:text="Registration Form"

android:textAlignment="center"

android:textColor="#071873"

android:textSize="34sp"

android:textStyle="bold" />

<EditText

android:id="@+id/txtname"

android:layout_width="300dp"

android:layout_height="wrap_content"

android:hint="Enter your name"

android:textSize="24sp"

android:layout_marginTop="80dp"

android:ems="10"
android:padding="15dp"

android:textColor="@color/black"/>

<RadioGroup

android:id="@+id/rdgender"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:padding="15dp">

<RadioButton

android:id="@+id/rdmale"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Male"

android:textSize="24sp"

android:layout_weight="1"/>

<RadioButton

android:id="@+id/rdfemale"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Female"

android:textSize="24sp"

android:layout_weight="1"/>

</RadioGroup>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:padding="10dp">

<CheckBox
android:id="@+id/chkeng"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:textSize="24sp"

android:text="English" />

<CheckBox

android:id="@+id/chkmarathi"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:textSize="24sp"

android:text="Marathi" />

<CheckBox

android:id="@+id/chkhindi"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:textSize="24sp"

android:text="Hindi" />

</LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:padding="15dp">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Select Course:"
android:textColor="@color/black"

android:textSize="24sp"/>

<Spinner

android:id="@+id/spncourse"

android:layout_width="wrap_content"

android:layout_height="48dp"

android:textSize="28sp"

android:layout_weight="1" />

</LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

<Button

android:id="@+id/btnsubmit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="24sp"

android:backgroundTint="#071873"

android:layout_marginLeft="25dp"

android:text="Submit" />

<Button

android:id="@+id/btncancel"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="24sp"

android:backgroundTint="#071873"

android:layout_marginLeft="40dp"

android:text="Cancel" />

</LinearLayout>
<TextView

android:id="@+id/txtop"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="20dp"

android:textColor="@color/black"

android:textSize="22sp"/>

</LinearLayout>
MainActivity.kt

package com.example.pract5_2

import android.os.Bundle

import android.view.View

import android.widget.*

import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

val cancel = findViewById<Button>(R.id.btncancel)

val submit = findViewById<Button>(R.id.btnsubmit)

val nm = findViewById<EditText>(R.id.txtname)

val rdgen = findViewById<RadioGroup>(R.id.rdgender)

val chkeng = findViewById<CheckBox>(R.id.chkeng)

val chkmar = findViewById<CheckBox>(R.id.chkmarathi)

val chkhin = findViewById<CheckBox>(R.id.chkhindi)

val data = findViewById<TextView>(R.id.txtop)

// Add values in spinner using resources

val course = resources.getStringArray(R.array.course)

// Create an ArrayAdapter for the Spinner

val mycourse = findViewById<Spinner>(R.id.spncourse)

val arrayAdapter = ArrayAdapter(this,


android.R.layout.simple_dropdown_item_1line, course)

mycourse.adapter = arrayAdapter

var selcourse = ""

mycourse.onItemSelectedListener = object :
AdapterView.OnItemSelectedListener {
override fun onItemSelected(

parent: AdapterView<*>,

view: View,

position: Int,

id: Long

) {

selcourse = course[position]

override fun onNothingSelected(parent: AdapterView<*>) {

selcourse = "Course is not selected"

cancel.setOnClickListener {

// Clear the input fields

nm.text.clear()

rdgen.clearCheck()

chkeng.isChecked = false

chkmar.isChecked = false

chkhin.isChecked = false

mycourse.setSelection(0) // Reset spinner selection

data.text = "" // Clear output TextView

submit.setOnClickListener {

// To retrieve value entered in EditText

var all = "Welcome " + nm.text.toString() + "\n"

// To retrieve selected radio button value

val selectGenId = rdgen.checkedRadioButtonId

if (selectGenId != -1) {

val g = findViewById<RadioButton>(selectGenId)

all += "You are " + g.text.toString() + "\n"


}

// To retrieve selected checkbox values

var languages = "\nLanguages Known: "

if (chkeng.isChecked) {

languages += "English "

if (chkmar.isChecked) {

languages += "Marathi "

if (chkhin.isChecked) {

languages += "Hindi "

all += languages + "\n" + "Selected Course is: " + selcourse

// To display all retrieved values in TextView

data.text = all

strings.xml

<resources>

<string name="app_name">pract5-2</string>

<string-array name="course">

<item>BSc IT</item>

<item>BSc CS</item>

<item>BCA</item>

<item>BE</item>

</string-array>

</resources>
C. Demonstrating Fragments

activity_main.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:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity">

<androidx.fragment.app.FragmentContainerView

android:layout_width="match_parent"

android:layout_height="600dp"

android:id="@+id/fragcv" />

<Button

android:layout_width="150dp"

android:layout_height="60dp"

android:id="@+id/btnfrag1"

android:layout_alignParentBottom="true"

android:layout_marginBottom="50dp"

android:backgroundTint="@color/black"

android:layout_marginStart="30dp"

android:text="Fragment 1" />

<Button

android:id="@+id/btnfrag2"

android:layout_width="150dp"

android:layout_height="60dp"

android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"

android:layout_marginBottom="50dp"

android:backgroundTint="@color/black"

android:layout_marginEnd="30dp"

android:text="Fragment 2" />

</RelativeLayout>

Add following lines in build.gradle.kts (Module : app) file

buildFeatures{

viewBinding = true

app→New→Fragment→select (BlankFragment)

Fragment1.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:background="#ED6C25"

tools:context=".Fragment1">

<TextView

android:id="@+id/txt1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"
android:fontFamily="monospace"

android:text="Fragment 1"

android:textColor="@color/black"

android:textSize="34sp"

android:textStyle="bold" />

</RelativeLayout>

Fragment2.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:background="#139E91"

tools:context=".Fragment2">

<TextView

android:id="@+id/txt2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:fontFamily="monospace"

android:text="Fragment 2"

android:textColor="@color/black"

android:textSize="34sp"

android:textStyle="bold" />

</RelativeLayout>
MainActivity.kt

package com.example.fragmentsdemo

import androidx.appcompat.app.AppCompatActivity

import android.os.Bundle

import androidx.fragment.app.Fragment

import com.example.fragmentsdemo.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

lateinit var binding: ActivityMainBinding

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

binding = ActivityMainBinding.inflate(layoutInflater)

setContentView(binding.root)

binding.btnfrag1.setOnClickListener {

replaceFragment(Fragment1()) // Ensure Fragment1 is defined

binding.btnfrag2.setOnClickListener {

replaceFragment(Fragment2()) // Ensure Fragment2 is defined

private fun replaceFragment(fragment: Fragment) {

val fragmentManager = supportFragmentManager

val fragmentTransaction = fragmentManager.beginTransaction()

fragmentTransaction.replace(R.id.fragcv, fragment)

fragmentTransaction.commit()

}
Practical 4

Liner Layout (horizontal)

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

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:gravity="center">

<Button

android:id="@+id/btn1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:backgroundTint="@color/yellow"

android:textColor="@color/black"

android:text="Start Service" />

<Button

android:id="@+id/btn2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Pause Service" />

<Button
android:id="@+id/btn3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:backgroundTint="@color/black"

android:text="Stop Service" />

</LinearLayout>

Liner Layout (vertical)

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

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal"

android:weightSum="3">

<Button

android:id="@+id/button"

android:layout_width="wrap_content"

android:layout_height="match_parent"
android:layout_weight="1"

android:backgroundTint="@color/yellow"

android:textColor="@color/black"

android:text="First"

/>

<Button

android:id="@+id/button2"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:layout_weight="1"

android:text="Second" />

<Button

android:id="@+id/button3"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:layout_weight="1"

android:backgroundTint="@color/black"

android:text="Third" />

</LinearLayout>
2. RelativeLayout

<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:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@drawable/bg">

<TextView

android:id="@+id/txt1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Welcome to LoginScreen"

android:layout_above="@id/edtuname"

android:layout_marginLeft="30dp"

android:layout_marginBottom="50dp"

android:textColor="@color/white"

android:textSize="30sp"

android:textAllCaps="true"/>

<EditText

android:id="@+id/edtuname"

android:layout_width="200dp"

android:layout_height="wrap_content"

android:hint="Username"

android:textSize="24sp"

android:textColorHint="@color/black"

android:layout_marginLeft="70dp"

android:layout_above="@id/edtpasswd"/>

<EditText

android:id="@+id/edtpasswd"

android:layout_width="200dp"

android:layout_height="wrap_content"

android:hint="Password"
android:textSize="24sp"

android:layout_above="@id/btnsubmit"

android:layout_marginLeft="70dp"

android:textColorHint="@color/black"/>

<Button

android:id="@+id/btnsubmit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Submit"

android:padding="10dp"

android:layout_marginLeft="20dp"

android:layout_alignTop="@id/btncancel"

android:backgroundTint="#FF13227A"

android:textColor="@color/white"

android:textSize="25sp"/>

<Button

android:id="@+id/btncancel"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Cancel"

android:padding="10dp"

android:layout_centerInParent="true"

android:backgroundTint="#FF13227A"

android:textColor="@color/white"

android:textSize="25sp"/>

</RelativeLayout>
3. ConstraintLayout

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

<androidx.constraintlayout.widget.ConstraintLayout

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@drawable/bg"

>

<TextView

android:id="@+id/txtwelcome"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Welcome Page"

android:textColor="@color/white"

android:textSize="30sp"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintEnd_toEndOf="parent"

android:layout_marginTop="200dp"/>

<Button

android:id="@+id/btnlogin"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginStart="148dp"

android:layout_marginTop="68dp"

android:backgroundTint="@color/black"

android:text="Login"

android:textSize="25sp"

app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/txtwelcome" />

<Button

android:id="@+id/btnsignup"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="184dp"

android:layout_marginEnd="140dp"

android:backgroundTint="@color/black"

android:text="Sign In"

android:textSize="25sp"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintTop_toBottomOf="@id/txtwelcome" />

</androidx.constraintlayout.widget.ConstraintLayout>
4. TableLayout

<?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:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_marginTop="10dp"

android:paddingLeft="5dp"

android:paddingRight="5dp"

android:stretchColumns="*">

<!-- Title Text -->

<TextView

android:id="@+id/txt"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="TYIT Student List:"

android:textSize="30sp"

android:textStyle="bold"

android:layout_marginTop="20dp"

android:gravity="center"/>

<!-- Header Row -->

<TableRow

android:background="#51B435"

android:padding="10dp"

android:layout_marginTop="30dp">

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"
android:layout_weight="1"

android:text="Roll No"

android:textStyle="bold"

android:textSize="20sp"/>

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="Name of Student"

android:textStyle="bold"

android:textSize="20sp"/>

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="City"

android:textStyle="bold"

android:textSize="20sp"/>

</TableRow>

<!-- Student Rows -->

<TableRow

android:background="#F0F7F7"

android:padding="10dp">

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="1"

android:textSize="18sp"/>
<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="Neha Sharma"

android:textSize="18sp"/>

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="Chiplun"

android:textSize="18sp"/>

</TableRow>

<TableRow

android:background="#FFFFFF"

android:padding="10dp">

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="2"

android:textSize="18sp"/>

<TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="Amit Verma"

android:textSize="18sp"/>

<TextView
android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="Mumbai"

android:textSize="18sp"/>

</TableRow>

<!-- Add more rows as required -->

</TableLayout>
# Make a form using TableLayout

<?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:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#000"

android:stretchColumns="1"

android:padding="20dp"

tools:context=".MainActivity">

<!-- Title Row -->

<TableRow android:padding="5dp">

<TextView

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="20dp"

android:gravity="center"

android:text="Login Form"

android:textColor="#0ff"

android:textSize="30sp"

android:textStyle="bold" />

</TableRow>

<!-- Username Row -->

<TableRow>

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="10dp"

android:text="Username"
android:textColor="#fff"

android:textSize="20sp" />

<EditText

android:id="@+id/userName"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginLeft="10dp"

android:background="#fff"

android:hint="Enter username"

android:padding="5dp"

android:textColor="#000"

android:textSize="20sp" />

</TableRow>

<!-- Password Row -->

<TableRow>

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="10dp"

android:layout_marginTop="20dp"

android:text="Password"

android:textColor="#fff"

android:textSize="20sp" />

<EditText

android:id="@+id/password"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginLeft="10dp"

android:layout_marginTop="20dp"

android:background="#fff"

android:hint="Enter password"
android:padding="5dp"

android:textColor="#000"

android:textSize="20sp"

android:inputType="textPassword"/>

</TableRow>

<!-- Login Button Row -->

<TableRow android:layout_marginTop="20dp">

<Button

android:id="@+id/loginBtn"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:backgroundTint="#0ff"

android:text="Login"

android:textColor="#000"

android:textSize="24sp"

android:textStyle="bold" />

</TableRow>

</TableLayout>

TableLayout2.kt

package com.example.myapplication

import android.os.Bundle

import android.widget.Button

import android.widget.EditText

import android.widget.Toast

import androidx.appcompat.app.AppCompatActivity

class TableLayout2 : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_table_layout2)

val username = findViewById<EditText>(R.id.userName)

val password = findViewById<EditText>(R.id.password)

val loginBtn = findViewById<Button>(R.id.loginBtn)

loginBtn.setOnClickListener {

val user = username.text.toString()

val pass = password.text.toString()

if (user == "admin" && pass == "1234") {

Toast.makeText(this, "Login Successful!",


Toast.LENGTH_SHORT).show()

} else {

Toast.makeText(this, "Invalid Credentials!",


Toast.LENGTH_SHORT).show()

}
5. FrameLayout

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

<FrameLayout

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".FrameLayout">

<!-- Background Image -->

<!-- Header Text -->

<TextView

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="Programming Languages"

android:layout_marginTop="280dp"

android:textSize="38sp"

android:background="@color/black"

android:textColor="@color/white"

android:textAlignment="center"

android:textStyle="bold" />

<!-- Python Image -->

<!-- Python Label -->

<ImageView

android:layout_width="355dp"

android:layout_height="209dp"

android:layout_gravity="center_horizontal"

android:layout_marginTop="50dp"
android:src="@drawable/py" />

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Python"

android:textStyle="bold"

android:textSize="34sp"

android:textColor="#2196F3"

android:layout_marginTop="150dp"

android:layout_gravity="center_horizontal" />

<!-- Kotlin Image -->

<ImageView

android:layout_width="400dp"

android:layout_height="300dp"

android:layout_marginTop="400dp"

android:layout_gravity="center_horizontal"

android:src="@drawable/kt" />

<!-- Kotlin Label -->

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Kotlin"

android:textSize="34sp"

android:textStyle="bold"

android:textColor="#673AB7"

android:layout_marginTop="530dp"

android:layout_gravity="center_horizontal" />

</FrameLayout>
6. ListView

activity_view.xml

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:padding="16dp">

<!-- ListView to display programming languages -->

<ListView

android:id="@+id/listView"

android:layout_width="match_parent"

android:layout_height="match_parent" />

</LinearLayout>

ListView2.java

package com.example.myapplication;

import android.os.Bundle;

import android.widget.ArrayAdapter;

import android.widget.ListView;

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 ListView2 extends AppCompatActivity {


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_view);

// Array of programming languages to display in the ListView

String[] languages = {"Kotlin", "Python", "C", "C++", "PHP", "Java",


"JavaScript"};

// Get reference to the ListView from the layout

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

// Create an ArrayAdapter to bind data to the ListView

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this,


android.R.layout.simple_list_item_1, languages);

// Set the adapter to the ListView

listView.setAdapter(arrayAdapter);

}
7. GridView

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

<GridLayout

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:rowCount="4"

android:columnCount="2"

android:layout_marginTop="20dp"

>

<!-- First row with image and text -->

<ImageView

android:id="@+id/img1"

android:layout_width="173dp"

android:layout_height="131dp"

android:layout_margin="5dp"

android:contentDescription="python_image"

android:src="@drawable/py" />

<TextView

android:id="@+id/txt1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Python"

android:textSize="34sp"

android:layout_marginLeft="50dp" />

<!-- Second row with image and text -->

<ImageView

android:id="@+id/img2"

android:layout_width="169dp"
android:layout_height="141dp"

android:layout_margin="5dp"

android:contentDescription="kotlin_image"

android:src="@drawable/kt" />

<TextView

android:id="@+id/txt2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Kotlin"

android:textSize="34sp"

android:layout_marginLeft="50dp" />

<!-- Third row with image and text -->

<ImageView

android:id="@+id/img3"

android:layout_width="173dp"

android:layout_height="166dp"

android:layout_margin="5dp"

android:contentDescription="java_image"

android:src="@drawable/java" />

<TextView

android:id="@+id/txt3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Java"

android:textSize="34sp"

android:layout_marginLeft="50dp" />

<!-- Fourth row with image and text -->

<ImageView

android:id="@+id/img4"

android:layout_width="200dp"

android:layout_height="200dp"

android:layout_margin="5dp"
android:src="@drawable/csharp"

android:contentDescription="csharp_image"/>

<TextView

android:id="@+id/txt4"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="C Sharp"

android:textSize="34sp"

android:layout_marginLeft="50dp" />

</GridLayout>
PRACTICAL 2
Programming Resources
Android Resources: (Color, Theme, String, Drawable, Dimension,
Image).
Color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
</resources>

Theme:
Style.xml
<resources>

<!-- Base application theme. -->


<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

</resources>

String.xml:
<resources>
<string name="app_name">hello</string>
<string name="numbers">
<item>1</item>
<item>2</item>
<item>3</item>
</item>
</string>
</resources>

Main_Activity.kt:
package com.rohit.drwable

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


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

activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="@drawable/one">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>

</LinearLayout>

PRACTICAL 4
Programs related to different Layouts
Coordinate, Linear, Relative, Table, Absolute, Frame, List View, Grid View.
1. linear layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<Button android:id="@+id/btnStartService"
android:layout_width="270dp"
android:layout_height="wrap_content"
android:text="start_service"/>

<Button android:id="@+id/btnPauseService"
android:layout_width="270dp"
android:layout_height="wrap_content"
android:text="pause_service"/>

<Button android:id="@+id/btnStopService"
android:layout_width="270dp"
android:layout_height="wrap_content"
android:text="stop_service"/>

</LinearLayout>

2. Relative:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp" >

<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/reminder" />

<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentStart="true"
android:layout_below="@+id/name">

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button2" />

</LinearLayout>

</RelativeLayout>
3. Table:
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TableLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginTop="150dp">
<TableRow>
<Button
android:id="@+id/btn1"
android:text="1"
android:layout_gravity="center"
/>
<Button
android:id="@+id/btn2"
android:text="2"
android:layout_gravity="center"
/>
<Button
android:id="@+id/btn3"
android:text="3"
android:layout_gravity="center"
/>
</TableRow>
<TableRow>
<Button
android:id="@+id/btn4"
android:text="4"
android:layout_gravity="center"
/>
<Button
android:id="@+id/btn5"
android:text="5"
android:layout_gravity="center"
/><Button
android:id="@+id/btn6"
android:text="6"
android:layout_gravity="center"
/>
</TableRow>
<TableRow>
<Button
android:id="@+id/btn7"
android:text="7"
android:layout_gravity="center"
/>
<Button
android:id="@+id/btn8"
android:text="8"
android:layout_gravity="center"
/><Button
android:id="@+id/btn9"
android:text="9"
android:layout_gravity="center"
/>
</TableRow>
</TableLayout>
</LinearLayout>

Activity_main.kt
package com.r.table_view

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
import org.jetbrains.anko.toast

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


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

btn1.setOnClickListener {
toast("1")
}
btn2.setOnClickListener {
toast("2")
}
btn3.setOnClickListener {
toast("3")
}
btn4.setOnClickListener {
toast("4")
}
btn5.setOnClickListener {
toast("5")
}
btn6.setOnClickListener {
toast("6")
}
btn7.setOnClickListener {
toast("7")
}
btn8.setOnClickListener {
toast("8")
}
btn9.setOnClickListener {
toast("9")
}

}
}

output:
4. Frame:

Activity_main.xml

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


<FrameLayout
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">

<ImageView android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/red"
android:scaleType="centerCrop"/>
<TextView
android:textSize="100dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:gravity="center"
android:textColor="@color/rohit"
android:layout_marginTop="220dp"
/>

</FrameLayout>
Activity_main.kt

package com.rohit.frame_layout

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


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

output:

5. List View:

Activity_main.xml

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


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

<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn"
android:text="Click me to view list"
android:layout_marginTop="200dp"
android:layout_marginLeft="90dp"/>
</LinearLayout>

String.xml
<resources>
<string name="app_name">list</string>

<array name="insert_list">
<item>one</item>
<item>two</item>
<item>three</item>
<item>four</item>
<item>five</item>
<item>six</item>
<item>seven</item>
<item>eight</item>
<item>nine</item>
<item>ten</item>
</array>
</resources>

Activity_list_view.xml:
<?xml version="1.0" encoding="utf-8"?>
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".list_view" android:entries="@array/insert_list">

</ListView>

List_view.kt:
package com.rohit.list

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class list_view : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_list_view)
}
}

main_Activity.kt
package com.rohit.list

import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


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

btn.setOnClickListener {
val intent =Intent(this, list_view::class.java)
startActivity(intent)
}

}
}

output:

6. Grid layout:
7. <?xml version="1.0" encoding="utf-8"?>
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:rowCount="3"
android:columnCount="3"
android:padding="20dp">

<Button
android:layout_width="110dp"
android:layout_height="100dp"
android:text="1"/>

<Button
android:layout_width="110dp"
android:layout_height="100dp"
android:text="2"/>
<Button
android:layout_width="110dp"
android:layout_height="100dp"
android:text="3"/>
<Button
android:layout_width="110dp"
android:layout_height="100dp"
android:text="4"/>

<Button
android:layout_width="110dp"
android:layout_height="100dp"
android:text="5"/>
<Button
android:layout_width="110dp"
android:layout_height="100dp"
android:text="6"/>
<Button
android:layout_width="110dp"
android:layout_height="100dp"
android:text="7"/>

<Button
android:layout_width="110dp"
android:layout_height="100dp"
android:text="8"/>
<Button
android:layout_width="110dp"
android:layout_height="100dp"
android:text="9"/>

</GridLayout>

mainActvity.kt:
package com.rohit.grid_layout

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


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

output:
PRACTICAL 5
Programming UI elements
Design App With UI:
mainActivity.kt:
package rohit.technobeat

import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_login.*
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.activity_register.*
import rohit.technobeat.R.id.login
import rohit.technobeat.R.id.newaccount

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
login.setOnClickListener {
val intent = Intent(this, LoginActivity::class.java)
// start your next activity
startActivity(intent)
}

newaccount.setOnClickListener {
val intent = Intent(this, RegisterActivity::class.java)
// start your next activity
startActivity(intent)
}

}
}

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@drawable/home"
tools:context=".MainActivity">

<ScrollView
android:id="@+id/login_form"
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:gravity="center">

<android.support.v7.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="210dp"
android:alpha="0.7"
android:text="TECHNOBEAT"
android:textColor="#000000"
android:textSize="33dp"
android:textStyle="bold"
tools:layout_marginLeft="85dp" />

<Button
android:id="@+id/login"
style="?android:textAppearanceSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="Login"
android:background="@drawable/round_button"
android:alpha="0.8"
android:textStyle="bold" />
<Button
android:id="@+id/newaccount"
style="?android:textAppearanceSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="REGISTER"
android:background="@drawable/round_button"
android:alpha="0.8"
android:textStyle="bold" />

</LinearLayout>
</ScrollView>
</LinearLayout>

Output:
PRACTICAL 6
Programming menus, dialog, dialog fragments
Alert:
val alertDialog: AlertDialog? = activity?.let {
val builder = AlertDialog.Builder(it)
builder.apply {
setPositiveButton(R.string.ok,
DialogInterface.OnClickListener { dialog, id ->
// User clicked OK button
})
setNegativeButton(R.string.cancel,
DialogInterface.OnClickListener { dialog, id ->
// User cancelled the dialog
})
}
// Set other dialog properties
...

// Create the AlertDialog


builder.create()
}

output:

Menu:
menu.xml:
<?xml version=”1.0″ encoding=”utf-8″?>
<menu xmlns:android=”http://schemas.android.com/apk/res/android&#8221;
xmlns:app=”http://schemas.android.com/apk/res-auto”&gt;

<item
android:id=”@+id/menu_1″
android:icon=”@drawable/ic_menu_1″
android:title=”Menu 1″
app:showAsAction=”always” />

<item
android:id=”@+id/menu_2″
android:icon=”@drawable/ic_menu_2″
android:title=”Menu 2″ />

<item
android:id=”@+id/menu_3″
android:icon=”@drawable/ic_menu_3″
android:title=”Menu 3″ />

<item
android:id=”@+id/menu_4″
android:icon=”@drawable/ic_menu_4″
android:title=”Menu 4″ />

</menu>

MainActivity.kt:
package rohit.com

import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.view.Menu
import android.view.MenuItem
import android.widget.Toast
class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


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

override fun onCreateOptionsMenu(menu: Menu): Boolean {


menuInflater.inflate(R.menu.main, menu)
return true
}

override fun onOptionsItemSelected(item: MenuItem): Boolean {


when (item.itemId) {
R.id.menu_1 -> {
Toast.makeText(this, “Menu 1 is selected”,
Toast.LENGTH_SHORT).show()
return true
}
R.id.menu_2 -> {
Toast.makeText(this, “Menu 2 is selected”,
Toast.LENGTH_SHORT).show()
return true
}
R.id.menu_3 -> {
Toast.makeText(this, “Menu 3 is selected”,
Toast.LENGTH_SHORT).show()
return true
}
R.id.menu_4 -> {
Toast.makeText(this, “Menu 4 is selected”,
Toast.LENGTH_SHORT).show()
return true
}
else -> return super.onOptionsItemSelected(item)
}
}
}
Output:

Simple calculator
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" android:padding="20dp"
android:gravity="center" android:background="#F5F5F5">

<!-- Title --> <TextView


android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Simple Calculator"
android:textSize="26sp"
android:textStyle="bold"
android:textColor="#333333"
android:layout_marginBottom="20dp" />

<!-- Input Fields -->


<EditText android:id="@+id/num1"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:hint="Enter
Number 1" android:inputType="numberDecimal"
android:padding="12dp"
android:background="@android:drawable/editbox_background"
android:textSize="18sp"
android:layout_marginBottom="10dp"/>

<EditText android:id="@+id/num2"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:hint="Enter
Number 2" android:inputType="numberDecimal"
android:padding="12dp"
android:background="@android:drawable/editbox_background"
android:textSize="18sp"
android:layout_marginBottom="20dp"/>

<!-- Buttons Layout -->


<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnCount="3"
android:rowCount="2"
android:layout_marginBottom="20dp"
android:padding="10dp">
<Button
android:id="@+id/btnAdd"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="+"
android:textSize="22sp"
android:backgroundTint="#4CAF50"
android:textColor="#FFFFFF"
android:layout_columnWeight="1"/>
<Button
android:id="@+id/btnSubtract"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="-"
android:textSize="22sp"
android:backgroundTint="#FF9800"
android:textColor="#FFFFFF"
android:layout_columnWeight="1"/>
<Button
android:id="@+id/btnMultiply"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="×"
android:textSize="22sp"
android:backgroundTint="#3F51B5"
android:textColor="#FFFFFF"
android:layout_columnWeight="1"/>
<Button
android:id="@+id/btnDivide"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="÷"
android:textSize="22sp"
android:backgroundTint="#F44336"
android:textColor="#FFFFFF"
android:layout_columnWeight="1"/>
<Button
android:id="@+id/btnModulus"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="%"
android:textSize="22sp"
android:backgroundTint="#9C27B0"
android:textColor="#FFFFFF"
android:layout_columnWeight="1"/>
</GridLayout>

<!-- Result Display -->


<TextView
android:id="@+id/result"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Result: "
android:textSize="22sp"
android:textStyle="bold"
android:textColor="#000000"
android:gravity="center"
android:padding="10dp"
android:background="#FFFFFF"
android:elevation="4dp"/>
</LinearLayout>

MainActivity.kt
package com.example.calculator

import android.os.Bundle import


android.widget.Button import
android.widget.EditText import
android.widget.TextView import
androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val num1 = findViewById<EditText>(R.id.num1)
val num2 = findViewById<EditText>(R.id.num2) val
resultText = findViewById<TextView>(R.id.result)
val btnAdd = findViewById<Button>(R.id.btnAdd)
val btnSubtract = findViewById<Button>(R.id.btnSubtract)
val btnMultiply = findViewById<Button>(R.id.btnMultiply)
val btnDivide = findViewById<Button>(R.id.btnDivide)
val btnModulus = findViewById<Button>(R.id.btnModulus)
btnAdd.setOnClickListener { resultText.text =
"Addition: " + calculate(num1.text.toString(), num2.text.toString(), '+')
}
btnSubtract.setOnClickListener {
resultText.text = "Subtraction is: " +
calculate(num1.text.toString(),
num2.text.toString(), '-')
}
btnMultiply.setOnClickListener {
resultText.text = "Multiplication is: " +
calculate(num1.text.toString(), num2.text.toString(),
'*')
}
btnDivide.setOnClickListener {
resultText.text = "Division is: " +
calculate(num1.text.toString(), num2.text.toString(),
'/')
}
btnModulus.setOnClickListener {
resultText.text = "Mode is: " + calculate(num1.text.toString(),
num2.text.toString(), '%')
}
} private fun calculate(num1: String, num2: String, operator: Char):
String
{
val n1 = num1.toDoubleOrNull()
val n2 = num2.toDoubleOrNull()

if (n1 == null || n2 == null) return "Invalid Input"


return when (operator) {
'+' -> (n1 + n2).toString()
'-' -> (n1 - n2).toString()
'*' -> (n1 * n2).toString()
'/' -> if (n2 != 0.0) (n1 / n2).toString() else "Cannot divide
by zero"
'%' -> if (n2 != 0.0) (n1 % n2).toString() else "Cannot
find modulus with zero" else -> "Error"
}
}
}

Output:

You might also like