Practical No 1
Create an application with following functionalities: Print and show a simple message e.g.
Hello Word
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<[Link]
xmlns:android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
android:id="@+id/main"
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" />
</[Link]>
[Link]
package [Link].practical1
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
enableEdgeToEdge()
setContentView([Link].activity_main)
[Link](findViewById([Link])) { v,
insets ->
val systemBars =
[Link]([Link]())
[Link]([Link], [Link],
[Link], [Link])
insets
}
}
}
Practical No 2
Android button & Toggle button from this create application
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="[Link]
xmlns:tools="[Link]
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_centerInParent="true"
android:text="Click Me" />
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/button"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:textOff="OFF"
android:textOn="ON" />
</RelativeLayout>
[Link]
package [Link].practical2
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
setContentView([Link].activity_main)
val button = findViewById<Button>([Link])
val toggleButton = findViewById<ToggleButton>([Link])
[Link] {
// Handle button click
[Link](this@MainActivity, "Button Clicked",
Toast.LENGTH_SHORT).show()
}
[Link] { _, isChecked ->
// Handle toggle button state change
if (isChecked) {
[Link](this@MainActivity, "Toggle ON",
Toast.LENGTH_SHORT).show()
} else {
[Link](this@MainActivity, "Toggle OFF",
Toast.LENGTH_SHORT).show()
}
}
}
}
Practical no 3
Use of Toast & Custom Toast creates android application.
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="[Link]
xmlns:tools="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/buttonShowToast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Show Toast" />
</RelativeLayout>
[Link]
package [Link].practical3
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
setContentView([Link].activity_main)
val buttonShowToast = findViewById<Button>([Link])
[Link] {
// Show standard Toast message
showToast("This is a standard Toast")
// Show custom Toast message
showCustomToast("Custom Toast Example")
}
}
private fun showToast(message: String) {
[Link](this, message, Toast.LENGTH_SHORT).show()
}
private fun showCustomToast(message: String) {
val toast = Toast(this)
[Link] = Toast.LENGTH_SHORT
val textView = TextView(this)
[Link] = message
[Link]([Link])
[Link]([Link])
[Link] = [Link]
[Link](20, 20, 20, 20)
[Link](20F)
[Link](null, [Link])
[Link] = textView
[Link]([Link], 0, 0)
[Link]()
}
}
Activity life cycle
[Link]
package [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
[Link](this,"In OnCreate",Toast.LENGTH_LONG).show()
enableEdgeToEdge()
setContentView([Link].activity_main)
[Link](findViewById([Link]))
{ v, insets ->
val systemBars =
[Link]([Link]())
[Link]([Link], [Link], [Link],
[Link])
insets
}
}
override fun onStart()
{
[Link]()
[Link](this,"In OnStart",Toast.LENGTH_LONG).show()
}
override fun onStop()
{
[Link]()
[Link](this,"In OnStop",Toast.LENGTH_LONG).show()
}
override fun onPause()
{
[Link]()
[Link](this,"In OnPause",Toast.LENGTH_LONG).show()
}
override fun onResume()
{
[Link]()
[Link](this,"In OnResume",Toast.LENGTH_LONG).show()
}
override fun onDestroy()
{
[Link]()
[Link](this,"In OnDestroy",Toast.LENGTH_LONG).show()
}
}
Menu
[Link]
package [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
enableEdgeToEdge()
setContentView([Link].activity_main)
[Link](findViewById([Link])) { v, insets ->
val systemBars = [Link]([Link]())
[Link]([Link], [Link], [Link], [Link])
insets
}
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
[Link]([Link], menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
val id = [Link]
if (id == [Link]) {
[Link](this, "Search", Toast.LENGTH_LONG).show()
}
if (id == [Link]) {
[Link](this, "Home", Toast.LENGTH_LONG).show()
}
if (id == [Link].Contact_us) {
[Link](this, "Contact Us", Toast.LENGTH_LONG).show()
}
return [Link](item)
}
}
[Link]
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="[Link]
xmlns:app="[Link]
<item
android:id="@+id/Search"
android:title="Search"
app:showAsAction="always"/>
<item
android:id="@+id/Home"
android:title="Home"
<item
android:id="@+id/Contact_us"
android:title="Contact Us"/>
</menu>
List View
[Link]
package [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
enableEdgeToEdge()
setContentView([Link].activity_main)
val arrayAdapter: ArrayAdapter<*>
val city = arrayOf<String>("Mumbai", "Pune", "Banglore", "Delhi")
val listView = findViewById<ListView>([Link])
arrayAdapter = ArrayAdapter(this, [Link].simple_list_item_1, city)
[Link] = arrayAdapter
[Link] { parent, view, position, id ->
val toast = [Link](this, "You clicked \n" + city[position], Toast.LENGTH_LONG)
[Link]()
}
[Link](findViewById([Link])) { v, insets ->
val systemBars = [Link]([Link]())
[Link]([Link], [Link], [Link], [Link])
insets
}
}
}
[Link]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="[Link]
xmlns:tools="[Link]
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ListView
android:id="@+id/List"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Layout
Relative layout
Activity_Main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="[Link]
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textViewUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="50dp"
android:text="Username:" />
<EditText
android:id="@+id/editTextUsername"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@id/textViewUsername"
android:layout_alignStart="@id/textViewUsername"
android:hint="Enter username" />
<TextView
android:id="@+id/textViewPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextUsername"
android:layout_alignStart="@id/editTextUsername"
android:layout_marginTop="20dp"
android:text="Password:" />
<EditText
android:id="@+id/editTextPassword"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@id/textViewPassword"
android:layout_alignStart="@id/textViewPassword"
android:hint="Enter password"
android:inputType="textPassword" />
<Button
android:id="@+id/buttonRegister"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/editTextPassword"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:text="Register" />
</RelativeLayout>
[Link]
package [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
enableEdgeToEdge()
setContentView([Link].activity_main)
[Link](findViewById([Link])) { v, insets ->
val systemBars = [Link]([Link]())
[Link]([Link], [Link], [Link], [Link])
insets
}
}
}
Linear layout
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="[Link]
xmlns:tools="[Link]
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:layout_width="150dp"
android:layout_height="40dp"
android:layout_marginTop="50dp"
android:background="@color/black"
android:hint="Username"
android:textColor="@color/white"
android:textColorHint="@color/white" />
<EditText
android:layout_width="150dp"
android:layout_height="40dp"
android:layout_marginTop="20dp"
android:background="@color/black"
android:hint="Password"
android:textColor="@color/white"
android:textColorHint="@color/white" />
<Button
android:id="@+id/Btn"
android:layout_width="150dp"
android:layout_height="40dp"
android:layout_marginTop="20dp"
android:text="Sign In" />
</LinearLayout>
[Link]
package [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
enableEdgeToEdge()
setContentView([Link].activity_main)
[Link](findViewById([Link])) { v, insets ->
val systemBars = [Link]([Link]())
[Link]([Link], [Link], [Link], [Link])
insets
}
}
}
Grid Layout
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="[Link]
xmlns:tools="[Link]
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_row="2"
android:layout_column="1"
android:background="@color/sample"
tools:context=".MainActivity">
<EditText
android:id="@+id/Username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="0"
android:layout_column="0"
android:ems="10"
android:hint="Username"
android:inputType="textEmailAddress" />
<EditText
android:id="@+id/Password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="0"
android:layout_column="1"
android:ems="10"
android:hint="Password"
android:inputType="textPassword" />
<ImageView
android:layout_width="180dp"
android:layout_height="130dp"
android:layout_row="1"
android:layout_column="0"
android:layout_marginLeft="12dp"
android:src="@drawable/a" />
<ImageView
android:layout_width="180dp"
android:layout_height="130dp"
android:layout_row="1"
android:layout_column="1"
android:layout_marginLeft="15dp"
android:src="@drawable/b" />
<Button
android:id="@+id/Register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="2"
android:layout_column="0"
android:text="Sign In" />
</GridLayout>
[Link]
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="sample">#F08080</color>
</resources>
[Link]
package [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
enableEdgeToEdge()
setContentView([Link].activity_main)
[Link](findViewById([Link])) { v, insets ->
val systemBars = [Link]([Link]())
[Link]([Link], [Link], [Link], [Link])
insets
}
}
}
Absolute layout
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="[Link]
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textViewUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="20dp"
android:layout_y="50dp"
android:text="Username:" />
<EditText
android:id="@+id/editTextUsername"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_x="120dp"
android:layout_y="50dp"
android:hint="Enter username" />
<TextView
android:id="@+id/textViewPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="20dp"
android:layout_y="100dp"
android:text="Password:" />
<EditText
android:id="@+id/editTextPassword"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_x="120dp"
android:layout_y="100dp"
android:hint="Enter password"
android:inputType="textPassword" />
<Button
android:id="@+id/buttonRegister"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="150dp"
android:layout_y="150dp"
android:text="Register" />
</AbsoluteLayout>
[Link]
package [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
[Link](savedInstanceState)
enableEdgeToEdge()
setContentView([Link].activity_main)
[Link](findViewById([Link])) { v, insets ->
val systemBars = [Link]([Link]())
[Link]([Link], [Link], [Link], [Link])
insets
}
}
}