2010-08-12 12 views
9

Estoy trabajando en una aplicación para Android y tengo hasta 17 clases. Quiero comenzar a organizar los archivos de clase .java en un diseño más intuitivo.Cómo organizar el código fuente de Android en carpetas

Digamos que quiero tener un directorio de código fuente llamado "vistas". Cuando creo ese directorio usando Eclipse, cambia mi nombre de paquete a com.xyz a com.xyz.views.

Dado que este nombre de paquete (com.xyz.views) es diferente que el resto de mi aplicación (com.xyz) ¿me va a hacer mucho trabajo extra para vincular esos paquetes? ¿Esto causará problemas con el hecho de que Android Market mira el nombre del paquete y está más o menos bloqueado con el nombre del paquete?

Respuesta

9

Estoy organizando mi aplicación src en diferentes subcarpetas. No hay problema con eso

es esto va a causar que haga una gran cantidad de trabajo extra para enlazar los paquetes

no es que lo que una IDE inteligente sería hacer cuando refactoriza las clases a través del contexto 'refactor' ¿menú? Al menos Eclipse e IntelliJ deberían hacer eso.

En mi manifiesto, tengo

<manifest package="com.myapp.android" 

mientras mis actividades por ejemplo (en su caso serían vistas '') se hace alusión como:

<activity android:name=".activity.main.Splash" 

funciona bien para mí.

Por lo tanto, parte de mi estructura de carpetas es por ejemplo

com/myapp/android/ 
com/myapp/android/activity 
com/myapp/android/util 
com/myapp/android/model 
+1

y no hay ningún problema con los identificadores? puedes acceder a todo con facilidad? –

+1

@ user1330645 Sí, no hay problema con los ID. Los ID generados automáticamente son solo los que provienen de los archivos de recursos xml; no pueden estar en ninguna subcarpeta. Pero en cuanto a las clases de Java, pueden estar en subcarpetas, e independientemente de ellas, todas pueden acceder a las mismas ID de recursos de la misma manera. –

3

Java funciona de esa manera, que utiliza archivos separados para las clases públicas y carpetas por separado para los paquetes. Si desea una carpeta de origen, también obtendrá un paquete de Java correspondiente. Un IDE inteligente debe encargarse de las importaciones y referencias para usted.

Los subpaquetes deben ser manejados por Android sin problemas, no se preocupe por eso.

Cuestiones relacionadas