android项目中包的正确使用
Posted
技术标签:
【中文标题】android项目中包的正确使用【英文标题】:Right use of packages in android project 【发布时间】:2016-05-12 08:39:18 【问题描述】:我正在处理一个包含很多类的项目,我想在包中正确地构造它们。我担心一件事:
活动生命周期被修改为protected,并且有一个java规则:
子类只有通过继承才能看到受保护的成员
我也在使用片段,所以我的问题是:
-
我可以在不同的包中构建活动和片段吗
没有不必要的“副作用”?
如果是这样,定义包结构的正确方法是什么 - 例如,是否将“模型数据”放入不同的包中是正确的方法,以及来自服务器的数据(例如 Parse.com)呢?
【问题讨论】:
是的,你可以。 :) 使用包管理类没有明显的副作用。 @kopikaokao 您的回答是基于个人经验吗?你能回答最后一部分吗? @Kagemusha 感谢您的编辑 :) 这是基于我个人的经验,java包的主要用途是防止命名冲突,控制访问,使类、接口、枚举和注释的搜索/定位和使用更容易,等等,正如link 中所引用的那样。至于最后一个问题,没有有限的答案。这取决于您的喜好。 @kopikaokao 谢谢 :) 【参考方案1】:Java 中的包是一种封装一组类、接口和子包的机制。 Java 的许多实现使用分层文件系统来管理源文件和类文件。将类文件组织成包很容易。
我可以在不同的包中构建活动和片段吗 没有不必要的“副作用”?
是的,你可以。它没有任何副作用。相反,它将以有条理的方式进行,便于您搜索和维护。
如果是这样,定义包结构的正确方法是什么 - 对于 示例是将“模型数据”放在不同包中的正确方法 与否,以及来自服务器的数据怎么样,例如 Parse.com?
是的,你应该为 MODEL 、 CONTROLLER 、 VIEWS 等制作不同的包
我们需要包因为
-
抽象
保护
方便
命名空间控制
可重用性
查看this 了解更多说明。
【讨论】:
以上是关于android项目中包的正确使用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 android 库 gradle 项目中包含依赖项?
在 Android 项目中包含 MPChartLib [重复]
Android - 在我自己的项目中包含原生 StageFright 功能