2019独角兽企业重金招聘Python工程师标准>>>

项目大了就需要拆分,这里简单用个示例来入门。

像平常一样创建一个android项目

创建一个新的模块

新建一个模块(New Module),选择Android Library。

最终两个项目结构:

代码

settings.gradle中内容:

include ':app', ':mylibrary'

在主模块app的build.gradle中的dependencies中增加:

compile project(":mylibrary")

MainActivity内容如下:

package test1.letiantian.me.myapplication;import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;import test1.letiantian.me.mylibrary.TestActivity;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btn = (Button) findViewById(R.id.btn);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this,TestActivity.class);startActivity(intent);}});}
}

activity_main.xml内容如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="test1.letiantian.me.myapplication.MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"/><Buttonandroid:id="@+id/btn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="进入library中的activity"/></LinearLayout>

TestActivity内容如下:

package test1.letiantian.me.mylibrary;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;public class TestActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_test);Button btn = (Button) findViewById(R.id.btn);btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(getApplicationContext(), "测试toast", Toast.LENGTH_SHORT).show();}});}
}

activity_test.xml内容如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_test"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:orientation="vertical"tools:context="test1.letiantian.me.mylibrary.TestActivity"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="测试页面"/><Buttonandroid:id="@+id/btn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="toast一下"/></LinearLayout>

值得注意:两个布局文件中的button的id都是btn

效果

转载于:https://my.oschina.net/letiantian/blog/867913

Android 多模块项目入门相关推荐

  1. dagger android,dagger.android多模块项目实现

    本文适合有一定的Dagger2使用基础的同学 前两篇文章我们讲了两种多模块项目怎么使用Dagger2. 发现在每个Activity的onCreate中都需要调一个inject方法NewsCompone ...

  2. gradle构建多模块项目_Gradle入门:创建多项目构建

    gradle构建多模块项目 尽管我们可以仅使用一个模块来创建一个运行中的应用程序,但有时将我们的应用程序划分为多个较小的模块是比较明智​​的. 因为这是一个相当普遍的用例,所以每个自重的构建工具都必须 ...

  3. android添加工程依赖工程,Android Studio为项目加上模块依赖的图文方法

    一些用户们在使用Android Studio的时候,不是很熟悉其中是怎么为项目加上模块依赖?今日这篇文章就带来了Android Studio为项目加上模块依赖的图文方法. Android Studio ...

  4. Xposed模块开发入门-最基本的项目创建

    本人结合网络上的种种教程以及自己实践,记录下一个完整的基本Xposed模块项目的创建过程. 开发环境: Mac系统 AndroidStudio 3.2.1 gradle 3.2.1 VirtualXp ...

  5. 五天入门SpringBoot(4)--多模块项目(对比visual studio)

    1.创建框架应用 创建后,因为只是一个框架,可删除src目录以及src目录里所有内 2.创建King-Base模块项目 创建成功后,在主项目下将包含models标签 需要注意的是:此处的模块不会像vi ...

  6. 140款Android开源优秀项目源码

    140款Android开源优秀项目源码 BeautifulRefreshLayout-漂亮的美食下拉刷新 https://github.com/android-cjj/BeautifulRefresh ...

  7. Xposed 模块开发入门

    Xposed模块开发入门 阅读本文之前,你应该准备好以下事项: 安装 Android Studio,并完成配置 掌握 Xposed 的安装和使用方法 拥有阅读 Java 代码的能力 阅读本文之后你将掌 ...

  8. Android开发的经典入门教材和学习…

    Android开发的经典入门教材和学习路线? 1.想利用寒假期间学习Android开发,了解到应该先学习Java,不知道选哪本书入门,学习Java和Android有什么经典教材,适合初学者.(有C++ ...

  9. Android 4游戏编程入门经典

    <Android 4游戏编程入门经典> 基本信息 原书名:Beginning Android 4 Games evelopment 作者: (美)Mario Zechner Robert ...

最新文章

  1. hql投影查询之—— [Ljava.lang.Object; cannot be cast to cn.bdqn.guanMingSys.entity.Notice
  2. Python读写文件(附完整模块化代码)
  3. grid安装前检查报PRVE-0426:/dev/shm less than the require
  4. 【MyBatis笔记】日志
  5. 何凯明MAE局限性被打破,与Swin 结合,训练速度大幅提升!
  6. android截屏方法是黑屏,Android截屏表面视图显示黑屏
  7. 用户画像理解和方法论
  8. MMA7455加速度传感器测量角度
  9. 跨境电子商务( Cross-Border Electronic Commerce )是什么?
  10. 清理winsxs的小工具
  11. JavaWeb之上传与下载
  12. MtaEdt22.exe修改IIS连接数无效的另类解决连接数的方法
  13. ubuntu16.04录制4K屏软件使用备注
  14. Oracle 11g安装报错
  15. 中兴网络设备交换机路由器查看BGP状态检查命令方法
  16. Phaser并发阶段器
  17. Erasure Code - EC纠删码原理
  18. 小米5怎样升级android,小米5开发版怎么升级Android 7.0?小米5开发版升级Android 7.0教程...
  19. python 之 第一次亲密接触
  20. php简易留言板功能,php简单的留言板与回复功能具体实现

热门文章

  1. C#中sql备份与还原
  2. KandQ:单例模式的七种写法及其相关问题解析
  3. 4周第4次课 压缩打包介绍 gzip bzip2 xz压缩工具
  4. Linux系统管理_ACL访问控制-Redhat Enterprise 5
  5. 贪心算法——字典序最小问题
  6. Ubuntu安装teamviewer
  7. 《回答sort一例》-linux命令五分钟系列之二十八
  8. 鼠标悬浮标签显示提示内容
  9. swift网络数据请求方法
  10. pselect 和 select