Mejores prácticas para "capa de datos" en las aplicaciones para clientes de Android
Aquí hay una pregunta de diseño / mejores prácticas.
Soy nuevo en el desarrollo de Android, y básicamente nuevo en soluciones web / móviles.
- Ejemplo de la necesidad del cliente del DESECHO de Androide que implementa el patrón de la ejecución de REST de Virgil Dobjanschi
- ViewPager y fragmentos - ¿cuál es la forma correcta de almacenar el estado del fragmento?
- La mejor manera de administrar el ProgressDialog de AsyncTask
- AsyncTask Android - Patrones de diseño y valores de retorno
- Métodos estáticos o singleton, ¿cuál elegir?
Por lo tanto, mi pregunta es – ¿cuáles son las mejores prácticas al organizar la estructura de la aplicación Android que obtener datos desde el servidor remoto?
¿Debe solicitar al servidor ir a una clase que hace comunicación con el servidor (obtener y enviar solicitudes), o debo mirar a mis solicitudes como fuente de datos, lo que significa que cada clase de datos se encarga de sí mismo?
O debo tener más niveles de abstracción – un nivel para la adquisición de datos, otro para el modelo que utiliza algunas interfaces sin saber de qué fuente los datos vienen?
Tengo curiosidad por cómo los desarrolladores androides experimentados se acercan a estos problemas de diseño …
- Mejores prácticas / patrones de diseño de codificación para Android
- ContentProvider con varias tablas
- MVP para Android: ¿Qué es un Interactor?
- ¿Hay algún patrón en el método Random ()?
- MVP para Android: uso seguro Contexto en Presenter
- Clase abstracta como parcelable
- Proyecto de la Biblioteca de Android - Definición de clases
- ¿Cuál es el principio del patrón de diseño en el desarrollo de Android?
Virgil Dobjanschi presentación es un buen recurso como se señaló anteriormente, que básicamente le dice a ejecutar sus peticiones de un servicio de fondo para que la actividad no se destruye y para almacenar sus datos en la base de datos lo antes posible.
Para obtener más detalles técnicos, la forma en que lo hago es dividir la aplicación en tres componentes:
1- Biblioteca para encapsular el manejo de la solicitud HTTP y la respuesta (con ApacheHTTP), que puede manejar la simple solicitud / respuesta y características avanzadas que pueden implicar cookies (puede ser necesario para iniciar sesión) y modificar el encabezado HTTP.
2- Marshal / Unmarsha capa, donde analizar los datos del servidor (por ejemplo, XML o JSON) y convertirlo en objetos (es decir, modelos) que el resto de mi aplicación se ocupará.
3- Capa de persistencia.
Según la presentación de Dobjanschi, por lo general, las solicitudes de datos se ejecutan en un servicio no en un thread worker dentro de la actividad.
Utilice uno de los 3 modelos presentados en esta charla de E / S de Google. Proporciona sugerencias que le ayudarán en todo el proceso de definición de la arquitectura de su aplicación. También evitará que cometa errores comunes que los principiantes usan para hacer:
http://www.youtube.com/watch?v=xHXn3Kg2IQE
Esta publicación también le ayudará a:
Ejemplo de la necesidad del cliente del DESECHO de Androide que implementa el patrón de la ejecución de REST de Virgil Dobjanschi