iOS 伪组件专题

移动客户端业务层组件化(4)- 我们的方案Android篇

2016-07-26  本文已影响129人  老邢Thierry

iOS的组件间通讯方案核心问题是解决:注册服务、发现服务、调用服务的过程,Android由于每个Activity在安装时就被注册到系统中且可以跨进程可见、跨进程调用,因此无需特殊实现,使用隐式Intent即可。

针对iOS中的六种场景,Android对应的实现:

** 场景1:A组件内部Activity互相调用:**
使用显示Intent,eg:

startActivity(new Intent(this, AlbumActivity.class))

** 场景2:A组件的Activity1调用B组件的Activity2**
使用隐式Intent,eg:

startActivity(new Intent(Intent.ACTION_VIEW, "eg_album"))

** 场景3:外部应用通过URL调用B组件的Activity2**
同场景2

** 场景4:A组件里的H5通过URL调用B组件的Activity2**
同场景2

** 场景5:A组件里的H5通过URL调用A组件里的Activity1**
同场景2

** 场景6:A组件的VC1调用B组件的VC2,并需要拿到VC2的业务处理结果**
同场景2,调用方法改为startActivityForResult

注意:
由于Android Activity注册服务是跨进程可见且跨进程可调用的,因此需要对访问者身份及安全性做校验。

上一篇下一篇

猜你喜欢

热点阅读