prac_5(AMP)

 Practical 5

a) Login form

b) Implicit & explicit content

5A_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">

<ImageView

android:id="@+id/imageView"

android:layout_width="185dp"

android:layout_height="132dp"

android:layout_marginStart="109dp"

android:layout_marginTop="117dp"

android:layout_marginEnd="117dp"

android:layout_marginBottom="54dp"

app:layout_constraintBottom_toTopOf="@+id/editText1"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="1.0"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintVertical_bias="0.716"

app:srcCompat="@drawable/album" />

<EditText

android:id="@+id/editText1"

android:layout_width="225dp"

android:layout_height="48dp"

android:hint="Username"

android:inputType="text"

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.405" />

<EditText

android:id="@+id/editText2"

android:layout_width="225dp"

android:layout_height="48dp"

android:hint="Password"

android:inputType="numberPassword"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.53"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:layout_constraintVertical_bias="0.606" />

<Button

android:id="@+id/button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="submit"

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.797" />

</androidx.constraintlayout.widget.ConstraintLayout>

5A_MainActivity.kt

package com.example.practical5_6_7_8

import android.content.Intent

import android.net.Uri

import androidx.appcompat.app.AppCompatActivity

import android.os.Bundle

import android.provider.Settings

import android.view.Menu

import android.view.MenuItem

import android.widget.Button

import android.widget.EditText

import android.widget.Toast

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

val usernameEditText = findViewById<EditText>(R.id.editText1)

val passwordEditText = findViewById<EditText>(R.id.editText2)

val loginButton = findViewById<Button>(R.id.button)

val correctUsername = "admin"

val correctPassword = "1234"

loginButton.setOnClickListener {

val enteredUsername = usernameEditText.text.toString().trim()

val enteredPassword = passwordEditText.text.toString().trim()

when {

enteredUsername.isEmpty() -> {

usernameEditText.error = "Username cannot be empty"

}

enteredPassword.isEmpty() -> {

passwordEditText.error = "Password cannot be empty"

}

enteredUsername == correctUsername && enteredPassword ==

correctPassword -> {

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

Toast.LENGTH_SHORT).show()

val explicitintent = Intent(this, MainActivity2::class.java)

startActivity(explicitintent)

finish() // Finish login activity so user can't go back

}

else -> {

Toast.makeText(this, "Invalid Username or Password",

Toast.LENGTH_SHORT).show()

}

}

}}

}

5A_Activity_main2.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=".MainActivity2">

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginStart="162dp"

android:layout_marginTop="239dp"

android:layout_marginEnd="192dp"

android:layout_marginBottom="337dp"

android:text="TextView"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

5A_MainActivity2.kt

package com.example.practical5_6_7_8

import androidx.appcompat.app.AppCompatActivity

import android.os.Bundle

import android.widget.TextView

class MainActivity2 : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main2)

val welcomeText = findViewById<TextView>(R.id.textView1)

welcomeText.text = "Welcome to Home Page!"

}

}

PRACTICAL 5B

5B_menuoption.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:title="Copy"

android:id="@+id/copy"

android:icon="@drawable/copy_icon"

app:showAsAction="ifRoom"

/>

<item

android:id="@+id/download"

android:icon="@drawable/download_icon"

app:showAsAction="never"

android:title="Download" />

<item

app:showAsAction="always"

android:id="@+id/settings"

android:icon="@drawable/setting_icon"

android:title="Settings" />

<item

android:id="@+id/print"

android:title="Print"

android:icon="@drawable/print_icon"

app:showAsAction="withText"/>

<item

android:id="@+id/paste"

android:title="Paste"

android:icon="@drawable/paste_icon"

app:showAsAction="ifRoom"/>

</menu>

5B_themes.xml

<resources xmlns:tools="http://schemas.android.com/tools">

<!-- Base application theme. -->

<style name="Base.Theme.Practical5_6_7_8" parent="Theme.Material3.DayNight">

<!-- Customize your light theme here. -->

<!-- <item name="colorPrimary">@color/my_light_primary</item> -->

</style>

<style name="Theme.Practical5_6_7_8" parent="Base.Theme.Practical5_6_7_8" />

</resources>

5B_MainActivity.kt

package com.example.practical5_6_7_8

import android.content.Intent

import android.net.Uri

import androidx.appcompat.app.AppCompatActivity

import android.os.Bundle

import android.provider.Settings

import android.view.Menu

import android.view.MenuItem

import android.widget.Button

import android.widget.EditText

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.menuoption, menu)

return true

}

override fun onOptionsItemSelected(item: MenuItem): Boolean {

when (item.itemId) {

R.id.copy -> {

Toast.makeText(this, "702_Copy Selected", Toast.LENGTH_SHORT).show()

}

R.id.download -> {

Toast.makeText(this, "702_Download selected",Toast.LENGTH_SHORT).show()

}

R.id.print -> {

Toast.makeText(this,"702_Print selected ", Toast.LENGTH_SHORT).show()

}

R.id.paste -> {

Toast.makeText(this, "702_Paste selected",Toast.LENGTH_SHORT).show()

}

R.id.settings -> {

Toast.makeText(this, "702_Settings selected",Toast.LENGTH_SHORT).show()

}

else -> return super.onOptionsItemSelected(item)

}

return true

}

}

5B_Strings.xml

<resources>

<string name="app_name">Menu Options - 724</string>

</resources>

Comments

Popular posts from this blog

python(BI)

Prac_8(AMP)

LSA10