0
A
回答
3
恐怕不太什么的Android库项目是一回事,但你可以通过使用实现这一java语言本身的接口和类继承特性。
库项目似乎很好地处理了子项中父项的合并/重写资源,并让您使用具有不同应用程序包名称的一个代码库。
鉴于有关使用库项目有使用AdMob和一个犯规,我已经修订这个答案的应用程序的一个版本更新后的评论...
假设你不介意包装的AdMob库(〜 138KB)中,最简单的做法是扩展Applcation类,并在其中声明枚举和静态方法来决定是否显示AdMob广告。
public class Application extends android.app.Application
{
public enum EditionType { LITE, FULL};
public static int getAdVisibilityForEdition(Context ctx)
{
if (EditionType.valueOf(ctx.getString(R.string.edition)) == EditionType.FULL)
{
return View.GONE;
}
return View.VISIBLE;
}
}
您只会将此类添加到库项目中。在这三个项目中,您需要添加一个条目,/res/Strings.xml这样:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="edition">LITE</string>
</resources>
它不事关什么这个字符串的值是库项目,但你会分别使用FULL和LITE在支付和广告支持版本中进行更改。
最后,为了响应这些值的活动,呼吁这样的事情在你的onCreate()或的onResume():
View ad = (View)this.findViewById(R.id.your_adMob_view_id)
ad.setVisibility(Application.getAdVisibilityForEdition
(this.getApplicationContext()));
这将很好地工作的AdMob随着AdMob代码不会实际尝试获得如果视图不可见,则为广告。
如果您真的不想为AdMob jar和完整版中所需的清单权限添加额外的138K,则可以使用更优雅的方法来执行此操作,但会涉及在AdMob内容中使用某种包装并改变版本之间的xml布局(以包含AdMob视图或不包含)或以编程方式将AdMob视图注入布局。
希望有所帮助。
相关问题
- 1. Android库项目
- 2. Android将项目转换为库项目
- 3. android-maven-plugin和库项目
- 4. Android Lint:忽略库项目
- 5. android库项目中的java.lang.verifyerror
- 6. Multidex在Android库项目中?
- 7. Android库项目 - 资源$ NotFoundException
- 8. Android库项目 - 定义类
- 9. Android ORMLite DatabaseConfigUtil和库项目
- 10. Android项目中的Java库
- 11. android主题和库项目
- 12. Android图库项目聚焦?
- 13. Android项目库不爽快?
- 14. 只创建Android库项目
- 15. Gradle外部Android库项目
- 16. Android库项目 - 导出
- 17. 如何在Android Studio中的库项目中包含库项目
- 18. 麻烦添加库Android项目的UI Android项目
- 19. Android库项目中的菜单项ID?
- 20. 目的和一个Android库项目
- 21. 用JAR库替换Android库项目?
- 22. 从Android库项目生成混淆库
- 23. 构建使用ANT引用库项目的Android项目
- 24. Android原生项目引用从C++库项目
- 25. 如何将一个库项目添加到一个android项目?
- 26. Eclipse的Android项目失去参考库项目 - ViewPagerIndicator
- 27. 来自Android库项目的参考主机项目字符串
- 28. Android:在项目中添加Android库作为maven依赖项
- 29. 由Android项目引用的Android库中的Java库引发NoClassDefFound
- 30. Jar,Android库和Android库项目之间的差异
如何使用“接口和类继承”(只是快速浏览)...? – yydl 2011-04-11 21:07:14
好吧,它是所有面向对象语言中的一个中心概念,可能很难给出快速概述。你可以从http://download.oracle.com/javase/tutorial/java/IandI/subclasses.html开始,或者如果你可以举一个你想做的事情的例子,也许我们可以提供帮助。 – mmeyer 2011-04-11 21:30:37
但是我不能在库中引用这些子类,因为它们只会在决赛中存在。 – yydl 2011-04-11 22:42:55