2011-04-11 21 views
23

Mi proyecto actual es muy grande. Tengo docenas de actividades, adaptadores, fragmentos, xmls de diseño y otros recursos.¿Sugerencias para organizar proyectos Android más grandes?

En mis (anteriores) proyectos anteriores organicé material con un estilo de 1 paquete/1 categoría. Así que tenía com.stuff.xy.adapter, com.stuff.xy.activity, y así sucesivamente. Ahora estos paquetes contienen demasiados elementos, y me encuentro perdiendo una cantidad considerable de tiempo buscando una clase específica en la jerarquía de paquetes.

Uso Eclipse, y hay algunos accesos directos que puede usar (vaya a la definición de la clase, por ejemplo), pero tienden a ser situacionales (no puedo usar eso para saltar rápidamente a una definición de diseño xml).

¿Podría compartir algunos consejos para organizar proyectos a gran escala de manera eficiente? O algunos complementos para esto tal vez? (Podría ser útil, por ejemplo, si pudiera agrupar archivos de origen que tienen que ver con una pantalla de la aplicación específica - adaptadores, diseños, la actividad y el código de fragmento - tan rápido puedo abrirlos)

EDIT: Después de muchos meses desarrollando grandes proyectos

Primero traté de trabajar con conjuntos con Eclipse. En realidad no me cortó, mi problema era que nuestro único proyecto de Android era simplemente demasiado grande, contenía muchos recursos, clases, interfaces, etc. Jugar con conjuntos de trabajo en el contexto de un único proyecto simplemente tomaba demasiado tiempo. , Creo que son principalmente útiles para organizar proyectos en un solo espacio de trabajo.

A largo plazo separamos nuestro gran proyecto en muchos proyectos más pequeños de android-library y un único proyecto de "aplicación principal" que dependía de todos estos más pequeños. De esta forma podríamos dividir los recursos entre estos proyectos de biblioteca (había muchos diseños, valores, estilos que solo se usaban en ciertas partes de la aplicación) y código, por supuesto. También creé una biblioteca Base, de la que dependían todas las demás bibliotecas, y contenía recursos y clases (base) que cada parte de la aplicación necesitaba.

+0

No agrupe su fuente para cada pantalla. Más que tener el problema, no puede organizar las clases que usa varias veces y probablemente se detendrá para reutilizar el código – WarrenFaith

+0

. Creo que el mayor costo de un proyecto grande es aumentar el tiempo de compilación y empaque. Si cada vez que debemos esperar medio minuto o más, vemos nuestro dispositivo aparecer en la primera ventana de nuestra aplicación, sería aburrido para el desarrollo. Entonces, para su enfoque de edición, ¿mejoró significativamente el tiempo de compilación? – VinceStyling

Respuesta

11

En Eclipse, puede usar Working Sets para filtrar sus archivos de fuente/diseño/recursos en la vista del Explorador de proyectos. Esto es un poco más poderoso que los paquetes, ya que opera en todos los archivos, incluidos los activos de diseño e imagen, no solo en los archivos fuente de Java.

Por ejemplo, se podría crear un conjunto principal de trabajo que contiene HomeActivity.java, HomeAdapter.java, res/layout/home.xml, res/estirable/home_icon.png, etc.

+0

Sí, ¡esta ciertamente es útil! Pensé que solo podía agrupar proyectos completos junto con conjuntos de trabajo. ¡Pero agrupar recursos de proyectos es mucho mejor! –

+0

Muy bonito :-) Buena adición –

+0

Probándolo, ¡bien! –

5

Tal vez una punta : Para ir rápidamente a una declaración en Eclipse

Hold Ctrl mientrasse cierne sobre una clase o método. Después de 1 segundo, obtiene una ventana emergente con declaración abierta/implementación abierta.

Muy útil en proyectos grandes.

Por lo demás, recomiendo simplemente hacer que sea intuitivo y ordenar todas las actividades en un paquete, así como todos los cálculos, por ejemplo.

+1

Otra forma útil de saltar a la declaración: mueva el cursor a algún lugar de la clase o nombre del método y presione ** F3 ** – derekerdmann

7

Sólo otro consejo.

Uso Ctrl-Shift-R a abrir rápidamente un recurso (se obtiene una autocompletar desplegable) y Ctrl-Shift-T abrir rápidamente una clase Java. La lista también se completará automáticamente con los archivos abiertos más recientes.

+0

Los uso todo el tiempo, muy útil cuando tiene demasiados paquetes;) –

18

Para todos mis proyectos androide que prefiero para ordenar código en la siguiente estructura:

com.company.projectname es el paquete de la aplicación. paquetes subyacentes:

model - todos mis negocios objetos

logic - servicios y los objetos que implementan la lógica de negocio

screens - todas las actividades del proyecto. Si las actividades requieren adaptadores, etc., cada actividad se coloca en un paquete separado en el paquete de pantallas y las cosas relacionadas se colocan en el mismo proyecto.

tools - paquete con clase de utilidad. ConfiguracionesUtilizar y demás.

En la raíz del paquete, generalmente tengo la interfaz Constants.java con constantes.

+0

Muchas gracias ! @Vladimir, ¿crees que podrías ayudarme aquí http://goo.gl/MAjgTh ?? – eddy

2

por su preocupación " No puedo usar eso para saltar rápidamente a una definición de diseño xml ", puede hacer clic en el nombre del diseño xml, luego ctrl + shift + R lo llevará a esa página de definición.

Cuestiones relacionadas