2010-08-12 19 views
9

Sto lavorando su un'app per Android e fino a 17 classi. Voglio iniziare a organizzare i file di classe .java in un layout più intuitivo.Come organizzare il codice sorgente Android in cartelle

Dire che voglio avere una directory del codice sorgente chiamata "viste". Quando creo quella directory usando Eclipse, cambia il nome del mio pacchetto in com.xyz in com.xyz.views.

Poiché questo nome di pacchetto (com.xyz.views) è diverso dal resto della mia app (com.xyz), questo mi causerà un sacco di lavoro extra per collegare questi pacchetti? Ciò causerà problemi con il fatto che Android Market analizza il nome del pacchetto ed è più o meno bloccato rispetto al nome del pacchetto?

risposta

9

Sto organizzando il mio src dell'app in diverse sottocartelle. Non c'è nessun problema con esso.

è questa intenzione di provocare me di fare un sacco di lavoro extra per collegare quei pacchetti

non è che ciò che una smart IDE avrebbe fatto quando si refactoring le classi attraverso il contesto 'refactoring' menu? Almeno Eclipse e IntelliJ dovrebbero farlo.

Nel mio manifesto, ho

<manifest package="com.myapp.android" 

mentre le mie attività, ad esempio (nel tuo caso sarebbe 'viste') si fa riferimento come:

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

funziona bene per me.

Così, parte della mia struttura di cartelle è per esempio

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

e non ci sono problemi con gli ID? puoi accedere a tutto facilmente? –

+1

@ user1330645 Sì, nessun problema con gli ID. Gli ID generati automaticamente sono solo quelli provenienti dai file di risorse xml - non possono essere in alcuna sottocartella. Ma per quanto riguarda le classi java, possono essere in sottocartelle e, indipendentemente da queste, possono accedere allo stesso ID di risorsa nello stesso modo. –

3

Java funziona così, esso utilizza file separati per le classi pubblici separati e le cartelle per i pacchetti. Se vuoi una cartella sorgente, otterrai anche un pacchetto Java corrispondente. Un IDE intelligente dovrebbe occuparsi delle importazioni e dei riferimenti per te.

I sottopacchetti devono essere gestiti da Android bene, non preoccuparti.

Problemi correlati