Lab Detail


Sno Back Back Subject subject date title note
1 1 Back to subject Mobile Application Development Lab - 20A05706 (Lab) July 31, 2025 TEXTVIEW & BUTTON Example Using kt

E:\android\android apps\App15\app\src\main\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">

    <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.App15"
        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>

 

E:\android\android apps\App15\app\src\main\res\layout\activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"

    tools:context=".MainActivity">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="hello"
        android:textSize="20sp"
        android:textColor="#234098"
        android:textAllCaps="true"
        android:textStyle="bold|italic"
        android:id="@+id/tv"
        android:typeface="monospace"
        android:gravity="center"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Click Me"
        android:textSize="20sp"
        android:textColor="#234098"
        android:textAllCaps="true"
        android:textStyle="bold|italic"
        android:id="@+id/bt"
        android:typeface="monospace"
        android:gravity="center"/>
</LinearLayout>

 

E:\android\android apps\App15\app\src\main\java\com\example\app15\MainActivity.kt

package com.example.app15

import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

class MainActivity : AppCompatActivity() {

    var textView: TextView? = null
    var button: Button? = null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        textView = findViewById<View>(R.id.tv) as TextView
        button = findViewById<View>(R.id.bt) as Button
        button!!.setOnClickListener {
            textView!!.text = "Hi Hello Good morning"
        }
    }
}


 

 

 

Ex02

E:\android\android apps\App15\app\src\main\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">

    <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.App15"
        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>

 

E:\android\android apps\App15\app\src\main\res\layout\activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"

    tools:context=".MainActivity">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:textSize="20sp"
        android:textColor="#FF5722"
        android:textAllCaps="true"
        android:textStyle="bold|italic"
        android:id="@+id/tv"
        android:typeface="monospace"
        android:gravity="center"
        />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:layout_margin="10dp"
        android:padding="10sp"
        android:textSize="20sp"
        android:textColor="#FF5722"
        android:textAllCaps="true"
        android:textStyle="bold|italic"
        android:id="@+id/tv2"
        android:typeface="monospace"
        android:gravity="center"
        />


    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="VISIBLE"
        android:textSize="20sp"
        android:textColor="#234098"
        android:textAllCaps="true"
        android:textStyle="bold|italic"
        android:id="@+id/bt1"
        android:typeface="monospace"
        android:gravity="center"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="INVISIBLE"
        android:textSize="20sp"
        android:textColor="#234098"
        android:textAllCaps="true"
        android:textStyle="bold|italic"
        android:id="@+id/bt2"
        android:typeface="monospace"
        android:gravity="center"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Gone"
        android:textSize="20sp"
        android:textColor="#234098"
        android:textAllCaps="true"
        android:textStyle="bold|italic"
        android:id="@+id/bt3"
        android:typeface="monospace"
        android:gravity="center"/>


</LinearLayout>

E:\android\android apps\App15\app\src\main\java\com\example\app15\MainActivity.kt

package com.example.app15

import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

class MainActivity : AppCompatActivity() {

    //1
    var textView: TextView? = null //here exception means handel null exeption insted of try & catch Blocks
    var button1: Button? = null
    var button2: Button? = null
    var button3: Button? = null


    //String button =new Button() //java every thing is an Object & import from Java side

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //2
//        textView = findViewById<View>(R.id.tv) as TextView
//        button = findViewById<View>(R.id.bt) as Button
        textView = findViewById(R.id.tv)


        button1 = findViewById(R.id.bt1)
        button2 = findViewById(R.id.bt2)
        button3 = findViewById(R.id.bt3)


        //3
        button1!!.setOnClickListener {
            textView!!.text = "Hi Hello Good morning"
            textView?.visibility=View.VISIBLE
        }

        button2!!.setOnClickListener {
            textView!!.text = "Hi Hello Good morning"
            textView?.visibility=View.INVISIBLE
        }

        button3!!.setOnClickListener {
            textView!!.text = "Hi Hello Good morning"
            textView?.visibility=View.GONE
        }


    }
}


 

Output:

 

 

Using Binding Way To Handel Data

E:\android\android apps\App15\app\build.gradle.kts

    kotlinOptions {
        jvmTarget = "1.8"
    }

    dataBinding{
        enable=true
        //enabled=true old version of android sdk Do it
    }

}

dependencies {

    implementation(libs.androidx.core.ktx)
    implementation(libs.androidx.appcompat)
    implementation(libs.material)
    implementation(libs.androidx.activity)
    implementation(libs.androidx.constraintlayout)
    testImplementation(libs.junit)
    androidTestImplementation(libs.androidx.junit)
    androidTestImplementation(libs.androidx.espresso.core)
}

E:\android\android apps\App15\app\src\main\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">

    <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.App15"
        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>

E:\android\android apps\App15\app\src\main\res\layout\activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"

    tools:context=".MainActivity">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:textSize="20sp"
        android:textColor="#FF5722"
        android:textAllCaps="true"
        android:textStyle="bold|italic"
        android:id="@+id/tv"
        android:typeface="monospace"
        android:gravity="center"
        />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:layout_margin="10dp"
        android:padding="10sp"
        android:textSize="20sp"
        android:textColor="#FF5722"
        android:textAllCaps="true"
        android:textStyle="bold|italic"
        android:id="@+id/tv2"
        android:typeface="monospace"
        android:gravity="center"
        />


    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="VISIBLE"
        android:textSize="20sp"
        android:textColor="#234098"
        android:textAllCaps="true"
        android:textStyle="bold|italic"
        android:id="@+id/bt1"
        android:typeface="monospace"
        android:gravity="center"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="INVISIBLE"
        android:textSize="20sp"
        android:textColor="#234098"
        android:textAllCaps="true"
        android:textStyle="bold|italic"
        android:id="@+id/bt2"
        android:typeface="monospace"
        android:gravity="center"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Gone"
        android:textSize="20sp"
        android:textColor="#234098"
        android:textAllCaps="true"
        android:textStyle="bold|italic"
        android:id="@+id/bt3"
        android:typeface="monospace"
        android:gravity="center"/>

</LinearLayout>
</layout>

 

E:\android\android apps\App15\app\src\main\java\com\example\app15\MainActivity.kt

package com.example.app15

import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.databinding.DataBindingUtil
import com.example.app15.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

    //1
    //var textView: TextView? = null //here exception means handel null exeption insted of try & catch Blocks
    //var button1: Button? = null
    //var button2: Button? = null
    //var button3: Button? = null

    var binding:ActivityMainBinding?=null



    //String button =new Button() //java every thing is an Object & import from Java side

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        //setContentView(R.layout.activity_main)


            binding=DataBindingUtil.setContentView(this,R.layout.activity_main)

        //2
//        textView = findViewById<View>(R.id.tv) as TextView
//        button = findViewById<View>(R.id.bt) as Button

        //textView = findViewById(R.id.tv)


        //button1 = findViewById(R.id.bt1)
        //button2 = findViewById(R.id.bt2)
        //button3 = findViewById(R.id.bt3)


        //3
        /*
        button1!!.setOnClickListener {
            textView!!.text = "Hi Hello Good morning"
            textView?.visibility=View.VISIBLE
        }

        button2!!.setOnClickListener {
            textView!!.text = "Hi Hello Good morning"
            textView?.visibility=View.INVISIBLE
        }

        button3!!.setOnClickListener {
            textView!!.text = "Hi Hello Good morning"
            textView?.visibility=View.GONE
        }
        */

        binding?.bt1!!.setOnClickListener {
            binding?.tv2?.text = "Hi Hello Good morning"
            binding?.tv2?.visibility=View.VISIBLE
        }

        binding?.bt2!!.setOnClickListener {
            binding?.tv2?.text = "Hi Hello Good morning"
            binding?.tv2?.visibility=View.INVISIBLE
        }

        binding?.bt3!!.setOnClickListener {
            binding?.tv2?.text = "Hi Hello Good morning"
            binding?.tv2?.visibility=View.GONE
        }


    }
}