在另一个项目中插入活动的正确方法是啥?
Posted
技术标签:
【中文标题】在另一个项目中插入活动的正确方法是啥?【英文标题】:What is the right way to insert an activity in another project?在另一个项目中插入活动的正确方法是什么? 【发布时间】:2016-07-18 02:57:57 【问题描述】:我有一个 android Studio 项目
其中包含一个登录活动以及相关的style
、manifest
、IntentService
和其他内容。
我想在许多其他应用程序中插入这个小项目,最好的方法是什么? 模块是正确的方式吗?
最终目标仍然是易于维护,例如如果有一天服务器应该更改 URL,我将不必在任何使用此登录活动的应用程序中进行更改 :-)
【问题讨论】:
【参考方案1】:您需要将这些组件提取到单独的module:
模块是一个独立的功能单元,您可以对其进行编译, 独立运行、测试和调试。
模块包含其特定任务所需的一切: 源代码、构建脚本、单元测试、部署描述符和 文档。但是,模块存在并且仅在 项目的上下文。
然后,include that module 在所有使用它的项目中。
其实你可以在自己的独立"library" project中创建模块。 add it as a dependency 用于所有使用它的项目。
更进一步,您可以将开源库项目的输出发布为.aar
或.jar
在 maven Central、jcenter 和其他公共存储库上。然后其他人也可以使用您的模块。
创建 android 库项目时要记住的一些要点:
库的资源(字符串、布局、xml、图像)将在构建时与最终项目的资源合并。您模块的 R
类仍将保留在您模块的包名称下。
库清单文件中的某些属性可能会合并到最终项目的属性中(例如 <application>
的属性)。所以,一个库模块应该有一个最小的清单文件,最多有包名。
您可以在库模块中包含示例应用程序项目,但不要使用库重新分发示例应用程序项目。这会给使用您的库构建应用程序的人带来麻烦。
【讨论】:
【参考方案2】:我认为你需要做的是先导出你的原始项目:
文件>>导出
然后转到您的新项目并导入原始项目。 不要忘记修改 setContentView() 方法以指向您的原始活动(您导入的活动)
最后不要忘记你的意图方法! 如果您有任何问题,请告诉我,我会为您创建详细的答案,但我认为您会没事的!
【讨论】:
以上是关于在另一个项目中插入活动的正确方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
声纳:在一个项目中索引了 0 个文件,在另一个项目中正确扫描