Marco de Trabajo General para Android y Desarrollo Completo de una Aplicación de Comercio Electrónico

  1. Plan del Curso y Resultados

1.1 Introducción al Curso

1.2 Resultados Esperados

  1. Diseño de Arquitectura del Proyecto y Descomposición de Módulos

【Visión General】

【Modelo del Generador de Código】

【Modelo Central】

【Modelo de Negocio】

【Modelo del Proyecto Específico】

  1. Creación de la Estructura Básica del Proyecto

3.1 Creación de un Nuevo Módulo

【Nuevo Proyecto】

【Modificación del Nombre del Proyecto】

【Biblioteca annimotion】: Nota que debe ser una biblioteca Java;

【Modelo del compilador compile】: también es una biblioteca Java

【Modelo Central】: Biblioteca Android

【Modelo de Comercio Electrónico】

【Construcción del Directorio de Módulos】

3.2 【Construcción de las Dependencias entre Módulos】

【Módulo Central】: depende de las anotaciones

【Módulo de Lógica de Negocio】: depende del módulo central;

【Módulo del Proyecto】

【Modificación del Indicador de Anotación】: en versiones antiguas de AS se recomendaba usar apt, pero en las nuevas versiones se sugiere usar el procesador de anotaciones annotationProcessor;

3.3 【Movimiento y Modificación de Bibliotecas】

【Cortar y Mover】

【Eliminar】

【Eliminar】

  1. Configuración de un Repositorio Git para el Alojamiento de Código

【Se utiliza un entorno con lenguaje Go】

【Configuración del control de versiones en AS】

【Incluir en el ámbito de control de versiones】

【Confirmar】

  1. Diseño y Práctica de la Entrada de Configuración Principal del Marco de Trabajo

【Descripción】

【1】Solo una Activity, los cambios entre interfaces usan fragmentos; esto es una conclusión basada en experiencia;

【2】Utilizar una aplicación global para gestionar tareas repetitivas;

【3】Gestión de configuración: almacenamiento, recuperación y gestión de configuraciones;

5.1 Creación de la Clase de Configuración

【1】Lista WeakHashMap, reciclaje de recursos oportuno, recomendada para uso;

【Nota】Se modificó a HashMap para su uso posterior, ya que las configuraciones persisten durante toda la ejecución de la aplicación, por lo que no se puede usar reciclaje de referencias débiles;

【2】Convención: nombres static final en mayúsculas, separados por guiones bajos;

【Uso de Enumeración】: Singleton único en la aplicación, solo se puede inicializar una vez. Para operaciones multihilo, se puede usar enumeración para una inicialización perezosa segura en hilos, equivalente al patrón perezado (lazy) seguro para hilos;

【Código Fuente】: com.flj.latte.app.ConfigKeys.java

 1 package com.flj.latte.app;
 2 
 6 
 7 public enum ConfigKeys {
 8     API_HOST, //Dominio para solicitudes de red
 9     APPLICATION_CONTEXT,//Contexto global
10     CONFIG_READY, //Control de inicialización completada
11     ICON,  //Almacenar configuración de inicialización
12     LOADER_DELAYED,
13     INTERCEPTOR,
14     WE_CHAT_APP_ID,
15     WE_CHAT_APP_SECRET,
16     ACTIVITY,
17     HANDLER,
18     JAVASCRIPT_INTERFACE
19 }

【Nota sobre el Patrón Singleton】

【1】Si se usa el patrón perezado (lazy), se utiliza doble verificación de bloqueo con synchronized para evitar conflictos de hilos; en proyectos reales con multihilo, generalmente hay errores;

【2】Inicialización de singleton usando enumeración;

【3】Inicialización de singleton usando clase interna estática;

5.2 Inicialización de la Aplicación

【Almacenar referencias de objetos en la configuración y devolver】

【Configurar apihost】

【Verificar configuración】

【Filosofía】: Al escribir variables de clase o método, maximice la inmutabilidad de las variables. Si una variable no se modificará posteriormente, use final;

Evite al máximo cambiar una variable que no debería ser modificada. En la máquina virtual JVM, se realizan optimizaciones para variables final y public final, mejorando el rendimiento.

No es necesario agregar final, pero se recomienda;

【Momento de la llamada】: Se invoca al obtener configuraciones en la aplicación. Si no se llama al método de configuración de Configurator, se lanzará una excepción en tiempo de ejecución, garantizando integridad y corrección de la configuración.

【Agregar anotación】: El significado de la anotación: Indicar al sistema de compilación que este tipo no ha sido verificado, por lo que se puede omitir la comprobación del método.

5.3 Llamada a Configuración desde la Aplicación

  1. Integración y Encapsulación de Biblioteca de Iconos de Fuente

6.1 Adición de la Biblioteca

【URL de la biblioteca】https://github.com/JoanZapata/android-iconify

【Biblioteca de iconos de fuente】: Usa fuentes en lugar de iconos; mantiene la alta fidelidad de las imágenes originales;

6.2 Encapsulación

【Encapsular la biblioteca】

【Inicialización】

【Agregar iconos de fuente personalizados】

【Llamada desde la aplicación】

6.3 Uso de Biblioteca de Iconos TTF de Terceros

【Introducir biblioteca de fuentes】

【Obtención de la biblioteca de fuentes】

【Llamada a biblioteca de fuentes de terceros】

【Crear clase de enumeración】

[Referencia] Se reemplazaron guiones bajos con guiones medios;

1 @Override
2     public String key() {
3         return name().replace('_', '-');
4     }

【Continuación】Se puede modificar directamente al siguiente formato numérico para que compile:

1     icon_escanear('\ue602'),
2     icono_pago_alipay('\ue606');

【Devolver valor personalizado】

【Llamada】

  1. Verificación de Disponibilidad del Marco de Trabajo Básico

7.1 【Prueba】 Mostrar un texto

【Sitios web que proporcionan fuentes】

7.2 Prueba de Notificación Toast

【Mejorar la clase】: Pasar contexto;

【Nueva prueba】: Mostrar notificación Toast

Etiquetas: Android desarrollo de aplicaciones Marco de Trabajo comercio electrónico Git

Publicado el 8-30 10:15