Skip to content

This is a complete Android app that consumes the PokeAPI to retrieve and display detailed information about Pokémon. The app features a modern and intuitive interface with gradients, animations, and a responsive design.

License

Notifications You must be signed in to change notification settings

natsalete/PokeDex

Repository files navigation

🇧🇷 Versão em Português

📱 PokéDex App - Aplicativo Android com Kotlin

🎯 Sobre o Projeto

Este é um aplicativo Android completo que consome a PokeAPI para buscar e exibir informações detalhadas sobre Pokémon. O app possui uma interface moderna e intuitiva com gradientes, animações e um design responsivo.

✨ Funcionalidades

  • 🔍 Busca de Pokémon por nome ou número
  • 🖼️ Exibição de imagem oficial do Pokémon
  • 🏷️ Visualização dos tipos com cores correspondentes
  • 📊 Gráficos animados de estatísticas (HP, Attack, Defense, Speed)
  • 📏 Informações de altura e peso
  • 🎨 Design moderno com gradientes e animações suaves
  • ⚡ Carregamento assíncrono com Coroutines
  • 🌐 Consumo de API REST (PokeAPI)

🛠️ Tecnologias Utilizadas

  • Linguagem: Kotlin
  • UI: XML Layout com Material Design Components
  • Async: Kotlin Coroutines
  • Networking: URL conexão nativa do Android
  • Image Loading: Glide
  • API: PokeAPI

🚀 Como Executar

Pré-requisitos

  1. Android Studio (versão Hedgehog ou superior)
  2. JDK 8 ou superior
  3. SDK Android com API Level 24 ou superior
  4. Conexão com a internet

Passos para Instalação

  1. Clone ou crie o projeto no Android Studio:

    File > New > New Project > Empty Activity
    
  2. Configure o projeto:

    • Nome: PokéDex
    • Package: com.example.pokedex
    • Language: Kotlin
    • Minimum SDK: API 24
  3. Substitua os arquivos:

    • Cole o conteúdo do build.gradle no arquivo do módulo app
    • Substitua o AndroidManifest.xml
    • Substitua o activity_main.xml em res/layout/
    • Crie os arquivos drawable em res/drawable/
    • Substitua/crie os arquivos em res/values/
    • Crie as classes Kotlin no pacote principal
  4. Adicione um ícone de pokébola:

    • Baixe um ícone de pokébola e adicione em res/drawable/ como pokeball_icon.xml ou .png
    • Ou use um ícone padrão do Android temporariamente
  5. Sync Gradle:

    File > Sync Project with Gradle Files
    
  6. Execute o app:

    • Conecte um dispositivo Android ou inicie um emulador
    • Clique em Run ▶️ ou pressione Shift + F10

🎮 Como Usar

  1. Digite o nome de um Pokémon (ex: pikachu, charizard, mewtwo)
  2. Ou digite o número (ex: 1, 25, 150)
  3. Clique em "Buscar Pokémon"
  4. Visualize as informações:
    • Imagem oficial
    • Tipos com cores específicas
    • Estatísticas com barras de progresso animadas
    • Altura e peso

📱 Screenshots

O aplicativo possui:

  • Tela inicial com fundo gradiente roxo
  • Card de busca branco com campo de texto e botão estilizado
  • Card de resultado com:
    • Cabeçalho amarelo com imagem do Pokémon
    • Nome e número
    • Badges dos tipos
    • Estatísticas com barras de progresso verdes
    • Informações de altura e peso

🎨 Paleta de Cores

  • Background: Gradiente #764ba2 → #667eea
  • Botão: Gradiente #f29263 → #ee5a6f
  • Card Header: Gradiente #fdcb6e → #ffeaa7
  • Progress Bar: Gradiente #55efc4 → #00b894
  • Tipos: Cores específicas para cada tipo de Pokémon

📡 API Utilizada

PokeAPI: https://pokeapi.co/api/v2/pokemon/{nome-ou-numero}

Exemplo de Resposta:

{
  "id": 25,
  "name": "pikachu",
  "height": 4,
  "weight": 60,
  "types": [...],
  "stats": [...],
  "sprites": {
    "other": {
      "official-artwork": {
        "front_default": "url-da-imagem"
      }
    }
  }
}

🔧 Possíveis Melhorias

  • Adicionar cache de dados offline
  • Implementar lista de Pokémon favoritos
  • Adicionar paginação para listar todos os Pokémon
  • Incluir mais estatísticas (Special Attack, Special Defense)
  • Adicionar sons e efeitos sonoros
  • Implementar busca por tipo
  • Adicionar modo escuro/claro
  • Salvar histórico de buscas
  • Adicionar informações de evolução

⚠️ Observações Importantes

  1. Permissão de Internet: Certifique-se de que as permissões estão no AndroidManifest.xml
  2. Cleartext Traffic: Habilitado para permitir conexões HTTP
  3. Glide: Necessário para carregamento de imagens
  4. Coroutines: Usadas para operações assíncronas
  5. Nomes: A API aceita nomes em inglês e minúsculas

👨‍💻 Desenvolvedor

Desenvolvido com ❤️ para aprendizado de desenvolvimento Android.

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Se este projeto foi útil para você, não esqueça de dar uma estrela!

📱 PokéDex App - Android App with Kotlin

🎯 About the Project

This is a complete Android app that consumes the PokeAPI to retrieve and display detailed information about Pokémon. The app features a modern and intuitive interface with gradients, animations, and a responsive design.

✨ Features

  • 🔍 Search for Pokémon by name or number
  • 🖼️ Display of official Pokémon image
  • 🏷️ View types with corresponding colors
  • 📊 Animated stat graphs (HP, Attack, Defense, Speed)
  • 📏 Height and weight information
  • 🎨 Modern design with gradients and smooth animations
  • ⚡ Asynchronous loading with Coroutines
  • 🌐 REST API consumption (PokeAPI)

🛠️ Technologies Used

  • Language: Kotlin
  • UI: XML Layout with Material Design Components
  • Async: Kotlin Coroutines
  • Networking: Native Android connection URL
  • Image Loading: Glide
  • API: PokeAPI

🚀 How to Run

Prerequisites

  1. Android Studio (Hedgehog version or higher)
  2. JDK 8 or higher
  3. Android SDK with API Level 24 or higher
  4. Internet connection

Installation Steps

  1. Clone or create the project in Android Studio:
File > New > New Project > Empty Activity
  1. Configure the project:
  • Name: PokéDex
  • Package: com.example.pokedex
  • Language: Kotlin
  • Minimum SDK: API 24
  1. Replace the files:
  • Paste the contents of build.gradle into the app module file
  • Replace AndroidManifest.xml
  • Replace activity_main.xml with res/layout/
  • Create the drawable files in res/drawable/
  • Replace/create the files in res/values/
  • Create the Kotlin classes in the main package
  1. Add a Pokéball icon:
  • Download a Pokéball icon and add it to res/drawable/ as pokeball_icon.xml or .png
  • Or use a default Android icon temporarily
  1. Sync Gradle:
File > Sync Project with Gradle Files
  1. Run the app:
  • Connect an Android device or launch an emulator
  • Click Run ▶️ or press Shift + F10

🎮 How to Use

  1. Enter the name of a Pokémon (e.g., Pikachu, Charizard, Mewtwo)
  2. Or enter the number (e.g., 1, 25, 150)
  3. Click "Search Pokémon"
  4. View the information:
  • Official image
  • Types with specific colors
  • Stats with animated progress bars
  • Height and weight

📱 Screenshots

The app features:

  • Home screen with a purple gradient background
  • Search card in white with a text field and stylized button
  • Result card with:
  • Yellow header with a Pokémon image
  • Name and number
  • Type badges
  • Stats with green progress bars
  • Height and weight information

🎨 Color Palette

  • Background: Gradient #764ba2 → #667eea
  • Button: Gradient #f29263 → #ee5a6f
  • Card Header: Gradient #fdcb6e → #ffeaa7
  • Progress Bar: Gradient #55efc4 → #00b894
  • Types: Specific colors for each Pokémon type

📡 API Used

PokeAPI: https://pokeapi.co/api/v2/pokemon/{name-or-number}

Example Response:

{
"id": 25,
"name": "pikachu",
"height": 4,
"weight": 60,
"types": [...],
"stats": [...],
"sprites": {
"other": {
"official-artwork": {
"front_default": "image-url"
}
}
}
}

🔧 Possible Improvements

  • Add Offline data cache
  • Implement a list of favorite Pokémon
  • Add pagination to list all Pokémon
  • Include more stats (Special Attack, Special Defense)
  • Add sounds and sound effects
  • Implement search by type
  • Add dark/light mode
  • Save search history
  • Add evolution information

⚠️ Important Notes

  1. Internet Permission: Make sure the permissions are in AndroidManifest.xml
  2. Cleartext Traffic: Enabled to allow HTTP connections
  3. Glide: Required for loading images
  4. Coroutines: Used for asynchronous operations
  5. Names: The API accepts names in English and lowercase

👨‍💻 Developer

Developed with ❤️ for Android development learning.

📄 License

This project is licensed under the MIT License. See the LICENSE file for more details.


If this project was useful to you, don't forget to give it a star!

About

This is a complete Android app that consumes the PokeAPI to retrieve and display detailed information about Pokémon. The app features a modern and intuitive interface with gradients, animations, and a responsive design.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages