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

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

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

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

【问题讨论】:

    标签: android android-studio android-activity


    【解决方案1】:

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

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

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

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

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

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      文件>>导出

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-09
        • 1970-01-01
        • 2021-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-13
        相关资源
        最近更新 更多