221 lines
7.1 KiB
Markdown
Executable File
221 lines
7.1 KiB
Markdown
Executable File
# Recordatorios
|
|
|
|
App Android de notas y recordatorios con Material 3 Dynamic Colors (Monet).
|
|
|
|
## Funcionalidades
|
|
|
|
- **Notas** con título y contenido multilínea
|
|
- **Recordatorios** con fecha y hora exacta (AlarmManager)
|
|
- **Recurrencia**: diaria, semanal, mensual, anual
|
|
- **Notificaciones** push al cumplirse la fecha, incluso con la app cerrada
|
|
- **Tabs**: Hoy (tareas del día), Pendientes (futuros), Eliminados (papelera)
|
|
- **Check**: completa una nota y la envía a Eliminados; si es recurrente, adelanta al próximo período
|
|
- **Buscador** por título y contenido en tiempo real
|
|
- **Papelera** con restauración y borrado permanente
|
|
|
|
## Requisitos
|
|
|
|
- Android Studio Hedgehog (2023.1.1) o superior
|
|
- JDK 17
|
|
- Gradle 8.0
|
|
- compileSdk 34, minSdk 26
|
|
|
|
## Cómo ejecutar
|
|
|
|
```bash
|
|
git clone <repo>
|
|
cd Recordatorios
|
|
./gradlew assembleDebug
|
|
```
|
|
|
|
El APK se genera en `app/build/outputs/apk/debug/app-debug.apk`.
|
|
|
|
Si el SDK no está en `~/Android/Sdk`, crear `local.properties`:
|
|
|
|
```
|
|
sdk.dir=/ruta/al/Android/Sdk
|
|
```
|
|
|
|
## Estructura del proyecto
|
|
|
|
```
|
|
app/src/main/java/com/recordatorios/app/
|
|
├── MainActivity.kt # Actividad principal, maneja tabs, editor, filtros
|
|
├── Note.kt # Modelo de datos (data class)
|
|
├── NotesManager.kt # Persistencia con SharedPreferences + Gson
|
|
├── NoteAdapter.kt # RecyclerView adapter con expand/colapsar
|
|
├── ReminderReceiver.kt # BroadcastReceiver para notificaciones + recurrencia
|
|
└── ReminderScheduler.kt # AlarmManager (setExactAndAllowWhileIdle)
|
|
|
|
app/src/main/res/
|
|
├── layout/
|
|
│ ├── activity_main.xml # Toolbar, tabs, buscador, RecyclerView, FAB
|
|
│ ├── item_note.xml # Card con expand, check, fecha, acciones
|
|
│ └── dialog_note_editor.xml # Editor: título, contenido, recordatorio, recurrencia
|
|
├── drawable/ # Iconos vectoriales (pencil, trash, sun, clock, bell, check)
|
|
└── values/
|
|
├── themes.xml # Theme.Material3.DynamicColors.DayNight + NoActionBar
|
|
├── colors.xml
|
|
└── strings.xml # Español
|
|
```
|
|
|
|
## Flujo de desarrollo
|
|
|
|
1. **Modelo** → modificar `Note.kt` (agregar/quitar campos)
|
|
2. **Persistencia** → `NotesManager.kt` (SharedPreferences + Gson)
|
|
3. **UI** → layout XML + binding en `MainActivity.kt`
|
|
4. **Adapter** → `NoteAdapter.kt` para cambios en la lista
|
|
5. **Recordatorios** → `ReminderScheduler.kt` + `ReminderReceiver.kt`
|
|
6. **Compilar** → `./gradlew assembleDebug`
|
|
|
|
Si se agrega un campo a `Note.kt`, Gson lo serializa automáticamente. No hay migraciones de base de datos.
|
|
|
|
## Estilo
|
|
|
|
- Tema: `Theme.Material3.DynamicColors.DayNight` (colores dinámicos del wallpaper)
|
|
- Cards: `MaterialCardView`, 12dp radius, 2dp elevation
|
|
- TextFields: `OutlinedBox`
|
|
- Tabs con iconos vectoriales
|
|
- Sin ActionBar nativa — solo Toolbar personalizada
|
|
|
|
---
|
|
|
|
## Guía de Uso
|
|
|
|
### Introducción
|
|
|
|
Recordatorios es una aplicación Android para gestionar notas y recordatorios con un diseño moderno usando Material 3 y colores dinámicos.
|
|
|
|
### Pestañas
|
|
|
|
#### ☀️ Hoy
|
|
Muestra los recordatorios programados para el día actual y los que ya vencieron.
|
|
|
|
- **Tareas del día**: Recordatorios con fecha de hoy
|
|
- **Vencidos**: Recordatorios que ya pasaron su fecha
|
|
- Las notas se agrupan en secciones para fácil identificación
|
|
|
|
#### 🕐 Pendientes
|
|
Muestra los recordatorios futuros, aquellos programados para fechas posteriores a hoy.
|
|
|
|
- Solo muestra recordatorios que aún no han llegado
|
|
- Ordenados cronológicamente
|
|
|
|
#### 📅 Calendario
|
|
Vista de calendario mensual con indicadores visuales.
|
|
|
|
- **Puntos de color**: Indican recordatorios en ese día
|
|
- **Tap simple**: Muestra los recordatorios del día seleccionado
|
|
- **Triple tap**: Crea un nuevo recordatorio para esa fecha
|
|
- **Swipe horizontal**: Cambia entre meses
|
|
- **Lista inferior**: Muestra todos los recordatorios del mes actual
|
|
|
|
#### 🗑️ Basurero
|
|
Papelera donde van las notas completadas o eliminadas.
|
|
|
|
- **Restaurar**: Devuelve la nota a la lista principal
|
|
- **Eliminar permanentemente**: Borra la nota definitivamente
|
|
- Las notas recurrentes completadas adelantan al próximo período
|
|
|
|
#### ⚙️ Configuración
|
|
Ajustes de la aplicación.
|
|
|
|
### Funcionalidades Principales
|
|
|
|
#### Crear una Nota
|
|
1. Presiona el botón **+** en la esquina inferior derecha
|
|
2. Escribe un título y/o contenido
|
|
3. Activa el switch de recordatorio si deseas una notificación
|
|
4. Selecciona fecha y hora
|
|
5. Elige la recurrencia (diaria, semanal, mensual, anual)
|
|
6. Selecciona una categoría (opcional)
|
|
7. Agrega una foto (opcional)
|
|
8. Presiona **Guardar**
|
|
|
|
#### Nota por Voz
|
|
1. Presiona el botón de **micrófono** junto al botón +
|
|
2. Di tu recordatorio
|
|
3. La app parseará automáticamente lo dicho
|
|
|
|
#### Editar una Nota
|
|
1. Expande la nota presionando la flecha ▼
|
|
2. Presiona **Editar**
|
|
3. Modifica los campos necesarios
|
|
4. Presiona **Guardar**
|
|
|
|
#### Completar una Nota
|
|
- Presiona el botón de **check** ✓ en la card
|
|
- La nota se mueve al basurero
|
|
- Si es recurrente, se programa automáticamente para el próximo período
|
|
|
|
#### Eliminar una Nota
|
|
1. Expande la nota
|
|
2. Presiona **Eliminar**
|
|
3. Confirma la eliminación
|
|
4. La nota va al basurero
|
|
|
|
#### Buscar Notas
|
|
- Usa el campo de búsqueda en la parte superior
|
|
- Busca por título o contenido en tiempo real
|
|
|
|
#### Filtrar por Categoría
|
|
- En la pestaña de Pendientes, selecciona las categorías deseadas
|
|
- Los filtros se guardan automáticamente
|
|
|
|
### Categorías
|
|
|
|
#### Crear Categoría
|
|
1. En el editor de notas, presiona **Administrar categorías**
|
|
2. Presiona **Agregar categoría**
|
|
3. Escribe un nombre
|
|
4. Selecciona un color
|
|
5. Presiona **Guardar**
|
|
|
|
#### Editar/Eliminar Categoría
|
|
- En el administrador de categorías, usa los botones de lápiz o basura
|
|
|
|
### Configuración
|
|
|
|
#### Biometría
|
|
- Activa el desbloqueo con huella dactilar o reconocimiento facial
|
|
- Solo se solicita una vez al abrir la app
|
|
|
|
#### Tema
|
|
- **Sistema**: Sigue el tema del dispositivo
|
|
- **Claro**: Siempre tema claro
|
|
- **Oscuro**: Siempre tema oscuro
|
|
|
|
#### Fondo Personalizado
|
|
- Selecciona una imagen de tu galería como fondo
|
|
- Se aplica un efecto de blur para mejor legibilidad
|
|
|
|
#### Notificaciones
|
|
- Mostrar imagen en notificaciones (activado por defecto)
|
|
|
|
#### Limpieza Automática de Basurero
|
|
- Configura cuánto tiempo permanecen las notas en el basurero
|
|
- Opciones: Desactivado, 1 día, 3 días, 7 días, 30 días
|
|
|
|
#### Datos
|
|
- **Exportar**: Guarda todas las notas y categorías en un archivo JSON
|
|
- **Importar**: Restaura desde un archivo de backup
|
|
|
|
### Gestos
|
|
|
|
- **Swipe horizontal**: Cambia entre pestañas
|
|
- **Swipe en calendario**: Cambia de mes
|
|
|
|
### Consejos
|
|
|
|
1. **Recurrencia**: Usa recordatorios recurrentes para tareas periódicas
|
|
2. **Categorías**: Organiza tus notas por colores para identificarlas rápidamente
|
|
3. **Bordes de color**: Las cards muestran el color de su categoría en el borde
|
|
4. **Backup**: Exporta regularmente tus datos para no perder información
|
|
5. **Búsqueda**: Usa la búsqueda para encontrar notas antiguas rápidamente
|
|
|
|
---
|
|
|
|
## Repositorio Oficial
|
|
|
|
**[https://git.nakano47.com/nino/Recordatorios-app](https://git.nakano47.com/nino/Recordatorios-app)**
|