我要开发一个非常大规模的android项目,它有数千个类和资源。我计划将应用程序分离到模块中,并将它们作为库项目单独开发。后来将它们组合在一起(应用程序可能包含5-6个模块,因此计划创建5到6个库项目并将它们组合起来)
这种方法可以吗?或Android专家,请建议一种维护和开发这样一个大项目的方法?
修改
图书馆拥有多个应用程序的共享代码 - >是同意100%真实
但是这个项目就像是几个项目的组合。 它是这样的:
Home Screen Dashboard有8个按钮,代表8个模块 你点击一个按钮 - >它打开了一个活动,它有自己的数千个片段,布局,绘图等,独立于其他模块
所以同样我有非相互依赖的用例,可以很容易地分开,4-5个开发人员将参与这个项目,所以如果我可以分成几个库项目,我可以简单地根据模块分配开发人员(图书馆项目)
因此,一种方法是创建一个项目并按模块创建包结构 com.name.something.Module1
在这个包下我有
com.name.something.Module1.activity
com.name.something.Module1.util
com.name.something.Module1.widget
com.name.something.Module1.data
com.name.something.Module1.dao
和模块2
com.name.something.Module2
com.name.something.Module2.activity
com.name.something.Module2.util
com.name.something.Module2.widget
等
所以这是第一种方法,但每个模块都有数千个类和资源,布局xml文件等。
另一种方法是将模块分离为库项目。 我不知道大型项目如何维护他们的代码库,比如facebook,twitter等。
请告知。
答案 0 :(得分:1)
库拥有多个应用程序的共享代码......如果您完全专注于单个应用程序,那么将代码分成5-6个库项目是毫无意义的。
Android开发人员分离项目的一种常见方式是为不同的组件制作子包。例如,自定义View
和适配器进入com.package.name.ui
,实用程序包进入com.package.name.util
等。除此之外,您只需要聪明......从头开始创建应用程序这将有“数以千计的课程”听起来非常雄心勃勃,并没有任何一条建议会让你的生活变得轻松。
答案 1 :(得分:1)
每个模块是否彼此分离,还是共享数据(例如同一个数据库)?如果他们是分开的,我建议创建8个独立的应用程序,这将减少您的应用程序的内存占用,并将改善启动时间。
如果某些或全部使用相同的数据库,您可以在SD卡上创建数据库并从每个单独的应用程序中使用它。