0% found this document useful (0 votes)
10 views139 pages

Program & Output (MAD)

The document contains multiple Android XML layout programs demonstrating how to display various user interface elements, including 'Hello World', student names and marks, and student information in a table format. It includes examples of using LinearLayout, AbsoluteLayout, and TableLayout to organize UI components. Each section provides the XML code along with a description of the intended output on an Android device.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views139 pages

Program & Output (MAD)

The document contains multiple Android XML layout programs demonstrating how to display various user interface elements, including 'Hello World', student names and marks, and student information in a table format. It includes examples of using LinearLayout, AbsoluteLayout, and TableLayout to organize UI components. Each section provides the XML code along with a description of the intended output on an Android device.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 139

Practical No 4

X.1. Write a program to display HelloWorld.


Program
<?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"
tools:context=".MainActivity">

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

</androidx.constraintlayout.widget.ConstraintLayout>

Output

• Design View
• Android device

X.2. Write a program to display student name and marks.


Program
<?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"
tools:context=".MainActivity">

<LinearLayout
android:layout_width="412dp"
android:layout_height="733dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp">

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Student Name"
android:textSize="24sp" />
<EditText
android:id="@+id/editTextTextPersonName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:textSize="24sp" />

<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Marks"
android:textSize="24sp" />

<EditText
android:id="@+id/editTextNumber"
android:layout_width="288dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number"
android:textSize="24sp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

Output
• Design View
• Android device
Practical No 5

X.1. Write a program to place Name, Age and mobile number linearly
(Vertical) on the display screen using Linear layout.
Program
<?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"
tools:context=".MainActivity">

<LinearLayout
android:layout_width="409dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp">

<TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Place Name"
android:textSize="24sp" />

<EditText
android:id="@+id/editTextTextPersonName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:textSize="24sp" />

<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Age"
android:textSize="24sp" />

<EditText
android:id="@+id/editTextNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number" />

<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Mobile No"
android:textSize="24sp" />

<EditText
android:id="@+id/editTextNumber2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

Output
• Design View

• Android device
X.2. Write a program to place Name, Age and mobile number centrally on
the display screen using Absolute layout.
Program
<?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"
tools:context=".MainActivity">
<AbsoluteLayout
android:layout_width="409dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="33dp"
tools:layout_editor_absoluteY="1dp">

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="132dp"
android:layout_y="380dp"
android:text="Mobile No"
android:textSize="24sp" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="126dp"
android:layout_y="206dp"
android:text="Place Name"
android:textSize="24sp" />
<EditText
android:id="@+id/editTextTextPersonName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="54dp"
android:layout_y="238dp"
android:ems="10"
android:inputType="textPersonName"
android:textSize="24sp" />
<TextView
android:id="@+id/textView3"
android:layout_width="52dp"
android:layout_height="wrap_content"
android:layout_x="163dp"
android:layout_y="299dp"
android:text="Age"
android:textSize="24sp" />
<EditText
android:id="@+id/editTextNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="83dp"
android:layout_y="329dp"
android:ems="10"
android:inputType="number" />
<EditText
android:id="@+id/editTextNumber2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="86dp"
android:layout_y="411dp"
android:ems="10"
android:inputType="number" />
</AbsoluteLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

Output
• Design View

• Android device
Practical No 6

X.1. Write a program to display 10 students’ basic information in a table


form using Table layout.

Program

<?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"
tools:context=".MainActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TableRow
android:layout_width="409dp"
android:layout_height="58dp">

<TextView
android:id="@+id/textView67"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Student Basic Information:-"
android:textSize="24sp" />
</TableRow>

<TableLayout
android:id="@+id/tableLayout"
android:layout_width="413dp"
android:layout_height="789dp"
android:orientation="vertical"
android:scrollbarStyle="outsideInset">

<TableRow
android:layout_width="match_parent"
android:layout_height="25dp">

</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#5828B609">

<TextView
android:id="@+id/textView5"
android:layout_width="60dp"
android:layout_height="51dp"
android:text="ID"
android:textAlignment="center"
android:textSize="20sp"
android:textStyle="bold" />

<TextView
android:id="@+id/textView2"
android:layout_width="142dp"
android:layout_height="51dp"
android:text="Student Name"
android:textAlignment="center"
android:textSize="20sp"
android:textStyle="bold" />

<TextView
android:id="@+id/textView6"
android:layout_width="85dp"
android:layout_height="51dp"
android:text="Class"
android:textAlignment="center"
android:textSize="20sp"
android:textStyle="bold" />

<TextView
android:id="@+id/textView7"
android:layout_width="105dp"
android:layout_height="51dp"
android:text="Percentage"
android:textAlignment="center"
android:textSize="20sp"
android:textStyle="bold" />

</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#20ECE6E6">

<TextView
android:id="@+id/textView12"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="1"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView13"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="Atharva"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView11"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="5"
android:textAlignment="center"
android:textSize="20sp" />
<TextView
android:id="@+id/textView9"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="98"
android:textAlignment="center"
android:textSize="20sp" />

</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#20ECE6E6">

<TextView
android:id="@+id/textView22"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="2"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView23"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="Ganesh"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView24"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="5"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView25"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="88"
android:textAlignment="center"
android:textSize="20sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#20ECE6E6">

<TextView
android:id="@+id/textView26"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="3"
android:textAlignment="center"
android:textSize="20sp" />
<TextView
android:id="@+id/textView27"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="Ankit"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView28"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="6"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView29"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="75"
android:textAlignment="center"
android:textSize="20sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#20ECE6E6">

<TextView
android:id="@+id/textView34"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="4"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView35"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="Onkar"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView36"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="4"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView37"
android:layout_width="87dp"
android:layout_height="50dp"
android:text="89"
android:textAlignment="center"
android:textSize="20sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#20ECE6E6">

<TextView
android:id="@+id/textView38"
android:layout_width="67dp"
android:layout_height="match_parent"
android:text="5"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView39"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="Kartik"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView40"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="5"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView41"
android:layout_width="87dp"
android:layout_height="50dp"
android:text="70"
android:textAlignment="center"
android:textSize="20sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#20ECE6E6">

<TextView
android:id="@+id/textView42"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="6"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView43"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="Kunal"
android:textAlignment="center"
android:textSize="20sp" />
<TextView
android:id="@+id/textView44"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="7"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView45"
android:layout_width="87dp"
android:layout_height="50dp"
android:text="80"
android:textAlignment="center"
android:textSize="20sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#20ECE6E6">

<TextView
android:id="@+id/textView46"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="7"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView47"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="Tejas"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView48"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="3"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView49"
android:layout_width="87dp"
android:layout_height="50dp"
android:text="77"
android:textAlignment="center"
android:textSize="20sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#20ECE6E6">
<TextView
android:id="@+id/textView50"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="8"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView51"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="Siddhesh"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView52"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="4"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView53"
android:layout_width="87dp"
android:layout_height="50dp"
android:text="91"
android:textAlignment="center"
android:textSize="20sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#20ECE6E6">

<TextView
android:id="@+id/textView54"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="9"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView55"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="Soham"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView56"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="7"
android:textAlignment="center"
android:textSize="20sp" />
<TextView
android:id="@+id/textView57"
android:layout_width="87dp"
android:layout_height="50dp"
android:text="78"
android:textAlignment="center"
android:textSize="20sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#20ECE6E6">

<TextView
android:id="@+id/textView62"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="10"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView63"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="Sujal"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView64"
android:layout_width="67dp"
android:layout_height="50dp"
android:text="5"
android:textAlignment="center"
android:textSize="20sp" />

<TextView
android:id="@+id/textView65"
android:layout_width="87dp"
android:layout_height="50dp"
android:text="84"
android:textAlignment="center"
android:textSize="20sp" />
</TableRow>
</TableLayout>
</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>
Output
• Design View

• Android device
X.2. Write a program to display all the data types in object-oriented
programming using Frame layout.
Program

<?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="wrap_content"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:layout_width="match_parent"
android:layout_height="66dp"
android:text="Data Types in Object Oriented Programming"
android:textSize="25dp"
android:textStyle="bold" />

<TextView
android:id="@+id/pd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|left|fill_vertical"
android:layout_marginTop="80dp"
android:text="Primitive"
android:textSize="20dp" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="110dp"
android:foregroundGravity="fill_horizontal|top"
android:orientation="vertical">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1) Integer" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2) Float" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3) Characters" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4) Boolean" />
</LinearLayout>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|fill_vertical"
android:layout_marginTop="80dp"
android:layout_toRightOf="@+id/pd"
android:text="Non-Primitive"
android:textSize="20dp" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginTop="110dp"
android:layout_marginRight="20dp"
android:orientation="vertical">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1) Class" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2) Array" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3) Interface" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4) Object" />
</LinearLayout>
</FrameLayout>

Output
• Design View
• Android device
Practical No 7

X.1.Write a program to accept username and password from the end user using Text
View and Edit Text.

Program
<?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"
tools:context=".MainActivity">

<AbsoluteLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TableLayout
android:layout_width="342dp"
android:layout_height="263dp"
android:layout_x="33dp"
android:layout_y="84dp">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Login Page"
android:textSize="24sp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Username"
android:textSize="20sp" />

<EditText
android:id="@+id/user"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password"
android:textSize="20sp" />

<EditText
android:id="@+id/pass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPassword"
android:textSize="20sp" />

</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">

<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Submit" />
</TableRow>

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

Output
• Design View
• Android device

X.2. Write a program to accept and display personal information of the student.

Program

<?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"
tools:context=".MainActivity">

<AbsoluteLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:layout_editor_absoluteX="-16dp"
tools:layout_editor_absoluteY="-78dp">

<TextView
android:id="@+id/textView"
android:layout_width="206dp"
android:layout_height="wrap_content"
android:layout_x="100dp"
android:layout_y="78dp"
android:gravity="center"
android:text="Students Details"
android:textSize="24sp" />

<Button
android:id="@+id/button"
android:layout_width="125dp"
android:layout_height="75dp"
android:layout_x="137dp"
android:layout_y="578dp"
android:text="Submit" />

<TableLayout
android:layout_width="350dp"
android:layout_height="382dp"
android:layout_x="29dp"
android:layout_y="165dp">

<TableRow
android:layout_width="280dp"
android:layout_height="wrap_content"
android:gravity="center" />

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/Name"
android:layout_width="123dp"
android:layout_height="wrap_content"
android:text="Name"
android:textSize="16sp" />

<EditText
android:id="@+id/editTextTextPersonName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:textSize="16sp" />
</TableRow>

<TableRow
android:layout_width="314dp"
android:layout_height="match_parent">

<TextView
android:id="@+id/Name"
android:layout_width="127dp"
android:layout_height="wrap_content"
android:text="Address"
android:textSize="16sp" />

<EditText
android:id="@+id/editTextTextPersonName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:textSize="16sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/Name"
android:layout_width="127dp"
android:layout_height="wrap_content"
android:text="Class"
android:textSize="16sp" />

<EditText
android:id="@+id/editTextTextPersonName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:textSize="16sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/Name"
android:layout_width="127dp"
android:layout_height="wrap_content"
android:text="College"
android:textSize="16sp" />

<EditText
android:id="@+id/editTextTextPersonName"
android:layout_width="223dp"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:textSize="16sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/MobileNo"
android:layout_width="127dp"
android:layout_height="wrap_content"
android:text="Mobile No"
android:textSize="16sp" />

<EditText
android:id="@+id/editTextNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/Branch"
android:layout_width="127dp"
android:layout_height="wrap_content"
android:text="Branch"
android:textSize="16sp" />

<EditText
android:id="@+id/editTextTextPersonName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:textSize="16sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="117dp">

<TextView
android:id="@+id/Name"
android:layout_width="102dp"
android:layout_height="wrap_content"
android:text="Email"
android:textSize="16sp" />

<EditText
android:id="@+id/editTextTextPersonName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:textSize="16sp" />
</TableRow>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent" />

</TableLayout>
</AbsoluteLayout>

</androidx.constraintlayout.widget.ConstraintLayout>
Output
• Design View

• Android device
Practical No 9

X.1. Write a program to create a toggle button to display ON / OFF Bluetooth on the
display screen.

Program

1) XML

<?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"
tools:context=".MainActivity">
<ToggleButton
android:id="@+id/tg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="tg"
android:textSize="24sp"
android:textOff="Off"
android:textOn="On"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.601" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bluetooth Connection"
android:textColor="#030202"
android:textSize="34sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.494"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.483" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="199dp"
android:layout_height="265dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.096"
app:srcCompat="@drawable/ss" />

</androidx.constraintlayout.widget.ConstraintLayout>
2) Java program
package com.example.pr_9_1;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity


{
private ToggleButton toggleButton1;
@Override protected void onCreate(Bundle savedInstanceState)
{ super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getTextOff();
}
public void getTextOff(){
toggleButton1=(ToggleButton)findViewById(R.id.tg);
toggleButton1.setOnClickListener(new View.OnClickListener(){
@Override public void onClick(View view)
{ StringBuilder result = new StringBuilder();
result.append("Bluetooth is :
").append(toggleButton1.getText());
Toast.makeText(getApplicationContext(),
result.toString(),Toast.LENGTH_LONG).show();
}
});
}
}

Output
• Design View
• Android device
X.2. Write a program to create a simple calculator.

Program

1) XML
<?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"
tools:context=".MainActivity">

<Button
android:id="@+id/sub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.625" />

<Button
android:id="@+id/Mul"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.492"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.736" />

<Button
android:id="@+id/Div"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.844" />

<TextView
android:id="@+id/n3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Result :"
android:textColor="#040101"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.122"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.423" />

<EditText
android:id="@+id/t2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.184"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.33" />

<TextView
android:id="@+id/n2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter Second Number"
android:textColor="#040101"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.133"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.289" />

<TextView
android:id="@+id/ti"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculator"
android:textColor="#090303"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.06" />

<TextView
android:id="@+id/n1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter First Number"
android:textColor="#040101"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.133"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.16" />

<EditText
android:id="@+id/t1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number"
android:minHeight="48dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.184"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.198" />

<Button
android:id="@+id/add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.519" />

<TextView
android:id="@+id/ans"
android:layout_width="59dp"
android:layout_height="33dp"
android:text="Ans"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.369"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.429" />
</androidx.constraintlayout.widget.ConstraintLayout>

2) Java program
package com.example.pr_9_2;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


EditText t1 , t2;
Button add ,Mul ,Div ,sub;
TextView answer;
double ans = 0;

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

t1 = findViewById(R.id.t1);
t2 = findViewById(R.id.t2);

add = findViewById(R.id.add);
Mul = findViewById(R.id.Mul);
Div = findViewById(R.id.Div);
sub = findViewById(R.id.sub);
answer = findViewById(R.id.ans);

add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String num1 = t1.getText().toString();
String num2 = t2.getText().toString();

if (num1.isEmpty() || num2.isEmpty()) {
Toast.makeText(getApplicationContext(),"Enter
Numbers",Toast.LENGTH_SHORT).show();
}
else {
double a =
Double.parseDouble(t1.getText().toString());
double b =
Double.parseDouble(t2.getText().toString());
ans = a + b;
String ans1 = String.valueOf(ans);
answer.setText(ans1);
ans= 0;
Toast.makeText(getApplicationContext(),"Addition
Performed",Toast.LENGTH_SHORT).show();
}
}
});

sub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String num1 = t1.getText().toString();
String num2 = t2.getText().toString();

if (num1.isEmpty() || num2.isEmpty()) {
Toast.makeText(getApplicationContext(),"Enter
Numbers",Toast.LENGTH_SHORT).show();
}
else {
double a =
Double.parseDouble(t1.getText().toString());
double b =
Double.parseDouble(t2.getText().toString());
ans = a - b;
String ans1 = String.valueOf(ans);
answer.setText(ans1);
ans= 0;

Toast.makeText(getApplicationContext(),"Subtraction
Performed",Toast.LENGTH_SHORT).show();
}
}
});

Mul.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String num1 = t1.getText().toString();
String num2 = t2.getText().toString();

if (num1.isEmpty() || num2.isEmpty()) {
Toast.makeText(getApplicationContext(),"Enter
Numbers",Toast.LENGTH_SHORT).show();
}
else {
double a =
Double.parseDouble(t1.getText().toString());
double b =
Double.parseDouble(t2.getText().toString());
ans = a * b;
String ans1 = String.valueOf(ans);
answer.setText(ans1);
ans= 0;

Toast.makeText(getApplicationContext(),"Multiplication
Performed",Toast.LENGTH_SHORT).show();
}
}
});

Div.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String num1 = t1.getText().toString();
String num2 = t2.getText().toString();
if (num1.isEmpty() || num2.isEmpty()) {
Toast.makeText(getApplicationContext(), "Enter
Numbers", Toast.LENGTH_SHORT).show();
}
else {
double a =
Double.parseDouble(t1.getText().toString());
double b =
Double.parseDouble(t2.getText().toString());
if (b != 0) {
ans = a / b;
String ans1 = String.valueOf(ans);
answer.setText(ans1);
ans= 0;

Toast.makeText(getApplicationContext(),"Division
Performed",Toast.LENGTH_SHORT).show();
}
else
Toast.makeText(getApplicationContext(),
"Enter Valid Numbers", Toast.LENGTH_SHORT).show();
}
}
});
}
}
Output
• Design View

• Android device
Practical No 10

X.1. Write a program to create a login form for a social networking site.

Program

1) XML

<?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"
tools:context=".MainActivity">

<EditText
android:id="@+id/pass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="48dp"
android:layout_marginEnd="36dp"
android:ems="10"
android:inputType="textPassword"
android:textColor="#110303"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/username" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="49dp"
android:layout_marginEnd="33dp"
android:layout_marginBottom="524dp"
android:fontFamily="sans-serif-smallcaps"
android:text="Password"
android:textColor="#0E0606"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/pass"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="100dp"
android:layout_marginEnd="30dp"
android:fontFamily="sans-serif-smallcaps"
android:text="Username"
android:textColor="#0E0606"
android:textSize="24sp"
app:layout_constraintEnd_toStartOf="@+id/username"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="Instagram Login"
android:textColor="#DE0C32"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<EditText
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:layout_marginEnd="40dp"
android:layout_marginBottom="64dp"
android:ems="10"
android:inputType="textPersonName"
android:textColor="#110303"
app:layout_constraintBottom_toTopOf="@+id/pass"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView4" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="125dp"
android:layout_marginTop="55dp"
android:layout_marginEnd="198dp"
android:layout_marginBottom="422dp"
android:fontFamily="sans-serif-smallcaps"
android:text="Login"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/pass"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
2) Java program
package com.example.pr_10_1;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

EditText user, pass;


Button button;

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

button = findViewById(R.id.button);
user = findViewById(R.id.username);
pass = findViewById(R.id.pass);

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if
(user.getText().toString().equals("[email protected]") &
pass.getText().toString().equals("Atharva@123")) {
Toast.makeText(getApplicationContext(), "Login
Successful", Toast.LENGTH_SHORT).show();
} else if
(user.getText().toString().equals("[email protected]") &
pass.getText().toString().equals("Onkar@123")) {
Toast.makeText(getApplicationContext(), "Login
Successful", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Login
Unsuccessful", Toast.LENGTH_SHORT).show();
}
}
});
}
}
Output
• Design View

• Android device
X.2. Write a program to create a login form for student registration system.

Program

1) XML
<?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"
tools:context=".MainActivity">

<EditText
android:id="@+id/pass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="48dp"
android:layout_marginEnd="36dp"
android:ems="10"
android:inputType="textPassword"
android:textColor="#110303"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/username" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="49dp"
android:layout_marginEnd="33dp"
android:layout_marginBottom="524dp"
android:fontFamily="sans-serif-smallcaps"
android:text="Password"
android:textColor="#0E0606"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/pass"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="100dp"
android:layout_marginEnd="30dp"
android:fontFamily="sans-serif-smallcaps"
android:text="Enrollment No"
android:textColor="#0E0606"
android:textSize="24sp"
app:layout_constraintEnd_toStartOf="@+id/username"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:text="Student Registration"
android:textColor="#7632BF"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<EditText
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="64dp"
android:ems="10"
android:inputType="number"
android:textColor="#110303"
app:layout_constraintBottom_toTopOf="@+id/pass"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView4" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="125dp"
android:layout_marginTop="55dp"
android:layout_marginEnd="198dp"
android:layout_marginBottom="422dp"
android:fontFamily="sans-serif-smallcaps"
android:text="Login"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/pass"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
2) Java program

package com.example.pr_10_2;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

EditText user, pass;


Button button;

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

button = findViewById(R.id.button);
user = findViewById(R.id.username);
pass = findViewById(R.id.pass);

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (user.getText().toString().equals("1905080080") &
pass.getText().toString().equals("Atharva@123")) {
Toast.makeText(getApplicationContext(), "Login
Successful", Toast.LENGTH_SHORT).show();
} else if
(user.getText().toString().equals("1905080079") &
pass.getText().toString().equals("Onkar@123")) {
Toast.makeText(getApplicationContext(), "Login
Successful", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Login
Unsuccessful", Toast.LENGTH_SHORT).show();
}
}
});
}
}
Output
• Design View

• Android device
Practical No 11

X.1. Write a program to show five checkboxes and toast selected checkboxes.

Program

1) 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">

<CheckBox
android:id="@+id/python"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="61dp"
android:layout_marginEnd="256dp"
android:layout_marginBottom="475dp"
android:text="Python"
android:textSize="16sp" />

<CheckBox
android:id="@+id/php"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="61dp"
android:layout_marginEnd="256dp"
android:layout_marginBottom="393dp"
android:text="PHP"
android:textSize="16sp" />

<CheckBox
android:id="@+id/c"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="61dp"
android:layout_marginEnd="256dp"
android:layout_marginBottom="310dp"
android:text="C"
android:textSize="16sp" />

<CheckBox
android:id="@+id/cpp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="59dp"
android:layout_marginEnd="258dp"
android:layout_marginBottom="232dp"
android:text="C++"
android:textSize="16sp" />

<CheckBox
android:id="@+id/java"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="61dp"
android:layout_marginEnd="256dp"
android:layout_marginBottom="555dp"
android:text="JAVA"
android:textSize="16sp" />

<TextView
android:id="@+id/textView"
android:layout_width="340dp"
android:layout_height="68dp"
android:layout_above="@+id/java"
android:layout_alignParentEnd="true"
android:layout_marginEnd="37dp"
android:layout_marginBottom="11dp"
android:fontFamily="sans-serif-smallcaps"
android:text="Select any programming language"
android:textColor="#100E0E"
android:textSize="20sp"
android:textStyle="bold" />
</RelativeLayout>

2) Java Program

package com.example.pr_11_1;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.Switch;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements


View.OnClickListener {
CheckBox java,python,php,c,cpp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

java=findViewById(R.id.java);
java.setOnClickListener(this);
python=findViewById(R.id.python);
python.setOnClickListener(this);
php=findViewById(R.id.php);
php.setOnClickListener(this);
c=findViewById(R.id.c);
c.setOnClickListener(this);
cpp=findViewById(R.id.cpp);
cpp.setOnClickListener(this);

@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.java:
if(java.isChecked())
Toast.makeText(this, "Java Selected",
Toast.LENGTH_SHORT).show();
break;
case R.id.php:
if(php.isChecked())
Toast.makeText(this, "PHP Selected",
Toast.LENGTH_SHORT).show();
break;
case R.id.python:
if(python.isChecked())
Toast.makeText(this, "Python Selected",
Toast.LENGTH_SHORT).show();
break;
case R.id.c:
if(c.isChecked())
Toast.makeText(this, "C Selected",
Toast.LENGTH_SHORT).show();
break;
case R.id.cpp:
if(cpp.isChecked())
Toast.makeText(this, "C++ Selected",
Toast.LENGTH_SHORT).show();
break;

}
}
Output

• Design View

• Android device
Practical No 12
X.1.

Program

1) 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">

<TextView
android:id="@+id/tv2"
android:layout_width="304dp"
android:layout_height="36dp"
android:layout_above="@+id/radioButton1"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="52dp"
android:layout_marginEnd="55dp"
android:layout_marginBottom="-180dp"
android:text="Radio Button inside Radio Group"
android:textColor="#090202"
android:textSize="20sp" />

<RadioButton
android:id="@+id/radioButton1"
android:layout_width="193dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="36dp"
android:layout_marginEnd="181dp"
android:layout_marginBottom="584dp"
android:text="Radio Button 1"
android:textSize="20sp"
android:textStyle="bold" />

<RadioButton
android:id="@+id/radioButton2"
android:layout_width="193dp"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="36dp"
android:layout_marginEnd="181dp"
android:layout_marginBottom="535dp"
android:text="Radio Button 2"
android:textSize="20sp"
android:textStyle="bold" />

<TextView
android:id="@+id/tv"
android:layout_width="216dp"
android:layout_height="36dp"
android:layout_above="@+id/radioButton1"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="99dp"
android:layout_marginEnd="96dp"
android:layout_marginBottom="28dp"
android:text="Single Radio Buttons"
android:textColor="#090202"
android:textSize="20sp" />

<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_above="@+id/tv2"
android:layout_marginBottom="22dp"
android:background="?android:attr/listDivider" />

<RadioGroup
android:id="@+id/rgrp"
android:layout_width="294dp"
android:layout_height="94dp"
android:layout_below="@+id/tv2"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginTop="200dp"
android:layout_marginEnd="75dp"
android:layout_marginBottom="338dp">

<RadioButton
android:id="@+id/male"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Male"
android:textSize="20sp"
android:textStyle="bold" />

<RadioButton
android:id="@+id/female"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:text="Female"
android:textSize="20sp"
android:textStyle="bold" />
</RadioGroup>

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginTop="-393dp"
android:layout_marginEnd="125dp"
android:layout_marginBottom="260dp"
android:text="Show Selected"
app:iconTint="#980F0F" />
</RelativeLayout>
2) Java Program
package com.example.pr_12_1;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

RadioGroup radioGroup;
RadioButton radioButton1,radioButton2;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

radioGroup=findViewById(R.id.rgrp);
button=findViewById(R.id.button);

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int radioButtonID =
radioGroup.getCheckedRadioButtonId();
RadioButton radioButton = (RadioButton)
radioGroup.findViewById(radioButtonID);
String selectedtext = (String) radioButton.getText();

Toast.makeText(MainActivity.this,selectedtext+" is
Selected ", Toast.LENGTH_SHORT).show();
}
});

}
}
Output
• Design View

• Android device
Practical No 13

X.1. Write a program to display circular progress bar.

Program

1) XML
<?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"
tools:context=".MainActivity">

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="158dp"
android:layout_marginTop="341dp"
android:layout_marginEnd="159dp"
android:layout_marginBottom="342dp"
android:text="Download File"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.491"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0" />

<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="97dp"
android:layout_height="129dp"
android:layout_marginStart="189dp"
android:layout_marginTop="236dp"
android:layout_marginEnd="175dp"
android:layout_marginBottom="57dp"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
2) Java Program

package com.example.pr_13_1;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


Button button;
ProgressBar pb;

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

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


pb = findViewById(R.id.progressBar);

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
pb.setVisibility(View.VISIBLE);
}
});
}
}

Output
• Design View
• Android device

X.2. Write a program to show following output.

Program

1) XML

<?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"
tools:context=".MainActivity">

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="158dp"
android:layout_marginTop="341dp"
android:layout_marginEnd="159dp"
android:layout_marginBottom="342dp"
android:text="Download File"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.491"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0" />

</androidx.constraintlayout.widget.ConstraintLayout>

2) Java Program
package com.example.pr_13_2;

import android.app.ProgressDialog;
import android.os.Handler;
import android.os.Message;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


Button button;
ProgressDialog progressDialog;

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

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

button.setOnClickListener(new View.OnClickListener() {
Handler handle = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
progressDialog.incrementProgressBy(2); //
Incremented By Value 2
}
};

@Override
public void onClick(View v) {
progressDialog = new
ProgressDialog(MainActivity.this);
progressDialog.setMax(100); // Progress Dialog Max
Value
progressDialog.setMessage("downloading..."); //
Setting Message
progressDialog.setTitle("Download"); // Setting Title

progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //
Progress Dialog Style Horizontal
progressDialog.show(); // Display Progress Dialog
progressDialog.setCancelable(false);
new Thread(new Runnable() {
@Override
public void run() {
try {
while (progressDialog.getProgress() <=
progressDialog.getMax()) {
Thread.sleep(200);

handle.sendMessage(handle.obtainMessage());
if (progressDialog.getProgress() ==
progressDialog.getMax()) {
progressDialog.dismiss();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
});
}
}

Output
• Design View
• Android device
Practical No 14

X.1. Write a program to show following output.

Program

1) XML file 1

<?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"
tools:context=".MainActivity">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="fill_parent"
tools:ignore="MissingConstraints" />
</androidx.constraintlayout.widget.ConstraintLayout>

2) XML file 2

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


<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="80dp"
android:textStyle="bold"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:padding="6dp"
android:textColor="#4d4d4d"/>

3) String.xml

<resources>
<string name="app_name">Pr_14_1</string>
<string-array name="array_technology">
<item>Android</item>
<item>Java</item>
<item>Php</item>
<item>Hadoop</item>
<item>Sap</item>
<item>Python</item>
<item>Ajax</item>
<item>C++</item>
<item>Ruby</item>
<item>Rails</item>
</string-array>
</resources>
4) Java
package com.example.pr_14_1;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
ListView listView;
TextView textView;
String[] listItem;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView=(ListView)findViewById(R.id.listView);
textView=(TextView)findViewById(R.id.textView);
listItem =
getResources().getStringArray(R.array.array_technology);
final ArrayAdapter<String> adapter = new
ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
android.R.id.text1, listItem);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View
view, int position,long l) {
String value=adapter.getItem(position);

Toast.makeText(getApplicationContext(),value,Toast.LENGTH_SHORT).show
();
}
});
}
}
Output
• Design View

• Android device
X.2. Write a program to display an image using Image View and a button named as
“Change Image”. Once you click on button another image should get displayed.

Program

1) XML

<?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"
tools:context=".MainActivity">

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="158dp"
android:layout_marginEnd="159dp"
android:layout_marginBottom="164dp"
android:text="Change Image"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />

<ImageView
android:id="@+id/img1"
android:layout_width="335dp"
android:layout_height="217dp"
android:layout_marginStart="38dp"
android:layout_marginTop="184dp"
android:layout_marginEnd="38dp"
android:layout_marginBottom="118dp"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/a" />
</androidx.constraintlayout.widget.ConstraintLayout>
2) Java
package com.example.pr_14_2;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

Button button;

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

final ImageView im=(ImageView)findViewById(R.id.img1);


im.setImageResource(R.drawable.a);
button=findViewById(R.id.button);

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
im.setImageResource(R.drawable.b);
}
});

}
}

Output
• Design View
• Android device

X.3 Write a program to display 15 buttons using grid view.

Program

1) XML

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


<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="110dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center" />
2) MainAcivity.java

package com.example.pr_14_3;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gv = (GridView) findViewById(R.id.gridview);
gv.setAdapter(new imageadapter(this));
gv.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Toast.makeText(MainActivity.this, "Image Position: "
+ position, Toast.LENGTH_SHORT).show();
}
});
}
}

3) imageadapter.java
package com.example.pr_14_3;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
public class imageadapter extends BaseAdapter {
private Context mContext;
public imageadapter(Context c) {
mContext = c;
}
@Override
public int getCount() {
return thumbImages.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup
parent) {
Button imageView = new Button(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(350,
200));
imageView.setText(thumbImages[position]);
return imageView;
}
public String[] thumbImages = {
"Button 1","Button 2","Button 3","Button 4","Button
5","Button 6","Button 7","Button 8"
,"Button 9","Button 10","Button 11","Button 12","Button
13","Button 14","Button 15"
};
}

Output
• Design View

• Android device
X.4 Write a program to display a text view using vertical scroll view.

Program

1) XML
<?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"
tools:context=".MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="409dp"
android:layout_height="729dp"
android:orientation="vertical"
tools:layout_editor_absoluteX="1dp"
tools:layout_editor_absoluteY="1dp">
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 1"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView12"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 2"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView13"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 3"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView14"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 4"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView15"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 5"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView16"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 6"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView17"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 7"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView18"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 8"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView19"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 9"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView20"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 10"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView21"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 11"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView22"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 12"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView23"
android:layout_width="match_parent"
android:layout_height="71dp"
android:gravity="center|center_vertical"
android:text="TextView 13"
android:textSize="30sp"
android:textStyle="bold" />
</LinearLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>

Output
• Design View

• Android device
Practical No 15

X.1. Write a program to show following output.

Program

1) activity_main.xml

<?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"
tools:context=".MainActivity">

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="73dp"
android:layout_marginTop="78dp"
android:layout_marginEnd="280dp"
android:layout_marginBottom="634dp"
android:text="Hello World, Toast Example"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.3"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="39dp"
android:layout_marginTop="29dp"
android:layout_marginEnd="239dp"
android:layout_marginBottom="549dp"
android:text="Show Toast"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
</androidx.constraintlayout.widget.ConstraintLayout>
2) toast.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toast_root_view"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/background_dark"
android:padding="16dp">
<TextView android:id="@+id/toast_header" android:textSize="20dp"
android:textColor="@android:color/primary_text_dark"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView android:id="@+id/toast_body"
android:textColor="@android:color/primary_text_dark"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>

3) MainActivity.java
package com.example.pr_15_1;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LayoutInflater inflater = getLayoutInflater();
View toastLayout = inflater.inflate(R.layout.toast, (ViewGroup)
findViewById(R.id.toast_root_view));
TextView header = (TextView)
toastLayout.findViewById(R.id.toast_header); header
.setText("Message for you:");
TextView body = (TextView)
toastLayout.findViewById(R.id.toast_body); body
.setText("You have got mail!");
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(toastLayout);
toast.show();

}
}); }
}
Output
• Design View

• Android device
X.2. WAP to display three checkbox and one button named order as show below. Once
you click on button it should toast different selected checkboxes along with items
individual and total price.

Program

1) activity_main.xml
<?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"
tools:context=".MainActivity">
<CheckBox
android:id="@+id/cb1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="120dp"
android:layout_marginTop="69dp"
android:layout_marginEnd="146dp"
android:layout_marginBottom="71dp"
android:text="Coffee"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/cb2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cb"
app:layout_constraintVertical_bias="0.0" />
<CheckBox
android:id="@+id/cb2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="120dp"
android:layout_marginEnd="146dp"
android:layout_marginBottom="360dp"
android:text="Burger"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent" />
<CheckBox
android:id="@+id/cb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="120dp"
android:layout_marginTop="92dp"
android:layout_marginEnd="160dp"
android:text="Pizza"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="146dp"
android:layout_marginTop="150dp"
android:layout_marginEnd="146dp"
android:layout_marginBottom="122dp"
android:text="Order"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cb2"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>

2) MainActivity.java
package com.example.pr_15_2;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


Button button;
CheckBox cb,cb1,cb2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

button=findViewById(R.id.button);
cb=findViewById(R.id.cb);
cb1=findViewById(R.id.cb1);
cb2=findViewById(R.id.cb2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int totalamount=0;
StringBuilder result=new StringBuilder();
if (cb.isChecked()){
result.append("\nPizza 100Rs");
totalamount+=100; }
if (cb1.isChecked()){
result.append("\nCoffee 50Rs");
totalamount+=50; }
if (cb2.isChecked()){
result.append("\nBurger 120Rs");
totalamount+=120; }
result.append("\nTotal: "+totalamount+"Rs");
Toast.makeText(MainActivity.this, "Selected
Items:"+result.toString(), Toast.LENGTH_SHORT).show();
}
}); } }
Output
• Design View

• Android device
Practical No 16

X.1. Write a program to display following output. Use time picker with Spinner Mode

Program

1) activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/sp2"
android:layout_alignParentStart="true"
android:layout_centerHorizontal="true"
android:layout_marginStart="167dp"
android:layout_marginTop="24dp"
android:text="24 Hours"
android:textColor="#040303"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TimePicker
android:id="@+id/sp24"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/sp2"
android:layout_alignParentStart="true"
android:layout_centerHorizontal="true"
android:layout_marginStart="118dp"
android:layout_marginTop="37dp"
android:timePickerMode="spinner" />

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginStart="170dp"
android:layout_marginTop="38dp"
android:text="AM/PM"
android:textColor="#040303"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TimePicker
android:id="@+id/sp2"
android:layout_width="333dp"
android:layout_height="240dp"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="58dp"
android:layout_marginEnd="34dp"
android:timePickerMode="spinner"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TimePicker
android:id="@+id/clock"
android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:layout_below="@+id/sp24"
android:layout_alignParentEnd="true"
android:layout_marginTop="20dp"
android:layout_marginEnd="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</RelativeLayout>
</ScrollView>

2) MainActivity.java
package com.example.pr_16_a;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.TimePicker;

public class MainActivity extends AppCompatActivity {

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

TimePicker spinner=findViewById(R.id.sp24);
TimePicker clock=findViewById(R.id.clock);
spinner.setIs24HourView(true);
clock.setIs24HourView(true);
}
}
Output
• Design View

• Android device
X.2. Write a program to display following output. Select and display date and time on
click of “select date”, “select time” buttons respectively.

Program

1) 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">

<Button
android:id="@+id/b2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="264dp"
android:layout_marginEnd="24dp"
android:text="Select Time" />

<EditText
android:id="@+id/t2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/t1"
android:layout_alignParentStart="true"
android:layout_marginStart="47dp"
android:layout_marginTop="33dp"
android:ems="10"
android:inputType="textPersonName" />

<EditText
android:id="@+id/t1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="46dp"
android:layout_marginTop="196dp"
android:ems="10"
android:inputType="textPersonName" />

<Button
android:id="@+id/b1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="192dp"
android:layout_marginEnd="22dp"
android:text="Select Date" />
</RelativeLayout>
2) MainActivity.java
package com.example.pr_16_b;

import androidx.appcompat.app.AppCompatActivity;

import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class MainActivity extends AppCompatActivity {

Button b1,b2;
EditText t1,t2;
int tHour,tMiniute;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=findViewById(R.id.b1);
b2=findViewById(R.id.b2);
t1=findViewById(R.id.t1);
t2=findViewById(R.id.t2);

Calendar calendar=Calendar.getInstance();
final int year=calendar.get(Calendar.YEAR);
final int month=calendar.get(Calendar.MONTH);
final int day=calendar.get(Calendar.DAY_OF_MONTH);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DatePickerDialog datePickerDialog=new DatePickerDialog(
MainActivity.this, new
DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day)
{
month = month+1;
String date= day+"/"+month+"/"+year;
t1.setText(date);
}
},year,month,day);
datePickerDialog.show();
}
});

b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TimePickerDialog timePickerDialog=new TimePickerDialog(
MainActivity.this, android.R.style.Theme_Holo_Dialog_MinWidth,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
tHour=hourOfDay;
tMiniute=minute;
String time1=tHour+":"+tMiniute;
SimpleDateFormat f24hours =new SimpleDateFormat( "HH:mm" );
try{
Date date= f24hours.parse(time1);
SimpleDateFormat f12Hours= new SimpleDateFormat("hh:mm aa" );
t2.setText(f12Hours.format(date));
}
catch (ParseException e) {
e.printStackTrace();
}
}
},12,0,false
);
timePickerDialog.getWindow().setBackgroundDrawable(new
ColorDrawable(Color.TRANSPARENT));
timePickerDialog.updateTime(tHour,tMiniute);
timePickerDialog.show();
}
});
}
}

Output

• Design View
• Android device
Practical No 17
IX.1. Draw the activity life cycle diagram.
X.1. Write a program to create a HelloWorld Activity using all lifecycles methods to
display messages using Log.d.

Program

1) 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:paddingTop="80dp"

tools:context=".MainActivity">

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Hello World" />

</RelativeLayout>

2) Java code:

package com.example.prac17;

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

public class MainActivity extends AppCompatActivity {


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Log.d("Activity:", "Created");

}
@Override

protected void onStart() {


super.onStart();
Log.d("Activity:", "Started");
}
@Override
protected void onResume() {
super.onResume();
Log.d("Activity:", "Resume");
}
@Override
protected void onPause() {
super.onPause();
Log.d("Activity:", "Pause");
}
@Override
protected void onStop() {
super.onStop();
Log.d("Activity:", "Stop");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d("Activity:", "Restart");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d("Activity:", "Destroy");
}
}

Output
Practical No 18
X.1. Write a program to create a text field and a button “Navigate”. When you enter
“www.google.com” and press navigate button it should open google page.

Program

1) 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" >

<EditText
android:id="@+id/txtURL"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:text="https://www.google.com/" />

<Button
android:id="@+id/btnGo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/txtURL"
android:onClick="btnGoHandler"
android:text="Navigate"
android:layout_marginLeft="20dp"/>

<WebView
android:id="@+id/webView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/btnGo" />
</RelativeLayout>

2) Java code:
package com.example.pr_18_1;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {


private WebView webView; // for displaying web contents
private EditText txtURL;

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

webView = (WebView) findViewById(R.id.webView);


txtURL = (EditText) findViewById(R.id.txtURL);
}

public void btnGoHandler(View view) {


// show the web page of the URL of the EditText
webView.loadUrl(txtURL.getText().toString());
}
}

Output
• Design View

• Android device
X.2. Write a program to create button “Start Dialer”. When u click on this button it
should open the phone dialer.

Program

1) 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">

<EditText
android:id="@+id/e1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="122dp"
android:layout_marginBottom="573dp"
android:ems="10"
android:hint=" enter number" />

<Button
android:id="@+id/t1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="151dp"
android:layout_marginBottom="500dp"
android:text="Start Dialer" />

</RelativeLayout>

2) Java code:
package com.example.pr_18_2;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {


@Override

protected void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText e1=(EditText)findViewById(R.id.e1);
final Button b1=(Button)findViewById(R.id.t1);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String n = e1.getText().toString();
Intent cinte =new Intent(Intent.ACTION_DIAL);
cinte.setData(Uri.parse("tel:"+n));
startActivity(cinte);
}
});
}
}

Output
• Design View

• Android device
X.3. Write a program to create two screens. First screen will take one number input
from user. After click on Factorial button, second screen will open and it should display
factorial of the same number. Also specify which type of intent you will use in this case.

Program

1) 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">

<EditText
android:id="@+id/num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/cal"
android:layout_alignParentStart="true"
android:layout_marginStart="81dp"
android:layout_marginTop="256dp"
android:layout_marginBottom="41dp"
android:ems="10"
android:inputType="number"
android:minHeight="48dp"
android:text="Enter Number"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.542"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"

tools:ignore="TouchTargetSizeCheck,TouchTargetSizeCheck,TouchTargetSizeChec
k,TouchTargetSizeCheck" />

<Button
android:id="@+id/cal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginStart="76dp"
android:text="Calculate Factorial"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteY="324dp" />
</RelativeLayout>

2) activity_answer.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">
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="37dp"
android:layout_marginTop="299dp"
android:text="The Factorial is: "
android:textColor="#0A0707"
android:textSize="24sp"
android:textStyle="bold" />
</RelativeLayout>

3) Java code (MainActivity.java) :

package com.example.pr_18_3;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {


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

cal=findViewById(R.id.cal);
num=findViewById(R.id.num);
Bundle bundle = new Bundle();
cal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

switch (view.getId())
{
case R.id.cal:
int val =
Integer.parseInt(num.getText().toString());
bundle.putInt("num",val);
Intent intent = new Intent(MainActivity.this,
Answer.class);
intent.putExtras(bundle);
startActivity(intent);
break;

}
}
});
}
}
4) Java code (Answer.java) :

package com.example.pr_18_3;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class Answer extends AppCompatActivity {


TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_answer);
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
tv= (TextView) findViewById(R.id.tv);
int val = bundle.getInt("num");
int x = 1;
for(int i=1; i<val; i++)
{
x =(x*i);
}

String txt = Integer.toString(x);


tv.append(txt);
}}

Output
• Design View
• Android device
Practical No 21
X.1. Write a program to demonstrate all the system broadcast messages.

Program

1) XML code:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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">
</androidx.constraintlayout.widget.ConstraintLayout>

2) Java Code:

• MainActivity.java
package com.example.prac21;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

AirplaneModeChangeReceiver airplaneModeChangeReceiver = new


AirplaneModeChangeReceiver();

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

@Override
protected void onStart() {
super.onStart();
IntentFilter filter = new
IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED);
registerReceiver(airplaneModeChangeReceiver, filter);
}

@Override
protected void onStop() {
super.onStop();
unregisterReceiver(airplaneModeChangeReceiver);
}
}
• AirplaneModeChangeReceiver.java
package com.example.prac21;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.provider.Settings;
import android.widget.Toast;

public class AirplaneModeChangeReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

if (isAirplaneModeOn(context.getApplicationContext())) {
Toast.makeText(context, "AirPlane mode is on",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context, "AirPlane mode is off",
Toast.LENGTH_SHORT).show();
}
}

private static boolean isAirplaneModeOn(Context context) {


return Settings.System.getInt(context.getContentResolver(),
Settings.Global.AIRPLANE_MODE_ON, 0) != 0;
}
}
Output:
Practical No 22
X.1. Write a program to changes the background colour when device is shuffled.

Program

1) 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" >

<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Shake to switch color" />

</RelativeLayout>

2) Java code (MainActivity.java) :


package com.example.pr_22_1;

import android.app.Activity;
import android.graphics.Color;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity implements SensorEventListener{


private SensorManager sensorManager;
private boolean isColor = false;
private View view;
private long lastUpdate;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
view = findViewById(R.id.textView);
view.setBackgroundColor(Color.GREEN);

sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);


lastUpdate = System.currentTimeMillis();
}
//overriding two methods of SensorEventListener
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
getAccelerometer(event);
}
}

private void getAccelerometer(SensorEvent event) {


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

float accelationSquareRoot = (x * x + y * y + z * z)
/ (SensorManager.GRAVITY_EARTH *
SensorManager.GRAVITY_EARTH);

long actualTime = System.currentTimeMillis();

if (accelationSquareRoot >= 2) //it will be executed if you shuffle


{

if (actualTime - lastUpdate < 200) {


return;
}
lastUpdate = actualTime;//updating lastUpdate for next shuffle
if (isColor) {
view.setBackgroundColor(Color.GREEN);
Toast.makeText(this, "Color Changed to Green",
Toast.LENGTH_SHORT).show();
} else {
view.setBackgroundColor(Color.RED);
Toast.makeText(this, "Color Changed to Red",
Toast.LENGTH_SHORT).show();
}
isColor = !isColor;
}
}

@Override
protected void onResume() {
super.onResume();
// register this class as a listener for the orientation and
// accelerometer sensors

sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.T
YPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_NORMAL);
}

@Override
protected void onPause() {
// unregister listener
super.onPause();
sensorManager.unregisterListener(this);
}
}
Output
• Android device

X.2 Write a program to display the list of sensors supported by the mobile device.

Program

1) activity_main.xml

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


<ScrollView 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"
android:padding="10dp">

<TextView android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textSize="14dp"/>

</ScrollView>
2) Java code (MainActivity.java):

package com.example.pr_22_2;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.List;

public class MainActivity extends AppCompatActivity {

TextView tv;

@Override
protected void onCreate(Bundle savedInstanceState) {

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

tv = findViewById(R.id.tv);
String sensorInfo = "";

SensorManager sensorManager = (SensorManager)


getSystemService(SENSOR_SERVICE);
List<Sensor> sensorList =
sensorManager.getSensorList(Sensor.TYPE_ALL);

for(Sensor s : sensorList) {
sensorInfo += s.getName() + "\n";
}

tv.setText(sensorInfo);
}
}
Output
• Android device
Practical No 23
X.1. Write a program to capture an image and display it using image view.
XML code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FFF9C4">

<ImageView
android:layout_width="fill_parent"
android:layout_height="300dp"
android:layout_centerHorizontal="true"
android:id="@+id/imageView" />

<Button
android:text=" capture "
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/button" />
</LinearLayout>

Java code:

package com.example.prac23x1;

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;

import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;

public class MainActivity extends AppCompatActivity {

Button button ;
ImageView imageView ;
Intent intent ;
public static final int RequestPermissionCode = 1 ;

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

EnableRuntimePermission();

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

intent = new
Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

startActivityForResult(intent, 7);

}
});
}

protected void onActivityResult(int requestCode, int resultCode, Intent


data) {

super.onActivityResult(requestCode, resultCode, data);


if (requestCode == 7 && resultCode == RESULT_OK) {

Bitmap bitmap = (Bitmap) data.getExtras().get("data");

imageView.setImageBitmap(bitmap);
}
}

public void EnableRuntimePermission(){

if
(ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
Manifest.permission.CAMERA))
{

Toast.makeText(MainActivity.this,"CAMERA permission allows us


to Access CAMERA app", Toast.LENGTH_LONG).show();

} else {

ActivityCompat.requestPermissions(MainActivity.this,new
String[]{
Manifest.permission.CAMERA}, RequestPermissionCode);

}
}

@Override
public void onRequestPermissionsResult(int RC, String per[], int[]
PResult) {

super.onRequestPermissionsResult(RC, per, PResult);


switch (RC) {

case RequestPermissionCode:

if (PResult.length > 0 && PResult[0] ==


PackageManager.PERMISSION_GRANTED) {

Toast.makeText(MainActivity.this, "Permission Granted,


Now your application can access CAMERA.", Toast.LENGTH_LONG).show();

} else {

Toast.makeText(MainActivity.this, "Permission Canceled,


Now your application cannot access CAMERA.", Toast.LENGTH_LONG).show();

}
break;
}
}

}
Output:

X.2. Write a program to record a video using various camera methods.


XML code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FFF9C4">

<ImageView
android:layout_width="fill_parent"
android:layout_height="300dp"
android:layout_centerHorizontal="true"
android:id="@+id/imageView" />

<Button
android:text=" capture video "
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/button" />

</LinearLayout>

Java code:
package com.example.prac23x2;

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;

import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;

public class MainActivity extends AppCompatActivity {

Button button ;
ImageView imageView ;
Intent intent ;
public static final int RequestPermissionCode = 1 ;

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

button = (Button)findViewById(R.id.button);
imageView = (ImageView)findViewById(R.id.imageView);

EnableRuntimePermission();

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);

startActivityForResult(intent, 7);

}
});
}

protected void onActivityResult(int requestCode, int resultCode, Intent


data) {

super.onActivityResult(requestCode, resultCode, data);


if (requestCode == 7 && resultCode == RESULT_OK) {

Bitmap bitmap = (Bitmap) data.getExtras().get("data");

imageView.setImageBitmap(bitmap);
}
}

public void EnableRuntimePermission(){

if
(ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
Manifest.permission.CAMERA))
{

Toast.makeText(MainActivity.this,"CAMERA permission allows us


to Access CAMERA app", Toast.LENGTH_LONG).show();

} else {

ActivityCompat.requestPermissions(MainActivity.this,new
String[]{
Manifest.permission.CAMERA}, RequestPermissionCode);

}
}

@Override
public void onRequestPermissionsResult(int RC, String per[], int[]
PResult) {

super.onRequestPermissionsResult(RC, per, PResult);


switch (RC) {

case RequestPermissionCode:

if (PResult.length > 0 && PResult[0] ==


PackageManager.PERMISSION_GRANTED) {

Toast.makeText(MainActivity.this, "Permission Granted,


Now your application can access CAMERA.", Toast.LENGTH_LONG).show();

} else {

Toast.makeText(MainActivity.this, "Permission Canceled,


Now your application cannot access CAMERA.", Toast.LENGTH_LONG).show();

}
break;
}
}

}
Output:
Practical No 24
X.1. Write a program to turn on, get visible, list devices and turnoff Bluetooth with the
help of following GUI.

• XML code:

<?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"
android:transitionGroup="true">

<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="36dp"
android:text="Bluetooth"
android:textColor="#150B0B"
android:textSize="35dp" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textview"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="41dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="246dp"
android:clickable="true"
android:onClick="on"
android:text="Turn On" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button"
android:layout_alignParentStart="true"
android:layout_marginStart="41dp"
android:layout_marginTop="3dp"
android:onClick="visible"
android:text="Get visible" />

<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button2"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_marginStart="41dp"
android:layout_marginLeft="-121dp"
android:layout_marginTop="4dp"
android:layout_toRightOf="@id/button2"
android:onClick="list"
android:text="List devices" />

<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="41dp"
android:layout_marginLeft="43dp"
android:layout_marginTop="105dp"
android:onClick="off"
android:text="turn off" />

<ListView
android:id="@+id/listView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button2"
android:layout_alignStart="@+id/button"
android:layout_alignLeft="@+id/button"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="-2dp"
android:layout_marginLeft="-2dp"
android:layout_marginTop="156dp"
android:layout_marginEnd="0dp"
android:layout_marginBottom="-169dp" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button4"
android:layout_alignStart="@+id/listView"
android:layout_alignLeft="@+id/listView"
android:layout_marginStart="3dp"
android:layout_marginLeft="3dp"
android:layout_marginTop="28dp"
android:text="Paired devices:"
android:textColor="#030901"
android:textSize="25dp" />

</RelativeLayout>
• Java code:
package com.example.pr_24_1;

import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;

import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;

import android.widget.Toast;
import java.util.ArrayList;
import java.util.Set;

public class MainActivity extends Activity {


Button b1,b2,b3,b4;
private BluetoothAdapter BA;
private Set<BluetoothDevice>pairedDevices;
ListView lv;

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

b1 = (Button) findViewById(R.id.button);
b2=(Button)findViewById(R.id.button2);
b3=(Button)findViewById(R.id.button3);
b4=(Button)findViewById(R.id.button4);

BA = BluetoothAdapter.getDefaultAdapter();
lv = (ListView)findViewById(R.id.listView);
}

public void on(View v){


if (!BA.isEnabled()) {
Intent turnOn = new
Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(turnOn, 0);
Toast.makeText(getApplicationContext(), "Turned
on",Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "Already on",
Toast.LENGTH_LONG).show();
}
}

public void off(View v){


BA.disable();
Toast.makeText(getApplicationContext(), "Turned off"
,Toast.LENGTH_LONG).show();
}

public void visible(View v){


Intent getVisible = new
Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
startActivityForResult(getVisible, 0);
}

public void list(View v){


pairedDevices = BA.getBondedDevices();

ArrayList list = new ArrayList();

for(BluetoothDevice bt : pairedDevices) list.add(bt.getName());


Toast.makeText(getApplicationContext(), "Showing Paired
Devices",Toast.LENGTH_SHORT).show();

final ArrayAdapter adapter = new


ArrayAdapter(this,android.R.layout.simple_list_item_1, list);

lv.setAdapter(adapter);
}
}

• Manifest:
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

• Output:
Practical No 26
1. Write a program to insert data in SQLite database using AsyncTask
XML code:
<?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:orientation="vertical"
tools:context=".MainActivity">

<!--Edit text to enter course name-->


<EditText
android:id="@+id/idEdtCourseName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:hint="Enter course Name" />

<!--edit text to enter course duration-->


<EditText
android:id="@+id/idEdtCourseDuration"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:hint="Enter Course Duration" />

<!--edit text to display course tracks-->


<EditText
android:id="@+id/idEdtCourseTracks"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:hint="Enter Course Tracks" />

<!--edit text for course description-->


<EditText
android:id="@+id/idEdtCourseDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:hint="Enter Course Description" />

<!--button for adding new course-->


<Button
android:id="@+id/idBtnAddCourse"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="Add Course"
android:textAllCaps="false" />

</LinearLayout>
MainActivity.java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {

// creating variables for our edittext, button and dbhandler


private EditText courseNameEdt, courseTracksEdt, courseDurationEdt,
courseDescriptionEdt;
private Button addCourseBtn;
private DBHandler dbHandler;

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

// initializing all our variables.


courseNameEdt = findViewById(R.id.idEdtCourseName);
courseTracksEdt = findViewById(R.id.idEdtCourseTracks);
courseDurationEdt = findViewById(R.id.idEdtCourseDuration);
courseDescriptionEdt =
findViewById(R.id.idEdtCourseDescription);
addCourseBtn = findViewById(R.id.idBtnAddCourse);

// creating a new dbhandler class


// and passing our context to it.
dbHandler = new DBHandler(MainActivity.this);

// below line is to add on click listener for our add


course button.
addCourseBtn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {

// below line is to get data from all edit


text fields.
String courseName =
courseNameEdt.getText().toString();
String courseTracks =
courseTracksEdt.getText().toString();
String courseDuration =
courseDurationEdt.getText().toString();
String courseDescription =
courseDescriptionEdt.getText().toString();

// validating if the text fields are empty


or not.
if (courseName.isEmpty() &&
courseTracks.isEmpty() && courseDuration.isEmpty() &&
courseDescription.isEmpty()) {
Toast.makeText(MainActivity.this,
"Please enter all the data..", Toast.LENGTH_SHORT).show();
return;
}
// on below line we are calling a method to
add new
// course to sqlite data and pass all our
values to it.
dbHandler.addNewCourse(courseName,
courseDuration, courseDescription, courseTracks);

// after adding the data we are displaying a


toast message.
Toast.makeText(MainActivity.this, "Course
has been added.", Toast.LENGTH_SHORT).show();
courseNameEdt.setText("");
courseDurationEdt.setText("");
courseTracksEdt.setText("");
courseDescriptionEdt.setText("");
}
});
}
}

DBHandler.java
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHandler extends SQLiteOpenHelper {

// creating a constant variables for our database.


// below variable is for our database name.
private static final String DB_NAME = "coursedb";

// below int is our database version


private static final int DB_VERSION = 1;

// below variable is for our table name.


private static final String TABLE_NAME = "mycourses";

// below variable is for our id column.


private static final String ID_COL = "id";

// below variable is for our course name column


private static final String NAME_COL = "name";

// below variable id for our course duration column.


private static final String DURATION_COL = "duration";

// below variable for our course description column.


private static final String DESCRIPTION_COL = "description";

// below variable is for our course tracks column.


private static final String TRACKS_COL = "tracks";

// creating a constructor for our database handler.


public DBHandler(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}

// below method is for creating a database by running a sqlite


query
@Override
public void onCreate(SQLiteDatabase db) {
// on below line we are creating
// an sqlite query and we are
// setting our column names
// along with their data types.
String query = "CREATE TABLE " + TABLE_NAME + " ("
+ ID_COL + " INTEGER PRIMARY KEY
AUTOINCREMENT, "
+ NAME_COL + " TEXT,"
+ DURATION_COL + " TEXT,"
+ DESCRIPTION_COL + " TEXT,"
+ TRACKS_COL + " TEXT)";

// at last we are calling a exec sql


// method to execute above sql query
db.execSQL(query);
}

// this method is use to add new course to our sqlite database.


public void addNewCourse(String courseName, String courseDuration,
String courseDescription, String courseTracks) {

// on below line we are creating a variable for


// our sqlite database and calling writable method
// as we are writing data in our database.
SQLiteDatabase db = this.getWritableDatabase();

// on below line we are creating a


// variable for content values.
ContentValues values = new ContentValues();

// on below line we are passing all values


// along with its key and value pair.
values.put(NAME_COL, courseName);
values.put(DURATION_COL, courseDuration);
values.put(DESCRIPTION_COL, courseDescription);
values.put(TRACKS_COL, courseTracks);

// after adding all values we are passing


// content values to our table.
db.insert(TABLE_NAME, null, values);

// at last we are closing our


// database after adding database.
db.close();
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
// this method is called to check if the table exists
already.
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
Manifest:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Output:
Practical No 27

1. Write a program to create the login form and display login successful/unsuccessful
toast message.
XML code:

<?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"
tools:context=".MainActivity"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login Form"
android:layout_marginTop="100dp"
android:textSize="35sp"
android:textColor="@color/design_default_color_primary"
android:gravity="center_horizontal"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Username"
android:layout_marginTop="100dp"
android:textSize="20sp"/>
<EditText android:id="@+id/etUsername"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Password"
android:textSize="20sp"/>
<EditText android:id="@+id/etPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"/>
<TextView android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/holo_red_dark"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:layout_gravity="center_horizontal"
android:layout_marginTop="50dp"
/>
</LinearLayout>
Java code:
package com.example.pr_27_1;

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

public class MainActivity extends AppCompatActivity {

EditText etUsername,etPassword;
TextView tv;
Button bt;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etUsername = findViewById(R.id.etUsername);
etPassword = findViewById(R.id.etPassword);
tv = findViewById(R.id.tv);
bt=findViewById(R.id.bt);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(etUsername.getText().toString().equals("Admin") &&
etPassword.getText().toString().equals("1234")) {
Toast.makeText(MainActivity.this, "Login Successful",
Toast.LENGTH_SHORT).show();
}
else {

Toast.makeText(MainActivity.this, "Login Failed",


Toast.LENGTH_SHORT).show();
}
} });
}}
Output:
Practical No 28

1. Write a program to create the login form with necessary validations like length of
username and password, empty text fields, count of unsuccessful login attempts. Display
the login successful/Unsuccessful toast message.

• XML code:
<?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">

<TextView
android:id="@+id/count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="221dp"
android:layout_marginBottom="178dp"
android:textColor="#100606"
android:textSize="20sp" />

<TextView
android:id="@+id/lg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginStart="118dp"
android:layout_marginTop="130dp"
android:fontFamily="sans-serif-smallcaps"
android:text="Login Form"
android:textColor="#070606"
android:textSize="34sp"
android:textStyle="bold" />

<EditText
android:id="@+id/pass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_centerVertical="true"
android:layout_marginStart="80dp"
android:layout_marginTop="318dp"
android:ems="10"
android:hint="Enter Password"
android:inputType="textPassword" />

<EditText
android:id="@+id/user"
style="@style/Widget.AppCompat.EditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginStart="80dp"
android:layout_marginTop="256dp"
android:ems="10"
android:hint="Enter Username"
android:inputType="textPersonName" />

<Button
android:id="@+id/sub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="277dp"
android:text="Submit" />

<TextView
android:id="@+id/att"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="62dp"
android:layout_marginBottom="181dp"
android:text="Attemps Remain:"
android:textColor="#100606"
android:textSize="20sp"
android:visibility="gone" />
</RelativeLayout>

• Java code:

package com.example.pr_28_1;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


Button submit;
EditText user,pass;
TextView count,att;
int counter = 3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
submit=findViewById(R.id.sub);
user=findViewById(R.id.user);
pass=findViewById(R.id.pass);
count=findViewById(R.id.count);
att=findViewById(R.id.att);

submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String userv=user.getText().toString();
String passv=pass.getText().toString();
if(userv.isEmpty()){
user.setError("Please Enter Name");
user.requestFocus();
}
if(passv.isEmpty() || passv.length() < 8 ){
pass.setError("Enter Password atleast of 8
digit");
pass.requestFocus();
}
if(userv.equals("Atharva123") &&
passv.equals("AtharvaM")) {
Toast.makeText(getApplicationContext(), "Login
Successful",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(), "Invalid
Credentials",Toast.LENGTH_SHORT).show();
att.setVisibility(View.VISIBLE);
counter--;
count.setText(Integer.toString(counter));

if (counter == 0) {
submit.setEnabled(false);
}
}
}
});
}
}

• Output:
Practical No 29

1. Write a program to send and receive SMS, make use of following GUI.

• Send SMS

• XML code:

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

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="118dp"
android:text="Sending SMS "
android:textColor="#0E0B0B"
android:textSize="30dp" />

<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_alignParentStart="true"
android:layout_centerHorizontal="true"
android:layout_marginStart="118dp"
android:layout_marginTop="109dp"
android:hint="Enter Phone Number"
android:minHeight="48dp"
android:phoneNumber="true"
android:textColorHint="@color/black" />

<EditText
android:id="@+id/editText2"
android:layout_width="145dp"
android:layout_height="wrap_content"
android:layout_below="@+id/editText"
android:layout_alignStart="@+id/editText"
android:layout_alignLeft="@+id/editText"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginLeft="3dp"
android:layout_marginTop="24dp"
android:hint="Enter SMS"
android:minHeight="48dp"
android:textColorHint="@color/black" />
<Button
android:id="@+id/btnSendSMS"
android:layout_width="137dp"
android:layout_height="wrap_content"
android:layout_below="@+id/editText2"
android:layout_alignParentStart="true"
android:layout_centerHorizontal="true"
android:layout_marginStart="125dp"
android:layout_marginTop="42dp"
android:minHeight="48dp"
android:text="Send Sms"
tools:ignore="TouchTargetSizeCheck" />

</RelativeLayout>

• Java code:

package com.example.pr_29_1;

import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

public class MainActivity extends Activity {


private static final int MY_PERMISSIONS_REQUEST_SEND_SMS =0 ;
Button sendBtn,inbox;
EditText txtphoneNo;
EditText txtMessage;
String phoneNo;
String message;

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

sendBtn = (Button) findViewById(R.id.btnSendSMS);


txtphoneNo = (EditText) findViewById(R.id.editText);
txtMessage = (EditText) findViewById(R.id.editText2);

sendBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
phoneNo = txtphoneNo.getText().toString();
message = txtMessage.getText().toString();
sendSMSMessage();
try {
SmsManager smManager = SmsManager.getDefault();
smManager.sendTextMessage(phoneNo, null, message, null,
null);
Toast.makeText(getApplicationContext(), "Message Sent
to Patient", Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "Some Error
occurred", Toast.LENGTH_LONG).show();
}
}
});
}

protected void sendSMSMessage() {

if (ContextCompat.checkSelfPermission(this,
Manifest.permission.SEND_SMS)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.SEND_SMS)) {
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.SEND_SMS},
MY_PERMISSIONS_REQUEST_SEND_SMS);
}
}
}

• Manifest:
<uses-permission android:name="android.permission.SEND_SMS" />

• Output
• Receive SMS

• XML code:
<?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=".SmsActivity"
android:padding="10dp">

<!-- ListVivew -->


<ListView
android:id="@+id/SMSList"
android:layout_width="wrap_content"

android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="57dp"
android:layout_marginEnd="9dp"
android:layout_marginBottom="-8dp"
tools:layout_editor_absoluteX="8dp"
tools:layout_editor_absoluteY="8dp" />

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="28dp"
android:text="SMS Inbox"
android:textColor="#110E0E"
android:textSize="24sp" />

</RelativeLayout>

• Java code:

1. SmsActivity.java

import android.content.ContentResolver;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

import java.util.ArrayList;

public class SmsActivity extends AppCompatActivity {

private static SmsActivity inst;


ArrayList<String> smsMessagesList = new ArrayList<String>();
ListView smsListView;
ArrayAdapter arrayAdapter;

public static SmsActivity instance() {


return inst;
}
@Override
public void onStart() {
super.onStart();
inst = this;
}

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

smsListView = (ListView) findViewById(R.id.SMSList);

arrayAdapter = new ArrayAdapter<String>(this,


android.R.layout.simple_list_item_1, smsMessagesList);
smsListView.setAdapter(arrayAdapter);

if(ContextCompat.checkSelfPermission(getBaseContext(),
"android.permission.READ_SMS") == PackageManager.PERMISSION_GRANTED) {

refreshSmsInbox();

} else {

final int REQUEST_CODE_ASK_PERMISSIONS = 123;


ActivityCompat.requestPermissions(SmsActivity.this, new
String[]{"android.permission.READ_SMS"}, REQUEST_CODE_ASK_PERMISSIONS);
}

}
public void refreshSmsInbox() {
ContentResolver contentResolver = getContentResolver();
Cursor smsInboxCursor =
contentResolver.query(Uri.parse("content://sms/inbox"), null, null, null,
null);
int indexBody = smsInboxCursor.getColumnIndex("body");
int indexAddress = smsInboxCursor.getColumnIndex("address");
if (indexBody < 0 || !smsInboxCursor.moveToFirst()) return;
arrayAdapter.clear();
do {
String str = "SMS From: " +
smsInboxCursor.getString(indexAddress) +
"\n" + smsInboxCursor.getString(indexBody) + "\n";
arrayAdapter.add(str);
} while (smsInboxCursor.moveToNext());
}

public void updateList(final String smsMessage) {


arrayAdapter.insert(smsMessage, 0);
arrayAdapter.notifyDataSetChanged();
}

public void onItemClick(AdapterView<?> parent, View view, int pos, long


id) {
try {
String[] smsMessages = smsMessagesList.get(pos).split("\n");
String address = smsMessages[0];
String smsMessage = "";
for (int i = 1; i < smsMessages.length; ++i) {
smsMessage += smsMessages[i];
}

String smsMessageStr = address + "\n";


smsMessageStr += smsMessage;
Toast.makeText(this, smsMessageStr, Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}

2. SmsBroadcastReceiver.java

package com.example.pr_29_2;
import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;

// Todo : BroadcastReceiver Class To Receive And Read SMS

public class SmsBroadcastReceiver extends BroadcastReceiver{


public static final String SMS_BUNDLE = "pdus";

public void onReceive(Context context, Intent intent) {


Bundle intentExtras = intent.getExtras();
if (intentExtras != null) {
Object[] sms = (Object[]) intentExtras.get(SMS_BUNDLE);
String smsMessageStr = "";
for (int i = 0; i < sms.length; ++i) {
SmsMessage smsMessage = SmsMessage.createFromPdu((byte[])
sms[i]);

String smsBody = smsMessage.getMessageBody().toString();


String address = smsMessage.getOriginatingAddress();

smsMessageStr += "SMS From: " + address + "\n";


smsMessageStr += smsBody + "\n";
}
Toast.makeText(context, smsMessageStr,
Toast.LENGTH_SHORT).show();

//this will update the UI with message


SmsActivity inst = SmsActivity.instance();
inst.updateList(smsMessageStr);
}
}
}

• Manifest:
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />

• Output:
Practical No 30

1. Write a program to send email.

• XML code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"

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

• Java code:
package com.example.pr_30_1;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {

private EditText eTo;


private EditText eSubject;
private EditText eMsg;
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
eTo = (EditText)findViewById(R.id.txtTo);
eSubject = (EditText)findViewById(R.id.txtSub);
eMsg = (EditText)findViewById(R.id.txtMsg);
btn = (Button)findViewById(R.id.btnSend);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(Intent.EXTRA_EMAIL, new
String[]{eTo.getText().toString()});

it.putExtra(Intent.EXTRA_SUBJECT,eSubject.getText().toString());
it.putExtra(Intent.EXTRA_TEXT,eMsg.getText());
it.setType("message/rfc822");
startActivity(Intent.createChooser(it,"Choose Mail App"));
}
});
}
}

• Output:
Practical No 31

1. Write a program to locate user’s current location.

• XML code:

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


<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/emergncy"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<fragment
android:id="@+id/google_map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</RelativeLayout>

• Java code:
package com.example.pr_31_1;

import android.Manifest;
import android.app.Activity;
import android.content.pm.PackageManager;
import android.location.Location;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import com.google.android.gms.location.FusedLocationProviderClient;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.tasks.OnSuccessListener;

public class MainActivity extends AppCompatActivity {


FusedLocationProviderClient client;
SupportMapFragment;

public void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.supportMapFragment = (SupportMapFragment)
getSupportFragmentManager().findFragmentById(R.id.google_map);
this.client =
LocationServices.getFusedLocationProviderClient((Activity) this);
if (ActivityCompat.checkSelfPermission(this,
"android.permission.ACCESS_FINE_LOCATION") == 0) {
getCurrentLocation();
} else {
ActivityCompat.requestPermissions(this, new
String[]{"android.permission.ACCESS_FINE_LOCATION"}, 44);
}
}

private void getCurrentLocation() {


if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) !=
PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION) !=
PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode,
String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See
the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
this.client.getLastLocation().addOnSuccessListener(new
OnSuccessListener<Location>() {
public void onSuccess(final Location location) {
if (location != null) {
MainActivity.this.supportMapFragment.getMapAsync(new
OnMapReadyCallback() {
public void onMapReady(GoogleMap googleMap) {

LatLng = new LatLng(location.getLatitude(),


location.getLongitude());
MarkerOptions options = new
MarkerOptions().position(latLng).title("User Location");

googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15.0f));
googleMap.addMarker(options);

}
});
}
}
});
}

public void onRequestPermissionsResult(int requestCode, String[]


permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions,
grantResults);
if (requestCode == 44 && grantResults.length > 0 && grantResults[0]
== 0) {
getCurrentLocation();
}
}
}
• Manifest File:

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


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.pr_31_1">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"
/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MAD">
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="AIzaSyAQRHaTav_VOMpQS3heqYJj6-WE_LB72K4" />
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

• Output:
Practical No 32

X.1 Write a program to draw a route between two locations

MapsActivity.java
import android.graphics.Color;
import android.os.AsyncTask;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.util.Log;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions; import
com.google.android.gms.maps.model.PolylineOptions;import
org.json.JSONObject;
import java.io.BufferedReader; import
java.io.IOException; import
java.io.InputStream; import
java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
ArrayList markerPoints= new ArrayList();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {mMap
= googleMap;
LatLng sydney = new LatLng(-34, 151); mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney,
16));mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {if
} (markerPoints.size() > 1) {
markerPoints.clear();
mMap.clear();
markerPoints.add(latLng);
MarkerOptions options = new MarkerOptions();0
options.position(latLng);
if (markerPoints.size() == 1) {
options.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN));
} else if (markerPoints.size() == 2) {
options.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED));
}
mMap.addMarker(options);
if (markerPoints.size() >= 2) {
LatLng origin = (LatLng) markerPoints.get(0);
LatLng dest = (LatLng) markerPoints.get(1); String
url = getDirectionsUrl(origin, dest);
DownloadTask downloadTask = new DownloadTask();
downloadTask.execute(url);
}
}
});
}
private class DownloadTask extends AsyncTask<String, Void, String> {@Override
protected String doInBackground(String... url) {String
data = "";
try {
data = downloadUrl(url[0]);
} catch (Exception e) { Log.d("Background
Task", e.toString());
}
return data;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
ParserTask parserTask = new ParserTask();
parserTask.execute(result);
}
}
private class ParserTask extends AsyncTask<String, Integer, List<List<HashMap<String, String>>>> {@Override
protected List<List<HashMap<String, String>>> doInBackground(String... jsonData) {JSONObject
jObject;
List<List<HashMap<String, String>>> routes = null;try {
jObject = new JSONObject(jsonData[0]); DirectionsJSONParser
parser = new DirectionsJSONParser();routes =
parser.parse(jObject);
} catch (Exception e) {
e.printStackTrace();

}
return routes;
}
@Override
protected void onPostExecute(List<List<HashMap<String, String>>> result) {
ArrayList points = null;
PolylineOptions lineOptions = null;
MarkerOptions markerOptions = new MarkerOptions();for
(int i = 0; i < result.size(); i++) {
points = new ArrayList(); lineOptions =
new PolylineOptions();
List<HashMap<String, String>> path = result.get(i);for
(int j = 0; j < path.size(); j++) {
HashMap<String, String> point = path.get(j); double lat =
Double.parseDouble(point.get("lat")); double lng =
Double.parseDouble(point.get("lng"));LatLng position =
new LatLng(lat, lng); points.add(position);
}
lineOptions.addAll(points);
lineOptions.width(12);
lineOptions.color(Color.RED);
lineOptions.geodesic(true);
}
mMap.addPolyline(lineOptions);
}
}
private String getDirectionsUrl(LatLng origin, LatLng dest) {
String str_origin = "origin=" + origin.latitude + "," + origin.longitude;String
str_dest = "destination=" + dest.latitude + "," + dest.longitude; String sensor =
"sensor=false";
String mode = "mode=driving";
String parameters = str_origin + "&" + str_dest + "&" + sensor + "&" + mode;String
output = "json";
String url = "https://maps.googleapis.com/maps/api/directions/" + output + "?" + parameters;return url;
}
private String downloadUrl(String strUrl) throws IOException {String
data = "";
InputStream iStream = null;
HttpURLConnection urlConnection = null;try {
URL url = new URL(strUrl);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.connect();
iStream = urlConnection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(iStream));StringBuffer sb =
new StringBuffer();
String line = "";
while ((line = br.readLine()) != null) {
sb.append(line);
}
data = sb.toString();
br.close();
} catch (Exception e) {
Log.d("Exception", e.toString());
} finally {
iStream.close();
urlConnection.disconnect();
}
return data;
}
}

DirectionsJSONParser.java
import android.util.Log;
import com.google.android.gms.maps.model.LatLng;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject; import
java.util.ArrayList; import
java.util.HashMap; import
java.util.List;
public class DirectionsJSONParser {
public List<List<HashMap<String,String>>> parse(JSONObject jObject){ List<List<HashMap<String,
String>>> routes = new ArrayList<List<HashMap<String,String>>>() ;JSONArray jRoutes = null;
JSONArray jLegs = null;
JSONArray jSteps = null;try {
jRoutes = jObject.getJSONArray("routes"); for(int
i=0;i<jRoutes.length();i++){
jLegs = ( (JSONObject)jRoutes.get(i)).getJSONArray("legs");List
path = new ArrayList<HashMap<String, String>>(); for(int
j=0;j<jLegs.length();j++){
jSteps = ( (JSONObject)jLegs.get(j)).getJSONArray("steps"); for(int
k=0;k<jSteps.length();k++){
String polyline = "";
polyline = (String)((JSONObject)((JSONObject)jSteps.get(k)).get("polyline")).get("points");List list =
decodePoly(polyline);
for(int l=0;l <list.size();l++){
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("lat", Double.toString(((LatLng)list.get(l)).latitude) );
hm.put("lng", Double.toString(((LatLng)list.get(l)).longitude) );
path.add(hm);
}
}
routes.add(path);
}
}
} catch (JSONException e) {
e.printStackTrace();
}catch (Exception e){
}
return routes;
}
private List decodePoly(String encoded) {List
poly = new ArrayList();
int index = 0, len = encoded.length();int lat
= 0, lng = 0;
while (index < len) {
int b, shift = 0, result = 0;do {
b = encoded.charAt(index++) - 63;result
|= (b & 0x1f) << shift;
shift += 5;
} while (b >= 0x20);
int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1)); lat +=
dlat;
shift = 0;
result = 0;do {
b = encoded.charAt(index++) - 63;result
|= (b & 0x1f) << shift;
shift += 5;
} while (b >= 0x20);
int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1)); lng +=
dlng;
LatLng p = new LatLng((((double) lat / 1E5)),
(((double) lng / 1E5)));
poly.add(p);
}
return poly;
}
}

google_maps_api.xml
<resources>
<string name="google_maps_key" templateMergeStrategy="preserve"
translatable="false">YOUR_KEY_HERE</string>
</resources>

AndroidMainfest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.journaldev.maproutebetweenmarkers">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
<activity android:name=".MapsActivity"
android:label="@string/title_activity_maps">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

output:

You might also like