Necesidad de diseñar el diseño de la arquitectura de una aplicación Android

Necesito crear un diseño de arquitectura para mi aplicación.

Detalles de la aplicación: En mi aplicación, muestro algunos datos que se obtienen desde el servidor. Así que básicamente al iniciar la aplicación, obtiene una lista de categorías y al hacer clic en una categoría, la aplicación llama a un servicio web utilizando REST y obtiene una respuesta JSON. Después de obtener la respuesta, los datos JSON se analizan para crear un Arraylist de objetos y, finalmente, un adaptador muestra estos datos en una vista de lista.

La estructura del paquete que he pensado de:

com.app.activities: contiene todas las actividades requeridas en la aplicación.

com.app.customviews: vistas personalizadas necesarias para la aplicación.

com.app.adapters: lista diferente / adaptadores de red para crear diferentes tipos de vistas de lista y cuadrícula.

com.app.parsers: contiene todas las clases del analizador para analizar la respuesta JSON recibida del servidor. Estas clases básicamente devolverán un arraylist a las actividades que serán utilizadas más adelante por la clase del adaptador para crear vistas de la lista y de la rejilla.

com.app.utils: contiene funciones que se utilizan a través de la aplicación como función para obtener la respuesta del servidor para una solicitud, obtener una cadena del inputtream, descargar una imagen de una determinada url, registro, etc.

com.app.model: contiene todas las clases de modelo para varios tipos de datos definidos por el usuario.

Flujo de trabajo de la aplicación: cuando se selecciona una categoría determinada, la activity obtiene la respuesta de utils y la envía a los parsers para obtener un arraylist del tipo Model . Ahora este arraylist se pasa a los adapters que devuelve un objeto adaptador que finalmente se usa para mostrar la lista / cuadrícula en la activity .

Ahora, según la arquitectura de la aplicación, el código debe dividirse en tres capas siguientes:

  1. Capa de presentación
  2. Capa de negocios
  3. Capa de datos

Ahora necesito saber, según mi aplicación qué parte pertenece a qué capa.

Por favor ayuda, estoy totalmente desorientado acerca de esto.

¡¡Gracias!!

Actualización: Mientras que googling tropecé sobre este acoplamiento:

Http://apparchguide.codeplex.com/wikipage?title=Chapter%2019%20-%20Mobile%20Applications

Dice, su aplicación debe tener algunos flujos de trabajo, componentes de negocio, entidades, etc

Así pues, pienso que mi estructura actual del paquete es incorrecta mientras que hago la mayor parte de cosa en solamente actividades.

Así que ahora, mi pregunta es: si sigo esta arquitectura, lo que debería ser la estructura del paquete o cómo puedo configurar mi base de código.

¿Su aplicación sólo se dedica a la presentación? La capa de negocio se implementa en el servidor, ya que no se cambian los datos, sólo se muestran. Para mí el modelo está en la capa de datos, todo el resto es presentación.

Su interfaz de usuario de la aplicación es, se puede decir que la capa de presentación. En la capa de negocio, realiza operaciones con REST y JSON web service. Y la capa de datos reside en el servidor. Así que básicamente se muestra el listview (Presentación) mediante la utilización de algunos servicios (Business) para obtener el resultado (información) desde el servidor (Datos).

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.