¿Cómo utilizar los navegadores ios y android para implementar la reproducción de audio en línea de estaciones de radio MMS en teléfonos móviles?
Desde una perspectiva de implementación, se divide en capa de presentación GUI, envío/recepción, análisis de MMS, archivos adjuntos de MMS, datos de información, etc. Estas categorías corresponden a varios paquetes en el código fuente.
Navegación de código fuente
El código fuente de MMS se encuentra en android/packages/apps/Mms.
Entre ellos, Mms/src/com/android/mms contiene códigos relacionados con MMS, mientras que Mms/src/org/w3c/dom contiene la biblioteca de clases, que se utiliza principalmente para analizar y mostrar formatos MMS. . Aquí hablamos principalmente sobre los usos principales de algunos paquetes y clases en Mms/src/com/android/mms.
Ui: capa de presentación GUI, utilizada para mostrar la lista de conversaciones, la lista de mensajes, la página de edición de mensajes, la edición de archivos adjuntos MMS, la presentación MMS y la presentación de diapositivas. Responsable de la interacción directa con los usuarios.
Java: el adaptador de lista de conversaciones se utiliza para vincular datos a la lista de conversaciones de la capa de visualización.
Java: una estructura de datos que representa cada elemento de la lista de conversaciones, que contiene la información que se mostrará en la lista de conversaciones.
ConversationList.java: esta es la actividad de la ventana de visualización de la lista de conversaciones y es una ListActivity. Estas clases están relacionadas con la lista de conversaciones y se utilizan para mostrar, editar y administrar todas las conversaciones.
composemessageactivity . Java: esta es la actividad principal de la ventana que compila mensajes y muestra todas las comunicaciones en el hilo de conversación. Se le agregará MessageListView y se le agregará AttachmentEditor. Esta actividad también se encarga de responder a aplicaciones externas y enviar solicitudes como SENDTO o send. Por ejemplo, si una aplicación externa quiere enviar un mensaje, esta actividad le responderá.
MessageItem.java: datos abstractos que representan un mensaje, que contiene todo el contenido relacionado con la información, como el asunto del mensaje, el contenido del mensaje, la dirección de la carta, el contenido del archivo adjunto, etc. Todos sus datos son internos de la empresa y se puede acceder a ellos directamente.
MessageListAdapter.java: se utiliza para vincular datos a la capa de visualización de la lista de mensajes (creada por ComposeMessageActivity y vinculada a MessageListView).
MessageListView.java: se utiliza para mostrar la lista de mensajes, heredada de ListView, su ciclo de vida está controlado por ComposeMessageActivity y si se muestra también lo controla.
MessageListItem.java: es un diseño utilizado para mostrar y controlar la visualización de cada mensaje en la lista de mensajes.
attachmenttypeselectadapter . Java: lista de archivos adjuntos admitidos al agregar archivos adjuntos, este es un menú.
AttachmentEditor.java: se utiliza para mostrar archivos adjuntos agregados al editar mensajes MMS. Su ciclo de vida está controlado por ComposeMessageActivity, y si se muestra también está controlado por ComposeMessageActivity. Se mostrará cuando haya un archivo MMS adjunto; de lo contrario, estará oculto. Es un administrador de diseño que administra los siguientes cuatro diseños y muestra dinámicamente una de las siguientes cuatro vistas según el tipo de archivo adjunto.
AudioAttachmentView.java: se utiliza para mostrar archivos adjuntos de audio en el editor, hereda del diseño lineal. No se usa directamente en el código, pero se usa en archivos de diseño como administrador de diseño.
ImageAttachmentView.java: se utiliza para mostrar archivos adjuntos de imágenes en el editor, se hereda del diseño lineal. No se usa directamente en el código, pero se usa en archivos de diseño como administrador de diseño.
Java: se utiliza para mostrar archivos adjuntos de diapositivas en el editor, hereda de Linear Layout. No se usa directamente en el código, pero se usa en archivos de diseño como administrador de diseño.
VideoAttachmentView.java: se utiliza para mostrar archivos adjuntos de vídeo en el editor, hereda el diseño lineal. No se usa directamente en el código, pero se usa en archivos de diseño como administrador de diseño.
Actividad de presentación de diapositivas Java: se utiliza para reproducir presentaciones de diapositivas en pantalla completa, es decir, para mostrar diapositivas, porque los mensajes MMS se crean y reproducen en forma de diapositivas, es decir, una por una, cada una con Hay texto, imágenes, videos y audios, y cada elemento tiene un tiempo de navegación.
SlideshowEditActivity.java: administra diapositivas en una lista, es decir, muestra todas las diapositivas en la lista. Los usuarios pueden agregar una diapositiva o hacer clic en Editar una diapositiva para crear y editar diapositivas.
SlideshowEditor.java: se utiliza para editar diapositivas, como agregar elementos, eliminar elementos y reemplazar elementos. Los elementos aquí pueden ser imágenes, videos, audios y texto. También se puede utilizar para editar una diapositiva completa, como eliminar una diapositiva y ajustar su posición entre todas las diapositivas. Es un paquete de diapositivas de operación específica, creado por SlideEditorActivity y utilizado para completar la edición de diapositivas.
SlideshowPresenter.java: se utiliza para mostrar todas las diapositivas, es decir, reproducir todas las diapositivas. Creado y utilizado por SlideshowActivity.
SlideViewInterface.java: define algunas interfaces para mostrar contenido de diapositivas, como configurar imágenes, configurar videos, configurar audio, reproducir videos, reproducir audio, pausar, posicionamiento aleatorio, etc. Las vistas que se muestran en el archivo adjunto: audioattachmentview, ImageAttachmentView, SlideshowAttachmentView y VideoAttachmentView implementan esta interfaz, de modo que AttachmentEditor puede usar una interfaz unificada para controlar la reproducción de contenido sin considerar el contenido específico.
SlideEditorActivity.java: se utiliza para editar diapositivas, como agregar audio, agregar video, agregar imágenes, agregar texto, etc. Simplemente proporciona una interfaz de usuario que le permite operar varios botones para agregar elementos, reemplazar elementos o eliminar elementos. Las operaciones de diapositivas específicas se completan a través de SlideshowEditor, que es el principal responsable de interactuar con los usuarios.
vista de elemento de lista de diapositivas. La gestión del diseño de cada elemento de la lista en la actividad de edición de presentación de diapositivas de Java se hereda de LinearLayout.
MmsThumbnailPresenter.java: se utiliza para mostrar miniaturas de mensajes MMS en la lista de mensajes. Debido a que el contenido de MMS no es fijo y pueden ser imágenes, audios, videos o diapositivas, esta clase se utiliza para procesar y mostrar miniaturas de MMS.
Actividad de preferencia de mensajería. Editor de información de configuración de Java-MMS, utilizado para editar y cambiar información de configuración y heredar información de actividad de preferencia. Se encarga de interactuar con el usuario, mostrar y cambiar configuraciones. Cuando se inicia Mms, MmsConfig leerá la información de configuración de SharedPreference. En tiempo de ejecución, la información de configuración de otras clases se obtiene de MmsConfig. MmsConfig proporciona muchos métodos Get para obtener información de configuración.
Presenter.java: clase abstracta utilizada para mostrar archivos adjuntos.
Método de fábrica PresenterFactory.java.
RecipientsAdapter.java
RecipientsEditor.java: se utiliza para mostrar el cuadro de edición del destinatario en la página de edición de información, que se puede completar automáticamente. Los datos completos los proporciona RecipientsAdapter.
ViewInterface.java: representa la clase base de vistas, que se utiliza para deslizar el contenido de visualización o tomar miniaturas. Puede medir el largo, ancho y alto de su campo de visión.
BasicSlideEditorView.java: el diseño utilizado al editar diapositivas, es decir, el diseño utilizado en SlideEditorActivity.java.
editslidedurationactivity . Java: como sugiere el nombre, se utiliza para editar el tiempo de visualización de las diapositivas.
ManageSimMessages.java: se utiliza para administrar la información de la tarjeta SIM en la configuración. Una de las configuraciones es administrar la información en la tarjeta SIM. En la configuración de MMS, existe una opción para establecer si el mensaje debe almacenarse en la tarjeta SIM o en el teléfono. SmsReceiverService verificará esta configuración al recibir correo y luego escribirá la información recibida en la dirección correspondiente. ManageSimMessages también muestra los mensajes en la SIM en forma de lista y proporciona dos menús: guardar mensajes en el teléfono y eliminar.
NumberPickerButton.java - Botón utilizado para mostrar el número seleccionado, utilizado en la configuración.
NumberPickerDialog.java: se utiliza para mostrar un cuadro de diálogo para seleccionar números, utilizado en la configuración.
NumberPicker.java: se utiliza para seleccionar un número durante la configuración. Estos selectores de números se utilizan principalmente para la configuración.
Actividades de informes de entrega. Java: informe de estado de envío de mensajes. Mostrar en forma de lista
DeliveryReportAdapter.java adaptador correspondiente
DeliveryReportItem.java: datos correspondientes, datos para cada elemento.
DeliveryReportListItem.java: diseño de cada artículo.
Datos: datos relacionados con la información que se está editando actualmente, como una lista de contactos, como la conversación actual, como el mensaje actual. Responsable de administrar el mensaje que se está editando actualmente, la conversación actual y los contactos utilizados por el mensaje actual. Estas clases se utilizan al editar información, ya que se utilizan principalmente para administrar datos, pero no se pueden pasar directamente al editor como objetos. Muchos de sus métodos son estáticos, es decir, estas clases son similares a claves únicas.
WorkingMessage.java: se utiliza para administrar el mensaje que se está editando actualmente. Está ahí desde la creación, la redacción y el envío. Tan pronto como se abre la página para editar un mensaje, se crea un mensaje de trabajo hasta que se sale de la página de edición.
Conversation.java: se utiliza para administrar subprocesos de sesión, generalmente se usa para administrar la sesión actual, es decir, la sesión ingresada y la sesión en curso. También se utiliza para administrar la lista de sesiones, como consultar la lista de sesiones.
Contact.java: se utiliza para representar la información de un contacto, administrar contactos, cargar información de contacto, incluido el caché correspondiente. Porque los datos de un contacto son relativamente grandes, incluidos nombre, apellido, varios números de teléfono, varias direcciones, etc. Debido a que el contacto se utiliza directamente como contacto en el MMS, toda la información se obtiene directamente de él. Además, dado que la interacción de información también involucrará a los contactos, dado que una serie de números de teléfono se pueden utilizar directamente al enviar y recibir cartas, es necesario agregar funciones como los contactos. Hay muchas operaciones asincrónicas en Contact, como cargar información de contacto o actualizar el caché, para no bloquear a la persona que llama.
ContactList.java: es una lista de contactos, heredada de la lista de matrices.
RecipientIdCache.java: se utiliza para guardar el ID y la dirección (número de teléfono) del contacto utilizado.
Cada vez que WorkingMessage actualiza el caché, ContactList primero consultará los contactos en el caché.
DOM: un conjunto de herramientas para analizar contenido MMS smil
Drm: un conjunto de herramientas para procesar archivos multimedia Drm
Diseño: reestructurado para satisfacer necesidades especiales Elementos de diseño escritos.
Modelo: define la estructura de datos de los archivos adjuntos y el modo de organización de los archivos adjuntos admitidos por MMS. Los mensajes MMS pueden incluir imágenes, vídeo, audio y texto. Estos contenidos pueden existir individualmente o juntos. Si se combinan, se convierte en una presentación de diapositivas. Los usuarios pueden utilizar presentaciones de diapositivas para crear archivos adjuntos con una variedad de medios, completos con ilustraciones y descripciones. Se pueden agregar videos, audio, imágenes y texto a cada diapositiva, pero generalmente solo se puede agregar una imagen o video a una diapositiva. Se puede agregar texto, pero solo se puede agregar audio, pero no se puede agregar video. Al jugar, puedes establecer la duración de cada diapositiva, la velocidad de desplazamiento del texto, etc.
Este es un punto de control específico para archivos adjuntos de mensajes multimedia. Para archivos adjuntos no admitidos, o el tamaño del archivo adjunto excede el límite, o la resolución de la imagen es incorrecta, o el tamaño de la imagen excede el tamaño, se generarán excepciones: ContentTypeException no admitida, ResolutionException, ExceedMessageSizeException, ContentRestrictionException.
ContentRestriction.java es una interfaz para verificar archivos adjuntos, que se usa directamente externamente. La implementación específica es CarrierContentRestriction.
ContentRestrictionFactory.java es un método de fábrica para crear comprobaciones de archivos adjuntos. Cree un objeto ContentRestriction externamente a través de esta fábrica y luego verifique el archivo adjunto internamente utilizando los métodos de inspección definidos en él.
SmilHelper.java es una clase de herramienta utilizada para analizar y procesar Smil en archivos adjuntos.
Interfaz IModelChangedObserver.java, utilizada para monitorear cambios en el contenido del archivo adjunto.
Model.java: el modo de organización y gestión de datos de los archivos adjuntos MMS es que cada archivo adjunto es una subclase de Model, que no solo se utiliza para administrar los datos específicos del archivo adjunto, como Uri, tamaño, nombre de archivo, ubicación, etc., también se utiliza para mostrar y ver archivos adjuntos en la GUI.
LayoutModel.java: una clase heredada de Model, utilizada para gestionar el diseño de accesorios visuales. Se utiliza para gestionar elementos básicos como RegionModel. Al igual que algunos administradores de diseño como ViewGroup o LinearLayout y RelativeLayout, se utilizan para organizar y administrar elementos de diseño básicos, es decir, subclases de RegionModel, como ImageModel, TextModel y VideoModel.
RegiónModel.java: heredado de Model, se utiliza para administrar archivos adjuntos visuales y diseños, como imágenes, vídeos y texto. Especialmente cuando se muestran archivos adjuntos visuales, se utiliza para controlar la posición del archivo adjunto visual en la pantalla. RegionModel representa una región en la diapositiva, que es el elemento básico del diseño de la diapositiva. Al igual que Ver en los elementos de la interfaz de usuario, pero la mayoría de ellos usan sus subclases, a saber, ImageModel, TextModel y VideoModel.
RegionMediaModel.java: heredado de MediaModel, se utiliza para controlar el diseño de la parte visual de los archivos adjuntos multimedia, se utiliza principalmente para mostrar archivos adjuntos y controlar la reproducción de diapositivas. Sus subclases son ImageModel, TextModel y VideoModel.
MediaModel.java: hereda del modelo, representa la estructura de datos de los medios, administra datos adjuntos específicos y también se utiliza para administrar el control de visualización de archivos adjuntos, como visualización de imágenes, reproducción de audio y video. controlar, etc.
MediaModelFactory.java: se utiliza para analizar el modelo de medios en los archivos adjuntos de Pdu, es decir, convertir Pdu en datos adjuntos en Mms.
modelo de imagen. Java: heredado de RegionMediaModel, utilizado para gestionar y controlar la visualización de archivos adjuntos de imágenes.
VideoModel.java: heredado de RegionMediaModel, se utiliza para administrar y controlar la reproducción de archivos adjuntos de video.
AudioModel.java: heredado de MediaModel, se utiliza para administrar y controlar la reproducción de archivos adjuntos de audio.
SlideModel.java: heredado del modelo, se utiliza para administrar un conjunto de archivos adjuntos que se muestran al usuario al mismo tiempo. Al igual que una presentación de diapositivas, cada SlideModel tiene una lista que puede almacenar modelos, que pueden contener texto, audio, imágenes o videos, mientras muestra sus archivos adjuntos.
SlideshowModel.java: heredado del modelo, se utiliza para administrar todos los archivos adjuntos en mensajes multimedia. Contiene una lista almacenada de SlideModels utilizados para guardar y controlar todos los archivos adjuntos en mensajes MMS. Además, es responsable de mostrar estos archivos adjuntos, organizar SlideModels y reproducirlos. También es responsable de convertir estos archivos adjuntos MMS (varios modelos) en archivos adjuntos de Android Pdu y proponer su propio modelo desde Pdu. Debido a que Slideshow es un método de procesamiento de MMS en la capa de aplicación, los datos MMS que se pueden enviar y recibir son Pdu.
TextModel.java: heredado de RegionMediaModel, se utiliza para administrar y controlar la visualización de archivos adjuntos de texto, como el desplazamiento por tiempo.
Util: esta es una clase de herramienta que disfruta todo Mms***. Son clases de una sola clave o de uso directo. Los objetos no se pueden crear ni utilizar en forma de objetos.
AddressUtils.java: una clase de herramienta sobre direcciones. Actualmente, sólo existe un método getFrom() para obtener la dirección del remitente.
DraftCache.java: se utiliza para identificar qué conversaciones tienen borradores y cuáles no. También se utiliza para administrar y consultar el estado de los borradores de las conversaciones y si hay borradores. Mantiene un HashSet que contiene todos los ID de subprocesos con borradores. También tiene un HashSet para almacenar OnDraftChangedListener, es decir, cuando cambia el estado del borrador del hilo, DraftCache llamará al oyente correspondiente para notificar al módulo correspondiente que el estado del borrador de la conversación ha cambiado. Puede configurar el estado del borrador de una conversación mediante draftcache. setdraftstate (threadid, state); puede consultar si una conversación contiene un borrador a través de DraftCache.hasDraft(threadId).
Recycler.java- es una clase de herramienta abstracta en la que se definen SmsRecycler y MmsRecycler, que se utilizan para eliminar mensajes obsoletos o información que excede el límite de información. El método de uso es el reciclador. consiguemsrecycler. eliminar mensajes antiguos (contexto) o reciclador. getmmrecycler. eliminar mensajes antiguos (contexto).
SmileyParser.java: convierte emoticonos de signos de puntuación en expresiones gráficas, como por ejemplo? Utilice el icono sonriente en su lugar.
DownloadManager.java: no te dejes engañar por el nombre, no es un verdadero administrador de descargas ya que no es responsable del proceso de descarga ni de la gestión de los archivos descargados. Se utiliza para administrar la información de configuración relacionada con la descarga, como si se descarga automáticamente y varias notificaciones durante el proceso de descarga, como barras de notificación, indicaciones de Toast, etc.
RateController.java
SendingProgressTokenManager.java
transacción: el paquete más bajo de MMS, invisible para el usuario, responsable del procesamiento final del envío de mensajes y de la Procesamiento inicial de la recepción de mensajes. Principalmente responsable del envío y recepción de información.
Realmente no envía ni recibe información. El marco del sistema es responsable de recibir y enviar información. Este paquete solo lo envía y recibe la capa de aplicación Mms.
AbstractRetryScheme.java
Java: estas dos clases implementan el mecanismo de reintento, porque el envío y la recepción de información estarán limitados por el entorno. Por ejemplo, si el teléfono móvil no tiene señal o la conexión de red no tiene éxito, el mensaje se pondrá en la cola de pendientes y se intentará enviar y recibir después de un período de tiempo. Las dos clases aquí implementan este mecanismo de reintento.
HttpUtils.java es el implementador de nivel más bajo para enviar y recibir mensajes MMS. Es responsable de recibir y enviar mensajes MMS al centro de servicios MMS de MMSC a través del protocolo HTTP.
remitente de mensajes. Java: como sugiere el nombre, es una interfaz encapsulada para enviar mensajes, con un solo método sendMessage(). La capa UI solo necesita llamar a la clase que implementa esta interfaz para enviar información.
Notificación de mensajería. Java: responsable de las notificaciones en la barra de estado, como información recién recibida, falta de envío de información o falta de recepción. Lo utilizan la capa UI y la capa lógica subyacente.
mmsmessagesender . Java: heredado de MessageSender, utilizado específicamente para enviar mensajes MMS. No envía, pero realiza algunos trabajos de preparación y verificación de errores, y luego inicia TransactionService para enviar cosas relacionadas.
Java: heredado de Transaction, responsable de recibir MMS y notificaciones de actualización. Cuando hay un nuevo MMS, el marco enviará un mensaje corto, llamado Indicación de notificación de MMS, que contiene información relacionada con MMS (MMSC, ubicación del contenido (URL) de MMS, etc.), y luego la aplicación irá a MMSC para obtener el mensaje con MMS con ubicación del contenido. Esta NotificationTransaction se utiliza específicamente para manejar notificaciones MMS. Obtendrá los datos MMS (Pdu) del MMSC, los escribirá en la base de datos y luego actualizará la notificación. Cabe señalar que los mensajes MMS se descargarán solo cuando la configuración de MMS esté configurada en "Recuperación automática". De lo contrario, las instrucciones de notificación MMS solo se procesarán y los mensajes MMS no se descargarán.
observable . Java: los objetos observables se definen en él y Transaction es su subclase. Otras entidades son objetos de observador y tienen una lista que contiene referencias de observador. Cuando se completa una transacción o se produce una excepción, se llamará al método notifyObservers() para notificar a los observadores sobre el estado.
Observer.java-Observer, TransactionService implementa esta interfaz. Es un observador de todas las transacciones, monitoreando su estado y procesando los resultados. Debido a que todas las transacciones son asincrónicas, utilice el modo de observación para notificar los resultados del procesamiento de la transacción.
privilegedsmsreceiver. Java: monitor de eventos heredado de SmsReceiver, responsable de monitorear los nuevos eventos de SMS del proveedor de telefonía de Android. al recibir esta intención, significa que hay un nuevo mensaje corto. Activará SmsReceiverServier para procesar mensajes cortos.
ProgressCallbackEntity.java
Receptor push. Receptor de transmisión Java dedicado a recibir eventos MMS del proveedor de telefonía WAP. .WAP_push_recibido").
Primero realizará un procesamiento previo y luego iniciará TransactionService, que creará una NotificationTransaction para manejar la notificación MMS.
ReadRecTransaction.java
recuperar Transaction: heredado de Transaction y utilizado para obtener datos MMS de forma activa. Cuando el MMS está configurado para recuperación no automática, el usuario debe activar la recuperación. TransactionService creará un RetrieveTransaction para obtener los datos del MMS (Pdu), almacenarlos en la base de datos y actualizar la notificación.
RetryScheduler.java
enviar transacción Java: heredado de Transacción, utilizado para enviar datos MMS.
SimFullReceiver.java
Java: un paquete para enviar mensajes cortos, heredado de MessageSender. Iniciará SmsReceiverService para enviar.
Es un receptor de radiodifusión. No te dejes engañar por su nombre. No se responsabiliza de recibir nuevas notificaciones por SMS. En cambio, se utiliza para enviar mensajes, recibir solicitudes para enviar mensajes y llamar a SmsReceiverService para manejar el envío. Esto puede deberse a las convenciones de nomenclatura de Android. A los cuatro componentes principales de Android les gusta agregar los nombres de sus propios componentes. Por ejemplo, ComposeMessageActivity es una actividad, TransactionService es un servicio y SmsReceiver aquí es un BroadcastReceiver, que no tiene nada que ver con la recepción de mensajes de texto. Por supuesto, es un nombre completamente malo.
smsreceiverservice. Java - Este es un servicio dedicado a enviar y recibir mensajes cortos. Lo inician SmsReceiver y PrivilegedSmsReceiver y no escucha los eventos de intención en sí.
SmsRejectedReceiver.java
Java: heredado de SmsMessageSender, llama a la interfaz de la capa de marco para enviar información al receptor. Para las aplicaciones MMS, esta es la última parada para enviar mensajes de texto, es decir, para la aplicación, envía los mensajes de texto.
Paquete de transacciones. Java: una estructura de datos utilizada por las transacciones para transferir datos a las transacciones.
Transacción. Java: la clase base para varias transacciones, define dos métodos: getPdu() y sendPdu(). Los dos métodos consisten en obtener datos MMS de MMSC y enviarlos a MMSC. Es un contenedor de HttpUtils.
Servicio de transacciones. Java: es un servicio que recibe varias solicitudes de transacciones y luego las procesa. Cada transacción inicia un nuevo hilo para el procesamiento asincrónico, por lo que cuando se completa el procesamiento, TransactionService será notificado a través del Observador.
Configuración de transacciones. Estructura de datos Java de información de configuración relacionada con MMS, como MMSC, proxy, puerto, etc. El solicitante puede proporcionar estos datos y utilizarlos si se proporcionan; de lo contrario, los datos predeterminados se cargarán desde la base de datos del teléfono, que depende de la configuración del operador y APN.
Estado de transacción. Java - Una estructura de datos que identifica cada transacción. Es muy sencillo y sólo indica si el procesamiento fue exitoso o fallido. Se utiliza cuando la transacción vuelve a llamar al observador (TransactionService).
También hay algunos archivos en el directorio raíz com/android/mms, la mayoría de los cuales son excepciones de clase base definidas y algunas clases públicas.
Aplicación MMS.
La aplicación Java-MMS realizará algunos trabajos de inicialización necesarios cuando se inicie el proceso de la aplicación, como configuración, descarga, contacto, conversación, analizador de emoticones, notificación, etc.
MmsConfig.java: gestiona algunas configuraciones comunes de MMS, como el tamaño máximo de MMS, el tamaño máximo de imágenes MMS, el número máximo de destinatarios, etc. Esta información de configuración se almacena en RES/XML/MMS_config.xml. MmsApp llamará a MmsConfig.init () al inicializar y llamará a loadMmsSettings para analizar MMS_config.xml y obtener la información de configuración requerida. Otros módulos solo pueden acceder a esta información de configuración a través de MmsConfig.
LogTag.java-Controla la información de seguimiento del registro. Facilita el control de los niveles de salida de registros. Pero, de hecho, no hay muchos lugares donde se use este LogTag en todo el código Mms.