我的android学习视图的控制者 Activity-->Activity间的通信(1)

  次阅读 作者:智能小宝 来源:互联网 2016-01-14 10:49 我要评论(0)

一人难成大事,独木难造坚舟.那句说到烂,听到烦的话,团结就是力量.君不见成群结队的黑社会可以横行于市?

APP市场就是一个社会,每个Acitivity就像一个一个活生生的人,由他们组成的一个个单位,就是一个一个的APP.一个好的APP需要由不同但又紧密联系的Activity组成,它们通信着,为的就是造一个好的APP.

下面,疑问来了.Activity间怎样通信呢?

一:通过第三方可持久化存储和读取.

举例说明:Activity_A 把数据写到某个XML文件,然后Activity_B去读XML文件.或者,Activity_B写数据,Activity_A读数据.

二:通过Intent传输

这样去说明吧:

情景一:你要写一封email(哥们不邀请他回复),首先你得新建一封伊妹儿,这个伊妹儿就是Intent,然后,你得在伊妹儿上写上对方的地址,怎样写呢,你可以调用setClass(),也可以调用setAction().好了,剩下就是把你想要写的东西写到伊妹儿上,这时,你只需要调用Intent.putExtra().然后,孩子点击发送吧,此时,你需要调用Acitivity.startActivity();

画面一转,来到收信方,那哥们首先要做的是去信箱拿到你写给他的伊妹儿,他要做的就是调用Activity.getIntent(),剩下的他就是看信,这里不细表.

情景二:你还是要写一封伊妹儿(这次哥们需要她回信),首先,还得新建一伊妹儿,同样的,此伊妹儿为Intent,然后你得在信封写上对方的地址,你依然要调用Intent.setClass()或则Intent.setAction().把想写的写到伊妹儿后,孩子,点击发送吧,哦,不,因为你还想他回复,在点击发送前,你还得写上你的邀请,此时,你得调用Activity.startActivityForResult(Intent mintent , int requesCode).这里requestCode就是邀请码.

画面还是一转.来到收信方.那哥们,同样还是先打收信箱那里收你写给他的伊妹儿,那哥们看到你的回复邀请,于是他点击回复,这时,他不需要再填写地址了,但是,他有前言万语,因此,他有可能很多的回复,为了区别这些回复,他得为此做标记,因此,在点击回复的时候,他调用了Activity.setResult(Intent mIntent, int resultCode),这里,resultCode就是回复标记,而Intent就是回复的内容.

画面再次一转,你在收信箱OnActivityResult(int requestCode , int resultCode,Intent data)接收回复.因为你写了很多封有邀请回复的伊妹儿,所以,在收信箱那里,它会以邀请码去区分,这是谁回复的,而resultCode就是第几个回复,当然Intent就是回复的内容.

到这里,完整的一次通信,就结束了.

作者:xianming90

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...