使用Android Studio多模块开发
2016-09-09 18:39
246 查看
项目中使用多模块开发可以有助于各个功能模块分开,方便开发人员的开发和维护。
这篇文章简要介绍下自己摸索的多模块开发的心得。
首先新建一个Project,我的项目名称是:MutipleModule。这里的步骤大家应该都知道,所以不多说。项目结构截图如下:
其次点击项目右键,选择New—>Module
然后会弹出一个选择“添加哪一种类型的Module”的界面,这里我们选择Android Library,然后设置自己Module的名称以及包名等信息,这里我的module名称是:libraryone。
建好Module后项目结构如下:
注意还有最重要的一步就是打开项目的Projuct Structure界面:
选中我们的主Module,选中Dependencies Tab项,点击“+”号,选择Module Dependency。这样添加依赖后在不同模块之间相互引用可以自动添加import语句等。
接着会弹出如下界面,选择我们刚才建的Module。(实际开发中如果有多个Module,则根据项目的实际情况选择自己需要的Module即可)
上面的步骤操作完成后在主Module的build.gradle会看到下面的语句:
当然如果你操作熟练也可以直接在主Module的build.gradle文件中直接添加这行语句。
至此所有的准备工作完成了,你可以直接在不同的模块间相互应用。在本文中是使用主Module的MainActivity打开libraryone模块的FirstActivity界面。简单贴出代码如下:
MainActivity:
activity_main.xml:
FirstActivity:
activity_first:
运行程序启动App后点击MainActivity(主Module)界面的按钮即可打开FirstActivity(libraryone Module)。
这篇文章简要介绍下自己摸索的多模块开发的心得。
首先新建一个Project,我的项目名称是:MutipleModule。这里的步骤大家应该都知道,所以不多说。项目结构截图如下:
其次点击项目右键,选择New—>Module
然后会弹出一个选择“添加哪一种类型的Module”的界面,这里我们选择Android Library,然后设置自己Module的名称以及包名等信息,这里我的module名称是:libraryone。
建好Module后项目结构如下:
注意还有最重要的一步就是打开项目的Projuct Structure界面:
选中我们的主Module,选中Dependencies Tab项,点击“+”号,选择Module Dependency。这样添加依赖后在不同模块之间相互引用可以自动添加import语句等。
接着会弹出如下界面,选择我们刚才建的Module。(实际开发中如果有多个Module,则根据项目的实际情况选择自己需要的Module即可)
上面的步骤操作完成后在主Module的build.gradle会看到下面的语句:
当然如果你操作熟练也可以直接在主Module的build.gradle文件中直接添加这行语句。
至此所有的准备工作完成了,你可以直接在不同的模块间相互应用。在本文中是使用主Module的MainActivity打开libraryone模块的FirstActivity界面。简单贴出代码如下:
MainActivity:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { findViewById(R.id.btn_start_module).setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { 4000 Intent intent = new Intent(MainActivity.this,FirstActivity.class); startActivity(intent); } } ); } }
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/btn_start_module" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击启动第二个模块的!" android:layout_centerInParent="true"/> </RelativeLayout>
FirstActivity:
public class FirstActivity extends AppCompatActivity{ @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_first); } }
activity_first:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="第二个模块!" android:layout_centerInParent="true"/> </RelativeLayout>
运行程序启动App后点击MainActivity(主Module)界面的按钮即可打开FirstActivity(libraryone Module)。
相关文章推荐
- Android中RxJava详解
- Android 蓝牙通信开发(二) 创建蓝牙连接
- android 获取手机网速
- 【android】自定义全屏dialog显示+listview
- Android中View的基础知识
- LayoutInflater 的正确用法和原理
- 直接拿来用!最火的Android开源项目(完结篇)
- android studio添加忽略
- 【记录】 Android 双卡手机获取IMEI等
- Android系统启动过程
- 如何看Android的UML 图?
- Android之百度地图开发,包含定位,覆盖物,经纬度位置转换,长按设置中心位置
- AndroidM: Launcher3: 流程源码分析
- Android Fragment 真正的完全解析(上)
- Android—Intent详解
- Android广播机制
- Android联系人数据库读取
- Android6.0权限适配
- Android中关于Fragment的那些事、那些坑
- android ThreadLocal 深入解析