Android库项目 – 定义类

前端之家收集整理的这篇文章主要介绍了Android库项目 – 定义类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
嘿! (在这里为长篇文章道歉)

我正在编写一些基于相同代码的应用程序.

每个应用程序都会有不同之处,有些会有新的活动,所有应用程序都会分配不同的资源.

我正在尝试使用Android库项目,以便将所有公共代码放在一个位置,因此只需进行一次主要更改,所有项目都将更新.

现在,资源是一个简单的解决方案,因为我可以在主应用程序中定义每个资源,只要命名约定保持不变,这些资源将覆盖库项目中的资源.

现在,我的问题是如何对课程做同样的事情?例如,ill有一个基本视图作为所有视图中公共代码的包装器.在此,我发起各种活动.如果所有三个应用程序需要启动不同的活动,因为它们将包含不同的UI和功能,该怎么办?我怎么会这样呢?库项目永远不会知道主项目想要使用不同的活动,因为它已经被编译.

我有几个我想到的解决方案,但我想知道是否有其他人有想法?这对任何反馈都有很大的帮助:

>要启动的库项目中的活动存储对要加载的类的引用,该引用将在主应用程序的启动时定义.这是当库项目调用此活动时,它可以加载它被告知的内容.
>我保留了库项目活动中不会改变的所有功能.然后,我扩展了这个活动,并覆盖onCreate以执行我需要的操作(例如加载不同的布局,设置视图等).现在这有一个缺点,因为我必须在我的主应用程序而不是库项目中定义大多数入口点.

我希望你关注我的问题.请问我是否解释过这个问题.

谢谢,

亚当

解决方法

或者更简单:您是否应该使用继承或组合来实现这种灵活性?

我也有这种结构任务.通常你会通过重复使用适用的模式和解决方案来解决它.以较小的碎片打破必要的代码部分.即如果你知道不同的是视图,那么将它提取到一些可以针对公共接口实现的杰出类中,并引用基本活动中的接口.

一些链接

> http://tiedyedfreaks.org/eric/CompositionVsInheritance.html
> http://mindview.net/Books/TIPatterns/
> http://en.wikipedia.org/wiki/Decorator_pattern – 可能适用于您的情况

至少从我如何理解你的问题来看,这更像是一个OOP设计问题.

猜你在找的Android相关文章