ad2c9d43c5f6dfb6e8f7c129eeb8936dab77f04c
Folder Redirect App
Aplicación Android para redireccionar archivos entre carpetas automáticamente.
Características
- ✅ Agregar reglas de redirección (carpeta origen → carpeta destino)
- ✅ Editar reglas existentes
- ✅ Eliminar reglas
- ✅ Activar/desactivar reglas individualmente
- ✅ Filtro por tipo de archivo (Documentos, Imágenes, Videos)
- ✅ Filtro por patrón de nombre (ej: RDT*, invoice_*, *.pdf)
- ✅ Solución híbrida de batería: Polling rápido cuando la app está abierta + WorkManager en segundo plano
- ✅ Servicio en segundo plano que monitorea las carpetas
- ✅ Mueve archivos automáticamente cuando llegan a la carpeta de origen
- ✅ Manejo de nombres duplicados (agrega timestamp)
Requisitos
- Android 7.0 (API 24) o superior
- Permisos de almacenamiento
Permisos
La app solicita los siguientes permisos:
READ_EXTERNAL_STORAGE- Leer archivos de la carpeta de origenWRITE_EXTERNAL_STORAGE- Escribir archivos en la carpeta de destinoMANAGE_EXTERNAL_STORAGE- Acceso completo al almacenamiento (Android 11+)FOREGROUND_SERVICE- Ejecutar servicio en segundo plano
Cómo usar
-
Abrir la app - Al iniciar, solicita permisos de almacenamiento
-
Agregar regla:
- Presiona el botón flotante
+ - Ingresa la ruta absoluta de la carpeta de origen (ej:
/storage/emulated/0/Download) - Ingresa la ruta absoluta de la carpeta de destino (ej:
/storage/emulated/0/MisDocumentos) - Presiona "Guardar"
- Presiona el botón flotante
-
Iniciar servicio:
- Presiona el botón "Iniciar Servicio"
- El servicio se ejecutará en segundo plano monitoreando las carpetas
-
Gestionar reglas:
- Usa el switch para activar/desactivar reglas individualmente
- Presiona el ícono de editar para modificar una regla
- Presiona el ícono de eliminar para borrar una regla
Notas Importantes
- Las carpetas de origen y destino deben existir antes de crear la regla
- El servicio se detiene al cerrar la app (presionar "Detener Servicio")
- Los archivos con nombres duplicados reciben un timestamp para evitar sobrescritura
- Solo se monitorean archivos nuevos, no subcarpetas
Estructura del Proyecto
app/src/main/java/com/folderredirect/app/
├── MainActivity.kt # Actividad principal
├── FolderRule.kt # Modelo de datos
├── FolderRuleAdapter.kt # Adapter para RecyclerView
├── FolderMonitorService.kt # Servicio de monitoreo
└── RulesManager.kt # Gestión de almacenamiento de reglas
app/src/main/res/layout/
├── activity_main.xml # Layout principal
├── item_folder_rule.xml # Item de la lista
└── dialog_rule.xml # Diálogo para agregar/editar
Compilación
# Abrir en Android Studio o compilar desde terminal
./gradlew assembleDebug
# El APK se generará en:
# app/build/outputs/apk/debug/app-debug.apk
Tecnologías
- Kotlin
- Androidx
- Material Design 3 (Dynamic Colors)
- RecyclerView
- Foreground Service
- WorkManager (segundo plano eficiente)
- WatchService (Java NIO)
- Gson (persistencia)
💡 Solución Híbrida de Batería
La app usa un enfoque inteligente para ahorrar batería:
Cuando la app está abierta:
- ⚡ Polling rápido (10 segundos) - Movimiento casi instantáneo
- 📱 El servicio en primer plano monitorea constantemente
Cuando la app está cerrada:
- 🔋 WorkManager (15 minutos) - Bajo consumo
- 🔄 El sistema ejecuta verificaciones periódicas eficientes
- 💤 Respeta el modo Doze y ahorro de batería
Ventajas:
- ✅ Movimiento rápido cuando usas la app
- ✅ Ahorro de batería cuando está cerrada
- ✅ Funciona incluso si cierras la app
- ✅ Android no mata el proceso en segundo plano