corrige o erro da camera e da ia não funcionar e mudar o layout futuramente

This commit is contained in:
2026-05-06 12:48:08 +01:00
parent a5ee481b39
commit e480abd98e
30 changed files with 1807 additions and 1039 deletions

View File

@@ -1,39 +1,51 @@
package com.example.pap;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class PerfilActivity extends AppCompatActivity {
private TextView tvPerfilNome, tvPerfilPontos, tvPerfilDesafios, tvPerfilSequencia;
private Button btnDefinicoes, btnVoltarPerfil;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_perfil);
Button btnVoltar = findViewById(R.id.btnVoltarPerfil);
Button btnSair = findViewById(R.id.btnSair);
tvPerfilNome = findViewById(R.id.tvPerfilNome);
tvPerfilPontos = findViewById(R.id.tvPerfilPontos);
tvPerfilDesafios = findViewById(R.id.tvPerfilDesafios);
tvPerfilSequencia = findViewById(R.id.tvPerfilSequencia);
btnDefinicoes = findViewById(R.id.btnDefinicoes);
btnVoltarPerfil = findViewById(R.id.btnVoltarPerfil);
// Voltar à Home
btnVoltar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
btnDefinicoes.setOnClickListener(v -> {
startActivity(new Intent(PerfilActivity.this, DefinicoesActivity.class));
});
// Terminar Sessão (Voltar ao Login e limpar a Home)
btnSair.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(PerfilActivity.this, LoginActivity.class);
// Estas flags garantem que o utilizador não consegue clicar em "Voltar" no telemóvel e ir para a Home de novo
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
}
});
btnVoltarPerfil.setOnClickListener(v -> finish());
}
// A MAGIA ACONTECE AQUI: Atualiza os dados sempre que o ecrã aparece!
@Override
protected void onResume() {
super.onResume();
SharedPreferences prefs = getSharedPreferences("MeusDadosApp", MODE_PRIVATE);
String nome = prefs.getString("nome", "Utilizador");
int pontos = prefs.getInt("pontos", 0);
int desafios = prefs.getInt("desafios_concluidos", 0);
int streak = prefs.getInt("sequencia_diaria", 1);
tvPerfilNome.setText(nome);
tvPerfilPontos.setText(String.valueOf(pontos));
tvPerfilDesafios.setText(String.valueOf(desafios));
tvPerfilSequencia.setText(String.valueOf(streak));
}
}