2011-10-04 4 views
6

Qualcuno può fornire alcune strategie per organizzare il mio progetto in modo che sia pulito? Di 'che ho un sacco di attività; è bene metterli tutti in un pacchetto separato, mentre mettiamo altre classi (come Adattatori personalizzati) in un altro pacchetto per separare meglio la "logica"?Organizzazione di file di codice/file XML per Android SDK

Inoltre, durante la creazione di file XML per i layout, come dovrei separare i file XML del layout logicamente se ho alcuni layout che sono per determinate attività e altri file di layout XML per "righe" personalizzate (da usare con un adattatore) I non voglio semplicemente buttarli tutti in res/layout - diventerebbe una seccatura enorme quando il progetto diventerà davvero grande.

risposta

8

Dire che ho un sacco di attività; è bene inserirli tutti in un pacchetto separato , mentre inserendo altre classi (come ad esempio gli adattatori personalizzati ) in un altro pacchetto per separare meglio la "logica"?

io non sono sicuro di quello che le migliori pratiche sono, ma ecco come organizzo le mie applicazioni: tendo a mettere le mie attività in com.foo.appname.activity, fornitori di contenuti in com.foo.appname.content, servizi in com.foo.appname.service, e le utility generiche in com.foo.appname.utils.

Per classi di supporto come Adapters utilizzate solo da un'attività, in genere le classi interne statiche. Se sono utilizzati in più attività, darei loro visibilità a livello di pacchetto nel pacchetto di attività.

Non voglio a tutti loro buttare in res/layout di

Non credo che i res directory sono autorizzati ad avere le sottodirectory, quindi la cosa migliore che puoi fare è venire con un buon schema di denominazione. Di solito prefisso il file di layout con il tipo: activity_foo.xml, fragment_foo.xml, ecc.

+0

Questa è roba buona, grazie Erich! – volk

2

Tutti questi suggerimenti, ovviamente sono la vostra scelta. Ma quando sviluppo qualcosa, uso per separare il livello logico dai livelli e dalle classi "visibili". Voglio dire che io uso diversi pacchetti per

a) Activites 
b) Classes or Objects 
c) Interface classes 
d) Database classes 
e) Interaction with Database 

Creo anche diversi pacchetti per tutti loro, in modo da poterli organizzare meglio. Ma questa è sempre la tua scelta.

E con il layout ... Non so se è possibile organizzare meglio il layout. Quando generi il tuo progetto, se vedi, nella tua cartella gen c'è la classe R.java. Quella classe rileva automaticamente cartelle come layout, disegnabili, non elaborate ... Ma non sono sicuro che sia possibile creare sottocartelle al suo interno.