You are on page 1of 44

Class:- SYCS Sem:-IV Subject : Android

Practical No 1(A)
Aim:Write a program using Kotlin to implement control structure and loops.
Code:
package com.example.prac1

fun main() {
print("for(i in 1..5)print(i)=")
for (i in 1..5) print(i)
println()
print("for(i in 5..1)print(i)=")
for (i in 5..1) print(i)
println()
print("for(i in 5 downto 1)print(i)=")
for (i in 5 downTo 1) print(i)
println()
print("for(i in 1..5 step2)print(i)=")
for (i in 1..5 step 2) print(i)
println()
print("for(i in 5 downto 1 step2)print(i)=")
for (i in 5 downTo 1 step 2) print(i)
println()
}

Output:

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Practical No 1(B)
Aim:- Write a program to implement object oriented concepts in Kotlin.
Code:
package com.example.prac1

class car {
var brand=""
var model=""
var year=0
}

fun main(){
val c1=car()
c1.brand="ford"
c1.model="mustang"
c1.year=1969
println(c1.brand)
println(c1.model)
println(c1.year)
}

Output:

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Practical No 2(A)
Aim: Create an Android application to design screens using different layouts and UI including
Button, EditText, TextView, Radio Button etc.
Code:
XML File:
<?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">
<LinearLayout
android:id="@+id/ll_main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:background="#444444"
android:padding="25dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25dp"
android:textColor="#6dffbf"
android:padding="30dp"
android:text="STUDENT DETAILS"/>
<EditText
android:id="@+id/edit_name"
android:hint="Name of student"
android:textColor="#6bfff7"
android:textColorHint="#52afaa"
android:textAlignment="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

<EditText
android:id="@+id/rollno"
android:hint="Roll no"
android:textColor="#6bfff7"
android:textColorHint="#52afaa"
android:textAlignment="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/radio_group">

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:textColor="#6dffbf"
android:padding="30dp"
android:text="SELECT CLASS"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/radio"
android:text="FY"
android:textColor="@color/design_default_color_secondary"
android:onClick="radio_button_click"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/radio1"
android:onClick="radio_button_click"
android:textColor="@color/design_default_color_secondary"
android:text="SY"/>
<RadioButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/radio2"
android:textColor="@color/design_default_color_secondary"
android:onClick="radio_button_click"
android:text="TY"/>
</RadioGroup>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="25dp"
android:orientation="horizontal">
<Button
android:id="@+id/btn_reset"
android:text="reset"
android:textAllCaps="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn_submit"
android:text="submit"
android:textAllCaps="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

</LinearLayout>

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

</LinearLayout>
</LinearLayout>

String.xml:
<resources>
<string name="app_name">prac2a</string>
<string name="checked">checked</string>
<string name="unchecked">unchecked</string>
</resources>

MainActivity.kt:
package com.example.prac2a
import android.annotation.SuppressLint
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.PersistableBundle
import android.provider.MediaStore.Audio.Radio
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.RadioButton
import android.widget.Toast
import android.widget.RadioGroup
class MainActivity : AppCompatActivity() {
@SuppressLint("MissingInflatedID")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var edit_name=findViewById(R.id.edit_name)as EditText
var rollno = findViewById(R.id.rollno)as EditText
var btn_reset=findViewById(R.id.btn_reset)as Button
var btn_submit=findViewById(R.id.btn_submit)as Button
btn_reset.setOnClickListener {
edit_name.setText("")
rollno.setText("")
}
btn_submit.setOnClickListener {
val stud_name=edit_name.text;
val rollno = rollno.text;

Toast.makeText(this@MainActivity,
stud_name,Toast.LENGTH_LONG).show()
}
}
fun radio_button_click(view: View){}
}

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Output:

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Practical No. 2(B)

Aim: Write an android application demonstrating response to event user interaction for
Checkbox, Radio button, Button, Spinner.
Code:
Step 1 :- Create activity_main.xml file.
Activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/ll_main_layout1"
android:background="#444"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="30dp"
android:paddingHorizontal="30dp"
android:text="Registration Form"
android:textColor="#6dffbf"
android:textSize="25dp"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/edit_name"
android:padding="12dp"
android:hint="Enter your name"
android:textAlignment="center"
android:textColor="#6bfff7"
android:textColorHint="#52afaa"/>
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/radio_group">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

android:textAlignment="center"
android:text="Select gender"
android:textColor="#6dffbf"
android:textSize="20dp"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radio_male"
android:onClick="radio_button_click"
android:text="Male"
android:textColor="@color/design_default_color_secondary"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radio1"
android:onClick="radio_button_click"
android:text="female"
android:textColor="@color/design_default_color_secondary"/>

</RadioGroup>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="select hobbies"
android:textAlignment="center"
android:textColor="#6dffbf"
android:textSize="20dp"/>
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/chk1"
android:padding="20px"
android:text="@string/checkBox1_text"
android:textColor="#6dffbf"
android:textSize="18sp"/>
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/chk2"
android:padding="20px"
android:text="@string/checkBox2_text"
android:textColor="#6dffbf"
android:textSize="18sp"/>
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/chk3"
android:padding="20px"

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

android:text="@string/checkBox3_text"
android:textColor="#6dffbf"
android:textSize="18sp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="city"
android:textColor="#6dffbf"
android:textSize="15dp"/>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:layout_weight="1"
android:layout_margin="2dp"
android:id="@+id/btn_reset"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Reset"
android:textAllCaps="true"/>
<Button
android:layout_weight="1"
android:layout_margin="2dp"
android:id="@+id/btn_sumbit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Submit"
android:textAllCaps="false"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>

Step 2 :- Create MainActivity.kt file


MainActivity.kt:
package com.example.prac2b
import android.annotation.SuppressLint
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

import android.view.View
import android.view.ViewParent
import android.widget.*
import android.widget.Toast

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

class MainActivity : AppCompatActivity() {


@SuppressLint("ResourceType")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var edit_name=findViewById(R.id.edit_name)as EditText
val city=resources.getStringArray(R.array.city)
val radioGroup= findViewById(R.id.radio_group) as RadioGroup
val chk1 = findViewById(R.id.chk1) as CheckBox
val chk2 = findViewById(R.id.chk2) as CheckBox
val chk3 = findViewById(R.id.chk3) as CheckBox
var btn_reset= findViewById(R.id.btn_reset) as Button
var btn_submit= findViewById(R.id.btn_sumbit) as Button

val spinner= findViewById<Spinner>(R.id.spinner)


if (spinner!= null){
val adapter = ArrayAdapter(
this,
android.R.layout.simple_spinner_item,city
)
spinner.adapter= adapter
spinner.onItemSelectedListener= object:
AdapterView.OnItemSelectedListener{
override fun onItemSelected(parent: AdapterView<*>?, view:
View, position: Int, id: Long) {
Toast.makeText(
this@MainActivity, getString(R.string.array) + " "
+" "+ city[position], Toast.LENGTH_SHORT
).show()
}

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

}
}
}
btn_submit.setOnClickListener{
Toast.makeText(
applicationContext,
"Your response as been recorded", Toast.LENGTH_LONG
).show()
}
btn_reset.setOnClickListener{
edit_name.setText("")
radioGroup.clearCheck()
if (chk1.isChecked()){
chk1.setChecked(false)

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

}
if (chk2.isChecked()){
chk2.setChecked(false)
}
if (chk3.isChecked()){
chk3.setChecked(false)
}
}
}
fun radio_button_click(view: View){

}
}

Step 3 :- Create string.xml file.


String.xml:
<resources>
<string name="app_name">prac2b</string>
<string name="Heading">Hobies</string>
<string name="array">city</string>
<string name="checked">checked</string>
<string name="unchecked">unchecked</string>
<string name="checkBox1_text">watching tv</string>
<string name="checkBox2_text">writing story</string>
<string name="checkBox3_text">swimming</string>
<string-array name="city">
<item>SELECT</item>
<item>mumbai</item>
<item>delhi</item>
<item>nagpur</item>
</string-array>
</resources>

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Output:

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Practical No. 3(A)


Aim: - Create an application to create Image Flipper and Image Gallery . On click the image
display the information about the image.
Code:
Step 1 :- Add android logo image in drawable folder and name it as “android_logo.png”.
Step 2 :- Create activity_main.xml.
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">

<ViewFlipper
android:id="@+id/idViewFlipper"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/idLLBtn"
android:inAnimation="@android:anim/slide_out_right"
android:outAnimation="@android:anim/slide_in_left">

<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:padding="10dp"
android:src="@drawable/download"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:padding="10dp"
android:text="Welcome to Android App Development Course"
android:textAlignment="center"
android:textColor="@color/purple_200"
android:textSize="18sp"
android:textStyle="bold"/>
<Button
android:id="@+id/idBtnViewCourse"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:padding="4dp"

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

android:text="View Course"
android:textAllCaps="false"/>
</ViewFlipper>
<LinearLayout
android:id="@+id/idLLBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal"
android:padding="4dp"
android:weightSum="4">
<Button
android:id="@+id/idBtnPrev"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:text="Previous"
android:textAllCaps="false"/>
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="2"/>
<Button
android:id="@+id/idBtnNext"
android:layout_width="70dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_weight="1"
android:text="Next"
android:textAllCaps="false"/>
</LinearLayout>
</RelativeLayout>

Step 3 :- Create MainActivity.kt.


MainActivity.kt:
package com.example.prac3a

import androidx.appcompat.app.AppCompatActivity
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.widget.Button
import android.widget.ViewFlipper
class MainActivity : AppCompatActivity() {
lateinit var viewFlipper: ViewFlipper
lateinit var prevBtn: Button
lateinit var nextBtn: Button
lateinit var visitCourseBtn: Button

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
viewFlipper = findViewById(R.id.idViewFlipper)
prevBtn = findViewById(R.id.idBtnPrev)
nextBtn = findViewById(R.id.idBtnNext)
visitCourseBtn = findViewById(R.id.idBtnViewCourse)

visitCourseBtn.setOnClickListener{
val openCourse = Intent(android.content.Intent.ACTION_VIEW)
openCourse.data =
Uri.parse("https://www.geeksforgeeks.org/android-tutorial/")
startActivity(openCourse)
}
prevBtn.setOnClickListener{
viewFlipper.showPrevious()
}
nextBtn.setOnClickListener{
viewFlipper.showNext()
}
}
}
Output:

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Practical No. 3(B)


Aim: Create an to use GridView for shopping cart Application.
Code:
Step 1 :- Add 5 images of mobile phones .
Step 2 :- Create activity_main.xml file.
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">
<GridView
android:id="@+id/idGRV"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:horizontalSpacing="6dp"
android:numColumns="2"
android:verticalSpacing="6dp"/>
</RelativeLayout>

Step 2:- Create gridview_item.xml file.


Gridview_item.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:ignore="MissingConstraints">
<ImageView
android:id="@+id/idIVmob"
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:layout_margin="5dp"
android:padding="4dp"
android:src="@drawable/ca"></ImageView>
<TextView
android:id="@+id/idTVmob"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

android:layout_margin="20dp"
android:padding="14dp"
android:text="@string/app_name"
android:textAlignment="center"
android:textColor="@color/black"/>
</LinearLayout>

</android.support.constraint.ConstraintLayout>

Step 3 :- Create GridViewModel.kt file.


GridViewModal.kt:
package com.example.prac3b

data class GridViewModal (


val mobname:String,
val mobimg:Int
)

Step 4:- Create GridRVAdapter.kt file.


GridRVAdapter.kt:
package com.example.prac3b
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.BaseAdapter
import android.widget.ImageView
import android.widget.TextView
internal class GridRVAdapter(
private val mobList: List<GridViewModal>,
private val context: Context
):
BaseAdapter(){
private var layoutInflater: LayoutInflater?=null
private lateinit var mobTV:TextView
private lateinit var mobIV:ImageView
override fun getCount(): Int {
return mobList.size
}

override fun getItem(position: Int): Any? {


return null
}

override fun getItemId(position: Int): Long {


return 0

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

override fun getView(position: Int, convertView: View?, parent:


ViewGroup?): View? {
var convertView=convertView
if (layoutInflater==null){
layoutInflater=
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as
LayoutInflater
}
if (convertView==null){
convertView=layoutInflater!!.inflate(R.layout.gridview_item,null)
}
mobIV=convertView!!.findViewById(R.id.idIVmob)
mobTV=convertView!!.findViewById(R.id.idTVmob)
mobIV.setImageResource(mobList.get(position).mobimg)
mobTV.setText(mobList.get(position).mobname)
return convertView

}
}

Step 5:- Create MainActivity.kt file.


MainActivity.kt:
package com.example.prac3b

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.AdapterView
import android.widget.GridView
import android.widget.Toast
import java.util.*
import kotlin.collections.ArrayList

class MainActivity : AppCompatActivity() {


lateinit var mobGRV:GridView
lateinit var mobList: List<GridViewModal>

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mobGRV=findViewById(R.id.idGRV)
mobList=ArrayList<GridViewModal>()
mobList=mobList+GridViewModal("Captain America",R.drawable.ca)
mobList=mobList+GridViewModal("Ironman",R.drawable.im)
mobList=mobList+GridViewModal("Spiderman",R.drawable.sp)
mobList=mobList+GridViewModal("Thor",R.drawable.thor)

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

mobList=mobList+GridViewModal("Wave",R.drawable.wave)
val courseAdapter=GridRVAdapter(mobList=mobList,this@MainActivity)
mobGRV.adapter=courseAdapter

mobGRV.onItemClickListener=AdapterView.OnItemClickListener{_,_,position,_->}
val position = 0
Toast.makeText(

applicationContext,mobList[position].mobname+"selected",Toast.LENGTH_SHORT
).show()

}
}

Output:

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Practical No. 4(A)


Aim: - Create an Android application to demonstrate implicit intents.
Code:
Step 1 :- Create activity_main.xml file.
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">

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:text="Your First Activity"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.172"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="click to invoke intent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"
app:layout_constraintVertical_bias="0.77"/>
</RelativeLayout>

Step 2:- Create MainActivity.kt file.


MainActivity.kt:
package com.example.prac4

import android.support.v7.app.AppCompatActivity
import android.content.Intent
import android.net.Uri

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

import android.os.Bundle
import android.widget.Button

class MainActivity : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button=findViewById(R.id.button)as Button
button.setOnClickListener(){
intent=Intent(Intent.ACTION_VIEW)
intent.setData(Uri.parse("https://www.android.com/"))
startActivity(intent)
}
}
}
Output:

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Practical No. 4(B)


Aim: Create an Android application to demonstrate explicit intents.
Code:
Step 1 :- Create activity_main.xml file.
Activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Welcome to Home Screen"
android:textAlignment="center"
android:textSize="28sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintEnd_toStartOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText"
tools:ignore="NotSibling" />
<Button
android:id="@+id/btn1"
android:text="Go to New Screen"
android:onClick="newScreen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText"
tools:ignore="OnClick" />

</android.support.constraint.ConstraintLayout>

Step 2 :- Create MainActivity.kt file.


MainActivity.kt:
package com.example.prac4b

import android.content.Intent
import android.os.Bundle
import android.widget.Button

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

import android.support.v7.app.AppCompatActivity

class MainActivity : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button=findViewById(R.id.btn1)as Button
button.setOnClickListener(){
intent=Intent(Intent.ACTION_VIEW)
val i=Intent(applicationContext,MainActivity2::class.java)
startActivity(i)
}
}
}

Step 3 :- Create activity_mai2.xml file.


Activity_main.xml 2:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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=".MainActivity2">
<TextView
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Welcome to New Screen"
android:textAlignment="center"
android:textSize="28sp"
app:layout_constraintBottom_toBottomOf="parent"
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/btn2"
android:text="Go to Home Screen"
android:onClick="homeScreen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText"
tools:ignore="OnClick" />

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

</android.support.constraint.ConstraintLayout>

Step 4:- Create MainActivity2.kt file.


MainActivity.kt 2:
package com.example.prac4b

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.content.Intent
import android.widget.Button

class MainActivity2 : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
val button=findViewById(R.id.btn2)as Button
button.setOnClickListener(){
intent=Intent(Intent.ACTION_VIEW)
val i=Intent(applicationContext,MainActivity::class.java)
startActivity(i)
}

}
}
Output:

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Practical No. 5
Aim: Create an Android application to demonstrate the use Broadcast listener.
Code:
Step 1 :- Create activity_main.xml file.
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/checkInternet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@color/cardview_dark_background"
android:text="Check Connection"
android:textColor="#fff"/>
</RelativeLayout>

Step 2:- Create MainActivity.kt file.


MainActivity.kt :
package com.example.prac5b
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button;
import android.widget.Toast;

class MainActivity : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var button = findViewById<View>(R.id.checkInternet) as Button
button!!.setOnClickListener(View.OnClickListener{
if (AppStatus.getInstance(applicationContext).isOnline){
Toast.makeText(applicationContext,"WiFi/Mobile Networks
Connected!",
Toast.LENGTH_SHORT).show()
}else{
Toast.makeText(applicationContext,"Ooops! No WiFi/Mobile
Networks Connected!",Toast.LENGTH_SHORT).show()
}
})
}
}

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Step 3 :- Create AppStatus.kt file.


AppStatus.kt:
package com.example.prac5b

import android.annotation.SuppressLint
import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkInfo
import android.util.Log
import kotlin.math.log

class AppStatus {
internal lateinit var connectivityManager: ConnectivityManager
internal var wifiInfo:NetworkInfo?=null
internal var mobileInfo:NetworkInfo?=null
internal var connected=false
val isOnline:Boolean
@SuppressLint("MissingPermission")
get() {
try {

connectivityManager=context.getSystemService(Context.CONNECTIVITY_SERVICE) as
ConnectivityManager
val networkInfo=connectivityManager.activeNetworkInfo
connected=networkInfo !=null && networkInfo.isAvailable &&
networkInfo.isConnected
return connected
}catch (e:Exception){
println("CheckConnectivity Exception:"+e.message)
Log.v("connectivity",e.toString())
}
return connected
}
companion object{
internal lateinit var context:Context
private val instance=AppStatus()
fun getInstance(ctx:Context):AppStatus{
context=ctx.applicationContext
return instance
}
}
}

Step 4 :- Create AndroidManifest.xml file.


AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.prac5b">

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Prac5b"
tools:targetApi="31">
<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:

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Practical No. 6
Aim: Create an Android application to demonstrate XML based animation.
Code:
Step 1 :- Create activity_main.xml file insert any image in drawable folder.
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">

<ImageView
android:id="@+id/image"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:padding="10dp"
android:src="@drawable/img"/>
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">
<Button
android:id="@+id/fade_in"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="fade in"
android:textAllCaps="false"/>
<Button
android:id="@+id/fade_out"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="fade out"
android:textAllCaps="false"/></LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

android:weightSum="2">
<Button
android:id="@+id/zoom_in"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="zoom in"
android:textAllCaps="false"/>
<Button
android:id="@+id/zoom_out"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="zoom out"
android:textAllCaps="false"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">
<Button
android:id="@+id/slide_down"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="slide down"
android:textAllCaps="false"/>
<Button
android:id="@+id/slide_up"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="slide up"
android:textAllCaps="false"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">
<Button
android:id="@+id/bounce"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="bounce"
android:textAllCaps="false"/>
<Button

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

android:id="@+id/rotate"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="rotate"
android:textAllCaps="false"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>

Step 2 :- Create anim folder and store all xml animation files.
Fade_in.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<alpha
android:duration="1000"
android:fromAlpha="0.1"
android:toAlpha="1.0"/>
</set>

Fade_out.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<alpha
android:duration="1000"
android:fromAlpha="1.0"
android:toAlpha="0.1"/>

</set>

Zoom_in.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.5"
android:toYScale="1.5"/>
</set>

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Zoom_out.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.5"
android:toYScale="0.5"/>
</set>

Rotate.xml:
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromDegrees="0"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="0"
android:toDegrees="360"/>

Bounce.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">
<translate
android:fromYDelta="100%"
android:toYDelta="-20%"
android:duration="300"/>
<translate
android:startOffset="500"
android:fromYDelta="20%"
android:toYDelta="10%"
android:duration="150"/>
<translate
android:startOffset="1000"
android:fromYDelta="10%"
android:toYDelta="0"
android:duration="100"/>
</set>

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Slide_up.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="0%"
android:toYDelta="-100%"
android:duration="1000"/>
</set>

Slide_down.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="-100%"
android:toYDelta="0%"
android:duration="1000"/>

</set>

Mainactivity.kt:
package com.example.pract6

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.media.Image
import android.os.Handler
import android.view.View
import android.view.animation.AnimationUtils
import android.widget.Button
import android.widget.ImageView
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val fade_in = findViewById(R.id.fade_in) as Button
val image = findViewById(R.id.image) as ImageView
val fade_out = findViewById(R.id.fade_out) as Button
val zoom_in = findViewById(R.id.zoom_in) as Button
val zoom_out = findViewById(R.id.zoom_out) as Button
val slide_up = findViewById(R.id.slide_up) as Button
val slide_down = findViewById(R.id.slide_down) as Button
val rotate = findViewById(R.id.rotate) as Button
val bounce = findViewById(R.id.bounce) as Button
fade_in.setOnClickListener {
image.visibility = View.VISIBLE
val animationFadeIn = AnimationUtils.loadAnimation(this,
R.anim.fade_in)
image.startAnimation(animationFadeIn)
}

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

fade_out.setOnClickListener {
val animationFadeOut = AnimationUtils.loadAnimation(this,
R.anim.fade_out)
image.startAnimation(animationFadeOut)
Handler().postDelayed({
image.visibility = View.GONE
}, 1000)
}
zoom_in.setOnClickListener {
val animationZoomIn = AnimationUtils.loadAnimation(this,
R.anim.zoom_in)
image.startAnimation(animationZoomIn)

}
zoom_out.setOnClickListener {
val animationZoomOut = AnimationUtils.loadAnimation(this,
R.anim.zoom_out)
image.startAnimation(animationZoomOut)

}
slide_down.setOnClickListener {
val animationSlideDown = AnimationUtils.loadAnimation(this,
R.anim.slide_down)
image.startAnimation(animationSlideDown)
}
slide_up.setOnClickListener {
val animationSlideUp = AnimationUtils.loadAnimation(this,
R.anim.slide_up)
image.startAnimation(animationSlideUp)
}
bounce.setOnClickListener {
val animationBounce = AnimationUtils.loadAnimation(this,
R.anim.bounce)
image.startAnimation(animationBounce)
}
rotate.setOnClickListener {
val animationRotate = AnimationUtils.loadAnimation(this,
R.anim.rotate)
image.startAnimation(animationRotate)
}
}
}

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Output:

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Practical No. 7
Aim: Create an Android application to demonstrate XML based animation.
Code:
Step 1 :- Create activity_main.xml file, Create a raw folder inside resources and put any mp3
file.
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">

<TextView
android:id="@+id/headingText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Media Player"
android:layout_centerHorizontal="true"
android:layout_marginTop="32dp"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/headingText"
android:layout_marginTop="16dp"
android:gravity="center_horizontal">
<Button
android:id="@+id/stopButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="STOP"
android:textColor="@android:color/holo_red_dark"/>
<Button
android:id="@+id/playButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="PLAY"
android:textColor="@android:color/holo_green_dark"/>
<Button
android:id="@+id/pauseButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:text="PAUSE"

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

android:textColor="@android:color/holo_blue_dark"/>
</LinearLayout>

</RelativeLayout>

Step 2 :- Create MainActivity.kt file, Create a raw folder inside resources and put any mp3 file.
MainActivity.kt:
package com.example.pract7

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.media.MediaPlayer
import android.widget.Button
import com.example.pract7.R.raw.apple
import android.widget.Toast

class MainActivity : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val
mediaPlayer:MediaPlayer=MediaPlayer.create(applicationContext,apple)
val bPlay: Button = findViewById(R.id.playButton) as Button
val bPause: Button = findViewById(R.id.pauseButton) as Button
val bStop: Button = findViewById(R.id.stopButton) as Button
bPlay.setOnClickListener {
mediaPlayer.start()
Toast.makeText(this@MainActivity, "STARTED",
Toast.LENGTH_LONG).show()

}
bPause.setOnClickListener {
mediaPlayer.pause()
Toast.makeText(this@MainActivity, "PAUSED",
Toast.LENGTH_LONG).show()
}
bStop.setOnClickListener {
mediaPlayer.stop()
Toast.makeText(this@MainActivity, "STOPPED",
Toast.LENGTH_LONG).show()
}
}

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Output:

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Practical No 8(A)
Aim:- Create an Android application to demonstrate the Option Menu.
Code:
Step 1 :- Create activity_main.xml file, Create a menu folder.
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:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Step 2 :- Create menu.xml file inside the menu folder.


MainActivity.kt:
package com.example.pract8

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import android.widget.Toast

class MainActivity : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.menu,menu)
return super.onCreateOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when(item.itemId){
R.id.about->Toast.makeText(this,"about
selected",Toast.LENGTH_SHORT).show()

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

R.id.setting->Toast.makeText(this,"setting
selected",Toast.LENGTH_SHORT).show()
R.id.exit->Toast.makeText(this,"exit
selected",Toast.LENGTH_SHORT).show()
}
return super.onOptionsItemSelected(item) }
}

Step 3 :- Download some icons like menu_ic,setting_ic, about_ic, exit_ic.


Step 4 :- Create MainActivity.kt file.
Menu.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/overflowmedia"
android:icon="@drawable/img"
android:title=""
app:showAsAction="always">
<menu>
<item
android:id="@+id/setting"
android:icon="@drawable/high"
android:title="setting"
app:showAsAction="ifRoom|withText"
/>
<item
android:id="@+id/about"
android:icon="@drawable/high"
android:title="about"
app:showAsAction="ifRoom|withText"
/>
<item
android:id="@+id/exit"
android:icon="@drawable/high"
android:title="exit"
app:showAsAction="ifRoom|withText"/>
</menu>
</item>

</menu>

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Output:

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Practical No 8(B)
Aim: Create an Android application to demonstrate the Pop-up Menu.
Code:
Step 1 :- Create activity_main.xml file, Create a menu folder.
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">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>

</androidx.constraintlayout.widget.ConstraintLayout>

Step 2 :- Create menu.xml file inside menu folder.


MainActivity.kt:
package com.example.prac8

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.PopupMenu
import android.widget.Toast

class MainActivity : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button=findViewById<Button>(R.id.button)
button.setOnClickListener {
val popupMenu:PopupMenu= PopupMenu(this,button)
popupMenu.menuInflater.inflate(R.menu.menu,popupMenu.menu)

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

popupMenu.setOnMenuItemClickListener(PopupMenu.OnMenuItemClickListener { item
->
when (item.itemId) {
R.id.action_crick ->
Toast.makeText(
this, "You Clicked:" + item.title,
Toast.LENGTH_SHORT
).show()
R.id.action_ftbal ->
Toast.makeText(
this, "You Clicked:" + item.title,
Toast.LENGTH_SHORT
).show()
R.id.action_hockey ->
Toast.makeText(
this, "You Clicked:" + item.title,
Toast.LENGTH_SHORT
).show()

}
true
})
popupMenu.show()
}
}
}

Step 3 :- Create MainActivity.kt file.


Menu.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_crick"
android:title="cricket"
app:showAsAction="never"/>
<item
android:id="@+id/action_ftbal"
android:title="football"
app:showAsAction="never"/>
<item
android:id="@+id/action_hockey"
android:title="hockey"
app:showAsAction="never"/>

</menu>

Name :Nikita Surendra Shah Roll No:60


Class:- SYCS Sem:-IV Subject : Android

Output:

Name :Nikita Surendra Shah Roll No:60

You might also like