展会信息港展会大全

我的android学习视图的控制者 Activity-->Activity间的通信(1)
来源:互联网   发布日期:2016-01-14 10:49:56   浏览:1522次  

导读:一人难成大事,独木难造坚舟.那句说到烂,听到烦的话,团结就是力量.君不见成群结队的黑社会可以横行于市?APP市场就是一个社会,每个Acitivity就像一个一个活生生的人,由他们组成的一个...

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

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

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港