Android大规模项目 - 可以分成几个图书馆项目吗?

时间:2012-07-12 03:19:28

标签: android android-library

我要开发一个非常大规模的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等。

请告知。

2 个答案:

答案 0 :(得分:1)

库拥有多个应用程序的共享代码......如果您完全专注于单个应用程序,那么将代码分成5-6个库项目是毫无意义的。

Android开发人员分离项目的一种常见方式是为不同的组件制作子包。例如,自定义View和适配器进入com.package.name.ui,实用程序包进入com.package.name.util等。除此之外,您只需要聪明......从头开始创建应用程序这将有“数以千计的课程”听起来非常雄心勃勃,并没有任何一条建议会让你的生活变得轻松。

答案 1 :(得分:1)

每个模块是否彼此分离,还是共享数据(例如同一个数据库)?如果他们是分开的,我建议创建8个独立的应用程序,这将减少您的应用程序的内存占用,并将改善启动时间。

如果某些或全部使用相同的数据库,您可以在SD卡上创建数据库并从每个单独的应用程序中使用它。