Pix*_*aku 7 java android build.gradle
我希望将 Android 项目模块化,以便将来使用时易于维护。我想知道是否有可能将一个 Android 项目用作另一个 Android 项目中的模块?
例如,假设在我的主要 android 项目中,我有三个按钮用于登录、注册、忘记密码。我有三个独立的项目,用于登录、注册和忘记密码,并带有自己的视图、活动和库。如何在主 Android 项目中使用这些单独的 android 项目,以便当我单击主活动视图中的三个选项中的任何一个时,它将从这三个模块项目中加载相关视图?(单击主视图中的登录按钮并从单独的登录项目活动加载登录视图)。我试图摆弄构建文件和库模块导入,但无法做到。帮我说这种方法是否可行?如果可能的话如何实现呢?
Kha*_*ela 13
根项目中的settings.gradle包含每个项目。
include ':loginApp'
include ':signupApp'
include ':resetpasswordApp'
project(':loginApp').projectDir = file('path/to/LoginApp')
project(':signupApp').projectDir = file('path/to/SignupApp')
project(':resetpasswordApp').projectDir = file('path/to/ResetpasswordApp')
Run Code Online (Sandbox Code Playgroud)
build.gradle的主模块
implementation project(':loginApp')
implementation project(':signupApp')
implementation project(':resetpasswordApp')
Run Code Online (Sandbox Code Playgroud)
是的,这是可能的。您当前的项目基本上也是一个模块。查看app文件夹。
一种简单的方法是创建一个新模块(android 库),其名称与当前模块的名称不同,默认情况下为app. 我们就这样称呼它吧bigapp。该模块将具有与您一样的所有属性,app您也可以选择从调试配置运行它。
转到 settings.gradle 并确保文件读取include ':app', ':bigapp'
要使用bigapp并调用其函数,请将其导入您的依赖项中。这将是build.gradle应用程序模块的文件。
dependencies {
implementation project(":bigapp")
}
Run Code Online (Sandbox Code Playgroud)
MainActivity现在让我们从我们的应用程序模块开始
startActivity(new Intent(this, com.lucemanb.bigapp.MainActivity.class));
Run Code Online (Sandbox Code Playgroud)
您也可以在顶部导入它,然后简单地调用MainActivity
import com.lucemanb.bigapp.MainActivity;
---
private void startActivity(){
startActivity(new Intent(this, MainActivity.class));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3316 次 |
| 最近记录: |