noticias funcionais
This commit is contained in:
@@ -94,3 +94,46 @@ Foi criada toda a infraestrutura base e a interface visual para acomodar os "Mel
|
||||
|
||||
**O que foi removido**
|
||||
- Nenhuma funcionalidade removida. O código consiste numa extensão (feature) 100% nova.
|
||||
|
||||
## Relatório de Intervenção (Implementação da Secção de Notícias)
|
||||
|
||||
**Progresso Geral Atualizado**
|
||||
Foi implementado um novo sistema de notícias que permite à app exibir as novidades mais recentes da AFAVCD. O sistema é composto por um scraper que recolhe os dados da API oficial e uma nova interface na app Android que apresenta as notícias num formato de resumo visualmente apelativo (cards), seguindo a estética solicitada.
|
||||
|
||||
**O que foi criado ou adicionado**
|
||||
- **No Scraper (Java):**
|
||||
- Criado o modelo `News.java`.
|
||||
- Criado o `NewsScraper.java` que extrai dados de `https://api.afavcd.pt/news/1` e sincroniza-os com o nó `noticias` na Firebase.
|
||||
- **Na App Android:**
|
||||
- Adicionado o modelo `News.java` com mapeamento para os campos da Firebase.
|
||||
- Desenvolvido o layout `item_news.xml` com um design premium (Imagens de destaque, títulos em cyan e resumos limpos).
|
||||
- Criado o `fragment_news.xml` com um cabeçalho personalizado e uma `RecyclerView`.
|
||||
- Implementados o `NewsAdapter.java` (com limpeza de tags HTML do corpo da notícia) e o `NewsFragment.java`.
|
||||
- Integrada a nova secção no menu lateral (`activity_main_drawer.xml`), no grafo de navegação (`mobile_navigation.xml`) e configurada como destino de topo na `MainActivity.java`.
|
||||
|
||||
**O que foi modificado e porquê**
|
||||
- `strings.xml`: Adicionada a label "Notícias" para internacionalização e uso no menu.
|
||||
- `MainActivity.java`: Atualizada a `AppBarConfiguration` para incluir o novo fragmento de notícias, garantindo que o menu lateral esteja disponível em vez do botão de retrocesso.
|
||||
- `mobile_navigation.xml` e `activity_main_drawer.xml`: Atualizados para permitir a navegação para a nova funcionalidade.
|
||||
|
||||
**O que foi removido**
|
||||
- Nenhuma funcionalidade foi removida. O projeto foi expandido com uma nova feature.
|
||||
|
||||
## Relatório de Intervenção (Ecrã de Ínicio / Notícias)
|
||||
|
||||
**Progresso Geral Atualizado**
|
||||
As notícias foram promovidas a ecrã principal (Ínicio) da aplicação. A secção de notícias é agora a primeira a ser apresentada quando o utilizador abre a app e o ecrã foi sujeito a uma profunda revisão estética para apresentar uma leitura mais imersiva, moderna e limpa (Cards formatados).
|
||||
|
||||
**O que foi criado ou adicionado**
|
||||
- Nenhuma class nova foi criada. O foco foi estritamente na reorganização e melhoria de UI e UX.
|
||||
- Adicionada lógica de parsing e formatação da data no `NewsAdapter.java` para converter strings ISO complexas (`"2026-04-20T20:05:01.000Z"`) em datas humanamente legíveis e agradáveis (e.g. `20 abr 2026`).
|
||||
|
||||
**O que foi modificado e porquê**
|
||||
- `strings.xml`: A string `@string/menu_news` foi alterada de "Notícias" para "Ínicio" para corresponder à semântica desejada pelo utilizador para o ecrã de entrada.
|
||||
- `mobile_navigation.xml`: O `startDestination` foi alterado de `nav_home` (Classificações) para `nav_news` (Ínicio/Notícias) para garantir que a app abre logo nas notícias recentes.
|
||||
- `activity_main_drawer.xml`: O item `nav_news` foi movido para o topo do menu para respeitar a hierarquia visual.
|
||||
- `fragment_news.xml`: Removido o cabeçalho cyan ("Notícias"), integrando perfeitamente a lista com a barra de ferramentas nativa da aplicação Android.
|
||||
- `item_news.xml`: Completamente redesenhado. Adicionado um layout `MaterialCardView` com cantos mais arredondados, margens e sombras otimizadas, e melhorada drasticamente a hierarquia tipográfica (cores neutras premium `#1F2937` e `#4B5563`, e a imagem a ocupar a largura total do card).
|
||||
|
||||
**O que foi removido**
|
||||
- O cabeçalho estático no ficheiro `fragment_news.xml` foi removido para promover um design mais nativo e espaçoso.
|
||||
|
||||
Reference in New Issue
Block a user