code organization - Tips on organizing larger Android projects? -


my current project getting awfully large. have dozens of activities, adapters, fragments, layout xmls, , other resources.

in (smaller) previous projects organized stuff 1 package / 1 category style. had com.stuff.xy.adapter, com.stuff.xy.activity, , on. these packages contain many items, , find myself wasting considerable amounts of time searching specific class in package hierarchy.

i use eclipse, , there shortcuts 1 can use (go class definition e.g.), tend situational (i can't use jump layout definiton xml).

could share tips on organizing large scale projects efficiently? or plugins perhaps? (it might example if group source files deal specific application screen - adapters, layouts, activity , fragment code - can open them)

edit: after many months developing large projects

first tried go working sets eclipse. didn't cut me, problem our single android project big, containing many resources, classes, interfaces, etc. messing around working sets in context of single project took time, think they're useful organize projects in single workspace.

on long run separated our huge single project many smaller android-library projects , single "main application" project depended on these smaller ones. way split resources among these library projects (there many layouts, values, styles used in parts in application) , code of course. created base library, other libraries depended upon, , contained resources , (base)classes every part of application needed.

in eclipse, can use working sets filter source/layout/resource files in project explorer view. bit more powerful packages, since operates on files including layout , image assets, not java source files.

for example, create home working set contains homeactivity.java, homeadapter.java, res/layout/home.xml, res/drawable/home_icon.png, etc.


Comments

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -