Android笔记-Android组件之间的通信

在我们应用App时,页面是怎么进行跳转的呢?其实这些都是靠Android的核心组件Intent来实现的。

Intent

        Intent负责对应用中的一次操作的动作、涉及的数据、附加数据进行描述,Android则根据此Intent的描述,负责找到相应的组件,然后将Intent传递给调用的组件,完成组件之间的调用。由于Intent可以方便地启动Activity和Service组件,从而将系统中互相独立的组件连接成可以互相通信的整体。根据Activity的启动方式,Intent支持显示启动和隐式启动。

1.显示启动

代码:Intent intent=new Intent(MainActivity.this,SubActivity.class);//(定义一个Activity)

 startActivity(intent);//启动Activity

以上代码的作用是从MainActivity这个类跳转到SubActivity类中。

2.隐式启动

代码:Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse("content://com.android.contacts/contacts"));

startActivity(intent);

以上代码是用了Intent的另一个构造函数,它没有指定对应的组件,这需要根据Android系统断定。其作用是打开系统中的通讯录界面,其中Uri的意思是统一资源标识符。

优点:不必与某个组件耦合,降低Android系统组件之间的耦合度,有利于组件分离,并允许替换应用程序中的元素,强调Android组件的可复用性。

PS:当显示启动和隐式启动同时存在时,隐式启动会被忽略。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,041评论 25 709
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,711评论 0 17
  • 九曲桥 王汉文 黄石九曲桥 斜跨在幽蓝的青山湖上 像一道折叠的彩虹 放射出奇异夺目的光 你我走在桥上 相互拍照 互...
    王汉文阅读 3,573评论 5 5
  • 每个人的生活,都是一本书 从3月20日开始,第一天日更,到今天正好三周期满。 我是今年1.9日接触的简书,因初中同...
    鹅公庄主阅读 3,931评论 24 23
  • 也许有一天 我会这样生活 在忙碌的日子里平平凡凡 咖啡杯里的茶 注满 见底 循环往复 搽试着相册上的尘土却再也不曾...
    圈爷爷阅读 1,111评论 0 0