K 9 Mail - daprieto1/MISO-4208 GitHub Wiki

K-9 Mail

Es cliente de correo electrónico gratuito y de código abierto para Android.

Detalle técnico

  • La aplicación se encuentra desarrollada en java para sistemas operativos Android 4.0.3 o superiores.

  • Arquitectura La estructura general de K9 es:

    • Módulos:
      • k9mail - Modulo principal que incluye el código para las actividades, notificaciones, interacción con BD, configuración y cifrado.
      • k9mail-library - Código Back-end para contactar los proveedores de email y de-codificación de correos desde MIME.
      • Android-PullToRefresh library - Librería para implementar listas ‘pull to refresh’
      • openpgp-api - Libreria para interacturar con proveedores de OpenPGP (p.ej. OpenKeychain)
      • HoloColorPicker - Un selector de color para el tema Holo Android.
    • Core Desing: Tiene muchas partes pero algunos de los más importantes
      • Stores (.mail.store.*)
      • Transports (.mail.transport.*)
      • Messages (.mail.Message, .mail.internet.*)
      • MessagingController (.controller.MessagingController)
      • Activities and Fragments (.activity , .fragments)
      • Notifications (.notification)
    • Programación e Intenciones del sistema:
      • Se hace uso de la API AlarmManager para programar tareas relacionadas con la obtención de emails.
    • Base de datos:
      • SQLiteDatabase.
    • Integración con terceros:
  • Permisos requeridos por la aplicación

    • android.permission.RECEIVE_BOOT_COMPLETED
    • android.permission.READ_CONTACTS
    • android.permission.READ_SYNC_SETTINGS
    • android.permission.WRITE_CONTACTS
    • android.permission.ACCESS_NETWORK_STATE
    • android.permission.INTERNET
    • android.permission.VIBRATE
    • android.permission.WAKE_LOCK
    • android.permission.WRITE_EXTERNAL_STORAGE

Funcionalidades

Las funcionalidades que se encontraron en la aplicación después de realizar una navegación por la misma

  • Importar Ajustes: Cuando se instala se puede tomar configuración previamente guardada.
  • Configurar cuenta de correo.
    • Manual: Se deben ingresar todos los datos del servidor entrante y saliente.
    • Automática.
  • Navegar por carpetas.
  • Redactar Correo.
    • Adjuntar archivos.
    • Confirmación de Lectura.
    • Guardar como borrardor.
    • Descartar.
  • Búsqueda.
  • Administrar Cuenta.
  • Eliminar Cuenta.
  • Configuración global.
  • Acciones con correos:
    • Leer.
      • Abrir o guardar un archivo adjunto
    • Borrar.
    • Archivar.
    • Responder o Responder a todos.
    • Copiar.
    • Mover.
    • Reenviar.
    • Volver a Enviar.
    • Añadir estrella.
  • Cargar más correos de los predeterminados.
  • Sincronizar manualmente
  • Ordenar la vista de correos
  • Configuración de carpeta
  • Borrar Mensajes locales de una carpeta.

Los casos de uso probables a realizares pruebas automáticas son:

  • Configurar cuenta de correo.
  • Redactar un correo.
  • Adjuntar un archivo a un correo a enviar.
  • Búsqueda de correo.
  • Ordenar la vista de correos.
  • Borrar un correo.

Pantallazos de la exploracion de la App:

  • Pantalla Inicial - Cuando no se ha creado correo:

k9mail-inicio

  • Configuración cuenta:

k9mail-conf-cuenta-p1 k9mail-conf-cuenta-p2 k9mail-conf-cuenta-p3 k9mail-conf-cuenta-p4 k9mail-conf-cuenta-p5 k9mail-conf-cuenta-p6

  • Vista de cuentas:

k9mail-vista-cuentas

  • Redactar correo:

k9mail-redactar-p1 k9mail-redactar-p2 k9mail-redactar-p3 k9mail-redactar-p4

  • Acciones correo:

k9mail-acciones-correo

  • Búsqueda:

k9mail-busqueda

  • Ordenar vista correos:

k9mail-ordenar-vista

  • Carpetas de una cuenta:

k9mail-carpetas-cuenta

  • Configurar carpeta:

k9mail-config-carpeta

  • Abrir o guarda archivo adjunto:

k9mail-abrir-guardar-adjunto