Jaką macie strukturę pakietów w swoich aplikacjach. Ja wzorując się a aplikacji GoogleIO mam coś takiego:

 com.exmaple.androidhd
com.exmaple.androidhd.adapter
com.exmaple.androidhd.brochures
com.exmaple.androidhd.browser
com.exmaple.androidhd.exception
com.exmaple.androidhd.home
com.exmaple.androidhd.location
com.exmaple.androidhd.map
com.exmaple.androidhd.misc
com.exmaple.androidhd.model
com.exmaple.androidhd.sync
com.exmaple.androidhd.ui
com.exmaple.androidhd.util
com.exmaple.androidhd.view
com.exmaple.androidhd.webview
com.exmaple.androidhd.widget

Czyli oddzielne pakiety na Fragment, Activity w com.exmaple.androidhd.ui, komunikację z serwerem i parsowanie w com.exmaple.androidhd.sync. Gdy jakiś komponent zaczyna zbierać coraz więcej plików, to przenoszę go do oddzielnego pakietu, jak tu np.: com.exmaple.androidhd.brochures, com.exmaple.androidhd.browser, com.exmaple.androidhd.webview.

I tu pojawia się pytanie, czy powinienem przenosić tam wszystkie klasy związane z danym komponentem (jeśli są tylko przez ten komponent wykorzystywane), czy też może pozostawić je w starym pakiecie. Np. com.exmaple.androidhd.model zawiera całkiem dużo obiektów reprezentujących struktury danych wykorzystywanych w aplikacji.

Może lepszy byłby taki podział:

 com.exmaple.androidhd
com.exmaple.androidhd.adapter
com.exmaple.androidhd.exception
com.exmaple.androidhd.home
com.exmaple.androidhd.location
com.exmaple.androidhd.map
com.exmaple.androidhd.misc
com.exmaple.androidhd.model
com.exmaple.androidhd.sync
com.exmaple.androidhd.ui.brochures
com.exmaple.androidhd.ui.browser
com.exmaple.androidhd.ui.webview
com.exmaple.androidhd.ui
com.exmaple.androidhd.util
com.exmaple.androidhd.view
com.exmaple.androidhd.widget

?
Trochę poogóglałem i wychodzi na to, że to jest pytanie Package by feature vs Package by layer
http://www.javapractices.com/topic/TopicAction.do?Id=205