Como fazer login estático com kotlin

Como fazer login estático com kotlin

Data: 05/04/2020 | Autor: Rodrigo Leutz

Nesse tutorial vou descrever como fazer login estático com kotlin com acesso a uma activity, para que assim você entenda checagem de variáveis.

Primeiramente vamos criar um projeto vazio(Empty), se você ainda não sabe como fazer de uma olhada no link.

Logo após ter criado o novo projeto vamos então começar a editar nossos arquivos para que tudo funcione.

Então vamos começar pelos arquivo de layout, o primeiro que vamos editar é nosso arquivo de strings para que o projeto já contenha todas elas.

Em nosso arquivo string.xml vamos deixar da seguinte maneira.

<resources>
    <string name="app_name">Login Estático</string>

    <string name="login">Login</string>
    <string name="passwd">Senha</string>
    <string name="enter">Entrar</string>

    <string name="login_OK">Você logou no sistema com sucesso.</string>
    <string name="login_ERR">Você não está autorizado a utilizar o sistema.</string>
</resources>




Após ter modificado nosso arquivo de strings vamos criar uma nova activity para que de a resposta sobre o login com o nome de RespActivity.

Se você não sabe como criar uma nova activity veja o tutorial do link.

Chegou a hora de modificar nossos arquivos de layout, então vamos começar modificando o activity_main e o código deve ficar como o seguinte.

<?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="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/app_name"
        android:textSize="30dp"
        android:textStyle="bold"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/layLogin"/>
    <LinearLayout
        android:id="@+id/layLogin"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_margin="16dp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/login"/>
        <EditText
            android:id="@+id/etLogin"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/passwd"/>
        <EditText
            android:id="@+id/etPasswd"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPassword"/>
    </LinearLayout>
    <Button
        android:id="@+id/btnEnter"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/enter"
        app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

Nesse momento vamos modificar nosso ultimo layout que é o activity_resp deixando da seguinte forma.

<?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=".RespActivity">
    <TextView
        android:id="@+id/tvResp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="30dp"
        android:layout_margin="16dp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>




Agora chegou a hora de trabalhar em nossas duas Activities.

Vamo modificar primeiro nossa MainActivity deixando da seguinte maneira.

package br.com.uware.loginesttico

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        btnEnter.setOnClickListener {
            val intent = Intent(this, RespActivity::class.java)
            if (etLogin.text.toString() == "usuario" && etPasswd.text.toString() == "1234"){
                intent.putExtra("result", getString(R.string.login_OK))
            }
            else {
                intent.putExtra("result", getString(R.string.login_ERR))
            }
            startActivity(intent)
        }
    }
}

E para terminar vamos modificar a RespActivity para receber a resposta enviada pela nossa MainActivity.

Então vamos deicar nossa RespActivity da seguinte maneira.

package br.com.uware.loginesttico

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_resp.*

class RespActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_resp)
        tvResp.text = intent.getStringExtra("result")
    }
}

Agora é só compilar e executar o projeto para ver como funciona.

Enfim espero poder ter ajudado com mais este tutorial sobre como fazer login estático com kotlin e que você agora consiga começar a fazer seus sistemas de login.

Veja também nosso canal no YouTube.





Tags: , , ,

Autor Rodrigo Leutz
Rodrigo Leutz

Desenvolvedor Web e Android ( Kotlin e Java )