Skip to content

Flet en Python Android APK crea una interfaz moderna, responsiva y funcional para buscar repositorios de GitHub relacionados con Termux, y está pensado para ser una guía educativa para que los usuarios puedan crear su propia app. Vamos a desglosarlo por secciones para entender su funcionalidad.

Notifications You must be signed in to change notification settings

andromux/flet-app-github-search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flet en Python crea un Apk android una interfaz moderna, responsiva y funcional

para buscar repositorios de GitHub relacionados con "Termux", y está pensado para ser una guía educativa para que los usuarios puedan crear su propia app. Vamos a desglosarlo por secciones para entender su funcionalidad y cómo podrías replicarla o modificarla.


¿Te gustó este repositorio?

¡Regálame una estrella o haz un fork si quieres contribuir!

GitHub Stars GitHub Forks

  1. Estructura General
import flet as ft
import httpx
from datetime import datetime

flet: librería para crear interfaces gráficas responsivas con Python.

httpx: cliente HTTP para hacer peticiones a la API de GitHub.

datetime: para convertir y formatear fechas.


  1. Clase GitHubRepo
class GitHubRepo:
    def __init__(self, repo_data):

Esta clase convierte los datos crudos del JSON de GitHub en un objeto organizado. Esto ayuda a manejar la información más fácilmente cuando se crea la UI.


  1. Configuración de la página
page.title = "Termux GitHub Hunter"
page.theme_mode = ft.ThemeMode.DARK

Establece título, modo oscuro, color de fondo, scroll automático, y padding.

Esta sección define la base visual de la app.


  1. AppBar personalizada con botones sociales
def setup_appbar():

Usa ft.AppBar para mostrar el nombre de la app y botones que abren redes sociales en el navegador.

Los íconos se cargan desde imágenes locales (assets_dir="assets").


  1. Contenedor de resultados con diseño responsive
repos_container = ft.ResponsiveRow(...)

Usa ResponsiveRow, que adapta el número de columnas en función del tamaño de pantalla.

Cada tarjeta de repositorio se adapta usando col={"xs": 12, "md": 6, "lg": 4}.


  1. Formato de fecha y tamaño
def format_date(date_str):
def format_size(size_kb):

Convierte datos como "2023-11-24T23:00:00Z" a "24/11/2023".

Convierte KB a MB si es mayor de 1024.


  1. Tarjeta interactiva de repositorio
def create_repo_card(repo: GitHubRepo): ...

Cada tarjeta tiene vista resumida y vista detallada.

Usa AnimatedSwitcher para cambiar entre ambas con animación SCALE.


  1. Buscar repositorios en GitHub
def search_repos(term="termux", append=False):

Hace una petición a https://api.github.com/search/repositories.

Usa paginación (page=1, 2...) para cargar más resultados.

Controla si borra los resultados previos (append=False) o agrega más (append=True).


  1. Buscador
search_field = ft.TextField(...)
search_btn = ft.ElevatedButton(...)

Input para que el usuario escriba su búsqueda.

El botón lanza search_repos() con el término ingresado.


  1. Diseño responsive
ft.ResponsiveRow([search_field, search_btn], spacing=10)

Hace que los elementos se acomoden según el ancho de pantalla.

Gracias a las propiedades col={"xs": 12, "md": 9}, funciona perfecto en móviles y escritorio.


  1. Ejecución
ft.app(target=main, assets_dir="assets")

Lanza la app y carga las imágenes sociales desde la carpeta assets.


¿Cómo puedes crear la tuya?

Paso a paso:

  1. Piensa en una fuente de datos pública: usa una API como GitHub, YouTube, Reddit, etc.

  2. Crea una clase que modele esos datos (GitHubRepo).

  3. Diseña la interfaz con Flet:

Usa TextField, ElevatedButton, Container, ResponsiveRow.

Añade animaciones (AnimatedSwitcher) para interactividad.

  1. Haz tu diseño responsive:

Usa col={"xs": 12, "md": 6, "lg": 4} en contenedores.

  1. Agrega eventos con on_click, on_submit, y actualiza con page.update().

About

Flet en Python Android APK crea una interfaz moderna, responsiva y funcional para buscar repositorios de GitHub relacionados con Termux, y está pensado para ser una guía educativa para que los usuarios puedan crear su propia app. Vamos a desglosarlo por secciones para entender su funcionalidad.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages