Files
cuidamais_med/docs/05_EditarPerfilActivity.md
2026-04-22 12:41:12 +01:00

1.9 KiB
Raw Blame History

✏️ EditarPerfilActivity.java — Edição do Perfil

Ficheiro: app/src/main/java/com/example/medcuida/pro/EditarPerfilActivity.java
Layout: activity_editar_perfil.xml | Linhas: 125


Descrição Geral

Permite ao médico editar os seus dados pessoais: nome, especialidade e género. As alterações são guardadas simultaneamente nas coleções utilizadores e medicos do Firestore.


Campos Editáveis

Campo Tipo de Input Obrigatório
Nome completo TextInputEditText Sim
Especialidade TextInputEditText Sim
Género AutoCompleteTextView (dropdown) Não
Email TextInputEditText (só leitura)

Inicialização (onCreate) — Linhas 3259

  1. Verifica autenticação — se não há utilizador, fecha a Activity
  2. Associa as views do layout
  3. Configura o dropdown de género com 3 opções: Masculino, Feminino, Outro
  4. Botão Voltarfinish()
  5. Botão GuardarguardarAlteracoes()
  6. Chama carregarDados() para preencher os campos atuais

carregarDados() — Linhas 7183

db.collection("utilizadores").document(currentUserId).get()
  • Lê o documento do médico na coleção utilizadores
  • Preenche os campos: nome_completo, especialidade, email, sexo
  • Em caso de erro → mostra toast

guardarAlteracoes() — Linhas 86123

Validações (Linhas 8799)

  • Nome não pode estar vazio
  • Especialidade não pode estar vazia

Gravação (Linhas 101122)

Map<String, Object> updates = new HashMap<>();
updates.put("nome_completo", name);
updates.put("especialidade", specialty);
updates.put("sexo", gender);
  1. Desativa o botão para evitar duplo clique
  2. Atualiza na coleção utilizadores
  3. Também atualiza em medicos para manter sincronizado
  4. Sucesso → mostra toast + finish()
  5. Erro → reativa o botão