From 48a3328dde7b7a0a863f964f7be3fc6c6a9f63f3 Mon Sep 17 00:00:00 2001 From: 230417 <230417@epvc.pt> Date: Tue, 18 Nov 2025 17:06:01 +0000 Subject: [PATCH] logine registro --- .idea/compiler.xml | 6 ++ .idea/deploymentTargetSelector.xml | 10 +++ app/build.gradle.kts | 1 + app/src/main/AndroidManifest.xml | 62 +++++++++++-------- .../com/example/smartagenda/ui/Login.java | 56 +++++++++++++++++ .../com/example/smartagenda/ui/Registro.java | 52 ++++++++++++++++ .../main/res/drawable/rounded_edittext.xml | 7 +++ app/src/main/res/layout/activity_login.xml | 10 +++ app/src/main/res/layout/activity_registro.xml | 60 ++++++++++++++++++ 9 files changed, 239 insertions(+), 25 deletions(-) create mode 100644 .idea/compiler.xml create mode 100644 .idea/deploymentTargetSelector.xml create mode 100644 app/src/main/java/com/example/smartagenda/ui/Login.java create mode 100644 app/src/main/java/com/example/smartagenda/ui/Registro.java create mode 100644 app/src/main/res/drawable/rounded_edittext.xml create mode 100644 app/src/main/res/layout/activity_login.xml create mode 100644 app/src/main/res/layout/activity_registro.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..b86273d --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..b268ef3 --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bf7a1c7..9ba7386 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -46,5 +46,6 @@ dependencies { implementation(libs.credentials.play.services.auth) implementation(libs.googleid) implementation(libs.firebase.database) + implementation(libs.activity) } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 551e598..d16227a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,25 +1,37 @@ - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/example/smartagenda/ui/Login.java b/app/src/main/java/com/example/smartagenda/ui/Login.java new file mode 100644 index 0000000..13c3362 --- /dev/null +++ b/app/src/main/java/com/example/smartagenda/ui/Login.java @@ -0,0 +1,56 @@ +package com.example.smartagenda; + +import android.content.Intent; +import android.os.Bundle; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import androidx.appcompat.app.AppCompatActivity; + +import com.google.firebase.auth.FirebaseAuth; + +public class Login extends AppCompatActivity { + + private EditText campoEmail, campoPassword; + private Button btnEntrar, btnIrParaRegisto; + + private FirebaseAuth auth; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login); + + campoEmail = findViewById(R.id.campoEmail); + campoPassword = findViewById(R.id.campoPassword); + btnEntrar = findViewById(R.id.btnEntrar); + btnIrParaRegisto = findViewById(R.id.btnIrParaRegisto); + + auth = FirebaseAuth.getInstance(); + + btnEntrar.setOnClickListener(v -> { + String email = campoEmail.getText().toString(); + String password = campoPassword.getText().toString(); + + if (email.isEmpty() || password.isEmpty()) { + Toast.makeText(this, "Preencha todos os campos!", Toast.LENGTH_SHORT).show(); + return; + } + + auth.signInWithEmailAndPassword(email, password) + .addOnSuccessListener(aVoid -> { + Toast.makeText(this, "Login efetuado!", Toast.LENGTH_SHORT).show(); + startActivity(new Intent(this, MainActivity.class)); + finish(); + }) + .addOnFailureListener(e -> + Toast.makeText(this, "Erro: " + e.getMessage(), Toast.LENGTH_LONG).show() + ); + }); + + btnIrParaRegisto.setOnClickListener(v -> + startActivity(new Intent(this, Registro.class)) + ); + } +} diff --git a/app/src/main/java/com/example/smartagenda/ui/Registro.java b/app/src/main/java/com/example/smartagenda/ui/Registro.java new file mode 100644 index 0000000..2e2d9e1 --- /dev/null +++ b/app/src/main/java/com/example/smartagenda/ui/Registro.java @@ -0,0 +1,52 @@ +package com.example.smartagenda; + +import android.content.Intent; +import android.os.Bundle; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import androidx.appcompat.app.AppCompatActivity; + +import com.google.firebase.auth.FirebaseAuth; + +public class Registro extends AppCompatActivity { + + private EditText campoEmail, campoPassword; + private Button btnCriarConta; + + private FirebaseAuth auth; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_registro); + + campoEmail = findViewById(R.id.campoEmailRegisto); + campoPassword = findViewById(R.id.campoPasswordRegisto); + btnCriarConta = findViewById(R.id.btnCriarConta); + + auth = FirebaseAuth.getInstance(); + + btnCriarConta.setOnClickListener(v -> { + + String email = campoEmail.getText().toString(); + String password = campoPassword.getText().toString(); + + if (email.isEmpty() || password.isEmpty()) { + Toast.makeText(this, "Preencha todos os campos!", Toast.LENGTH_SHORT).show(); + return; + } + + auth.createUserWithEmailAndPassword(email, password) + .addOnSuccessListener(aVoid -> { + Toast.makeText(this, "Conta criada!", Toast.LENGTH_SHORT).show(); + startActivity(new Intent(this, Login.class)); + finish(); + }) + .addOnFailureListener(e -> + Toast.makeText(this, "Erro: " + e.getMessage(), Toast.LENGTH_LONG).show() + ); + }); + } +} diff --git a/app/src/main/res/drawable/rounded_edittext.xml b/app/src/main/res/drawable/rounded_edittext.xml new file mode 100644 index 0000000..f6f5593 --- /dev/null +++ b/app/src/main/res/drawable/rounded_edittext.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..2949760 --- /dev/null +++ b/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_registro.xml b/app/src/main/res/layout/activity_registro.xml new file mode 100644 index 0000000..22499dc --- /dev/null +++ b/app/src/main/res/layout/activity_registro.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + +