在另一个项目中插入活动的正确方法是啥?

Posted

技术标签:

【中文标题】在另一个项目中插入活动的正确方法是啥?【英文标题】:What is the right way to insert an activity in another project?在另一个项目中插入活动的正确方法是什么? 【发布时间】:2016-07-18 02:57:57 【问题描述】:

我有一个 android Studio 项目 其中包含一个登录活动以及相关的stylemanifestIntentService 和其他内容。

我想在许多其他应用程序中插入这个小项目,最好的方法是什么? 模块是正确的方式吗?

最终目标仍然是易于维护,例如如果有一天服务器应该更改 URL,我将不必在任何使用此登录活动的应用程序中进行更改 :-)

【问题讨论】:

【参考方案1】:

您需要将这些组件提取到单独的module:

模块是一个独立的功能单元,您可以对其进行编译, 独立运行、测试和调试。

模块包含其特定任务所需的一切: 源代码、构建脚本、单元测试、部署描述符和 文档。但是,模块存在并且仅在 项目的上下文。

然后,include that module 在所有使用它的项目中。

其实你可以在自己的独立"library" project中创建模块。 add it as a dependency 用于所有使用它的项目。

更进一步,您可以将开源库项目的输出发布为.aar.jar 在 maven Central、jcenter 和其他公共存储库上。然后其他人也可以使用您的模块。

创建 android 库项目时要记住的一些要点:

    库的资源(字符串、布局、xml、图像)将在构建时与最终项目的资源合并。您模块的 R 类仍将保留在您模块的包名称下。

    库清单文件中的某些属性可能会合并到最终项目的属性中(例如 <application> 的属性)。所以,一个库模块应该有一个最小的清单文件,最多有包名。

    您可以在库模块中包含示例应用程序项目,但不要使用库重新分发示例应用程序项目。这会给使用您的库构建应用程序的人带来麻烦。

【讨论】:

【参考方案2】:

我认为你需要做的是先导出你的原始项目:

文件>>导出

然后转到您的新项目并导入原始​​项目。 不要忘记修改 setContentView() 方法以指向您的原始活动(您导入的活动)

最后不要忘记你的意图方法! 如果您有任何问题,请告诉我,我会为您创建详细的答案,但我认为您会没事的!

【讨论】:

以上是关于在另一个项目中插入活动的正确方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 MFC 项目中使用资源文件的正确方法是啥?

声纳:在一个项目中索引了 0 个文件,在另一个项目中正确扫描

跨项目指定 XSD schemaLocation 的正确或正确方法是啥?

注销活动生命周期回调的正确方法是啥?

模块与命名空间:组织大型打字稿项目的正确方法是啥?

在 GitHub 上使用 Eclipse 进行 Java 项目的正确方法是啥