Android 复习2 有关activity
2016-07-03 14:18
274 查看
activity 之间基于intent 的通信
如何打开新活动
我们的一个应用程序 是由多个活动的,那么在活动之间如何跳转就是一个很有趣的事情;public void startActivity(Intent intent)
我们通过上面的函数来造访新的页面,该函数不是一个针对于activity的函数,而是针对操作系统,准确的说 它将intent发送给系统级别的ActivityManager
ActivityManager主要就是用来管理众多Activity的
我们通过传递intent 告诉ActivityManager下面打开那个活动;
Intent i =new Intent(MainActivity.this,CheatActivity.class); startActivity(i);
传递数据玩
仅仅传过去
String data="Hello SecondActivity" Intent intent =new Intent(FirstActivity.this,SecondActivity.class) intent.putExtra("extra_data",data); //用intent.putExtra函数在意图中加些东西; Intent intent=getIntent();//写在onCreate方法中 String data=intent.getStringExtra("extra_data"); Log.d("SecondActivity",data); //取出intent中的东西
传入并返回值
首先要能够从A传到B 所以有了startactivityforresult(Intent intent,int requestCode)紧接着,B看到A的信件后,要寄一封回信,所以有setResult(int resultCode, Intent data) 将信寄出
那么对于A来说,有一个收信的地方就非常重要,onActivityResult(int requestCode, int resultCode, Intent data)
requestCode 就是为了用于 A收信的 假设A与B要谋反,A给B寄信,B回信的时候要标明信中内容是绝密还是掩人耳目。这样A在收信的时候就不会存在问题啦。
startActivityForResult(new Intent(MainActivity.this, OtherActivity.class), 1); /** * 为了得到传回的数据,必须在前面的Activity中(指MainActivity类)重写onActivityResult方法 * * requestCode 请求码,即调用startActivityForResult()传递过去的值 * resultCode 结果码,结果码用于标识返回数据来自哪个新Activity */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { String result = data.getExtras().getString("result");//得到新Activity 关闭后返回的数据 Log.i(TAG, result); } }
Intent intent = new Intent(); //把返回数据存入Intent intent.putExtra("result", "My name is linjiqin"); //设置返回数据 OtherActivity.this.setResult(RESULT_OK, intent); //关闭Activity OtherActivity.this.finish();
相关文章推荐
- 在android下使用opencv
- 创建一个Android程序
- 绑定本地Service并与之通信
- ubuntu16安装android studio2.1
- Android 数据库开发(一)SQLite3概述
- Android 启动流程分析
- Android打包&Gradle配置(一)
- android的兼容性问题之java.lang.UnsupportedOperationException
- Android插件化浅析
- android内存溢出 java.lang.OutOfMemoryError
- Android开发环境部署 及 常见问题解决
- Android studio动态调试smali
- Android 自定义View 字母索引条
- Android中使用注解打造自己的IOC框架
- Android绘图机制及处理技巧
- Android Studio 使用入门教程之常用配置
- Android消息传递之EventBus 3.0使用详解
- android shape stroke
- 使用Intent传递对象的两种方法(Serializable,Parcelable)
- Android音频开发(7):使用 OpenSL ES API(下)