`
guoxinzz
  • 浏览: 431256 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android中启动另外一个Activity

 
阅读更多

启动另外一个 Activity

Activity.startActivity()方法可以根据传入的参数启动另外一个 Activity:

Intent intent =new Intent(CurrentActivity.this,OtherActivity.class);
startActivity(intent);


当然,OtherActivity同样需要在 AndroidManifest.xml 中定义。

这点很重要,不然会报找不到Activity错误.

Activity 之间通信

使用 Intent 通信

在 Android 中,不同的 Activity 实例可能运行在一个进程中,也可能运行在不同的进程中。因此我们需要一种特别的机制帮助我们在 Activity 之间传递消息。Android 中通过 Intent 对象来表示一条消息,一个 Intent 对象不仅包含有这个消息的目的地,还可以包含消息的内容,这好比一封 Email,其中不仅应该包含收件地址,还可以包含具体的内容。对于一个 Intent 对象,消息“目的地”是必须的,而内容则是可选项。

在上面的实例中通过 Activity. startActivity(intent)启动另外一个 Activity 的时候,我们在 Intent 类的构造器中指定了“收件人地址”。

如果我们想要给“收件人”Activity 说点什么的话,那么可以通过下面这封“e-mail”来将我们消息传递出去:

Intent intent =new Intent(CurrentActivity.this,OtherActivity.class);
// 创建一个带“收件人地址”的 email
Bundle bundle =new Bundle();// 创建 email 内容
bundle.putBoolean("boolean_key", true);// 编写内容
bundle.putString("string_key", "string_value");
intent.putExtra("key", bundle);// 封装 email
startActivity(intent);// 启动新的 Activity


那么“收件人”该如何收信呢?在 OtherActivity类的 onCreate()或者其它任何地方使用下面的代码就可以打开这封“e-mail”阅读其中的信息:

Intent intent =getIntent();// 收取 email
Bundle bundle =intent.getBundleExtra("key");// 打开 email
bundle.getBoolean("boolean_key");// 读取内容
bundle.getString("string_key");


上面我们通过 bundle对象来传递信息,bundle维护了一个 HashMap<String, Object>对象,将我们的数据存贮在这个 HashMap 中来进行传递。但是像上面这样的代码稍显复杂,因为 Intent 内部为我们准备好了一个 bundle,所以我们也可以使用这种更为简便的方法:

Intent intent =new Intent(EX06.this,OtherActivity.class);
intent.putExtra("boolean_key", true);
intent.putExtra("string_key", "string_value");
startActivity(intent);


接收:

Intent intent=getIntent();
intent.getBooleanExtra("boolean_key",false);
intent.getStringExtra("string_key");


分享到:
评论

相关推荐

    Android应用:Intent打开另外一个Activity,Intent拨电话,Intent在2个Activity间传递参数

    Android源代码 演示3个功能: (1)Intent打开另外一个Activity (2)Intent拨电话 (3)Intent在2个Activity间传递数据

    Android应用启动另外一个apk应用的方法

    本文实例讲述了Android应用启动另外一个apk应用的方法。分享给大家供大家参考,具体如下: 在开发的过程中,经常会遇到在一个应用中启动另外一个apk应用的情况 问题的核心点在于我们要拿到第三方apk的package名称跟...

    Android 启动另一个App/apk中的Activity实现代码

    Android 启动另一个App/apk中的Activity实现代码 前言: Android提供了在一个App中启动另一个App中的Activity的能力,这使我们的程序很容易就可以调用其他程序的功能,从而就丰富了我们App的功能。比如在微信中发送...

    Android学习笔记

    Android初步学习笔记 activity生命周期 ...1、onCreate:第一次被启动、 2、onStart:activity可视时调用、 3、onResume:activity...若启动另外一个activity时,onStop方法未执行,当重新回到第一个activity时直接调用

    android侧边栏的滑动,以及实现启动另外的Activity与更换布局

    根据别人的demo加以改进与完善,实现了一些其他的功能的同时方便运用到程序中实现特设效果,(自己写了一些注释,但是很不规范,将就着看吧。)

    android 面试

     onPause()Activity在启动另外一个Activity时调用,失去用户焦点是调用  onStop()Activity被第二个Activity完全遮挡住时调用  onDestroy()Activity从栈中取出时调用,也可以说从第二个Activity返回第一个Activity...

    关于android连续点击出现多个Activity界面的解决方法

    开始始学习android,对android的启动模式没有什么了解,就使用了时间判断是否重复点击了两次按钮,启动另外的activity界面,这样的控制方法,有时候会失效,比如,两秒钟还未启动另外的activity,那么又可以重复点击...

    Android编程实现启动另外的APP及传递参数的方法

    有时候需要从一个APP中启动另外一个APP,比如Twitter/微信等。 如果你不知道那个APP的Activity,但是知道包名(package name),那么可以使用如下的方法: Intent LaunchIntent = getPackageManager()....

    Android Activity的跳转与传值详解

    Android Activity的跳转与传值详解 Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据。  ...从一个Activity启动另一个Activity,直接startActivity(new Intent(当前Activi

    实现Activity之间的数据传输

    实现把一个Activity里面编辑框的字符串传送到其他Activity上显示的功能,可以判断输入框数值打开对应的Activity

    Android开发之利用Activity实现Dialog对话框

    在Android中经常要使用Dialog来实现一些提示以及一些特殊的效果,而且样式也不一样,每次都得查一大堆资料,还不一定能解决。对话框是个好东西,创建简单有实用。当下的开发中,很多的开发者反而更喜欢使用activity...

    新版Android开发教程.rar

    Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...

    详解Android的Activity组件

    在android中,Activity拥有四种基本状态:Active/Runing一个新Activity启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。Paused当Activity被另一个透明或者Dialog样式的...

    android框架与应用开发介绍.ppt

    android框架与应用开发介绍 通过view管理UI 每一个有用户界面的应用至少包含一个activity 一个应用可以有多个activity,其中一个作为main ...Activity通过startActivity或startActivityForResult启动另外的activity

    Activity跳转

    这个实验描述了Activity之间的另外一种切换方式,通常Activity的切换方式是Activity1通过startActivity切换到Activity2, Activity2再通过startActivity切换到其他的Activity,但是有的时候我们需要启动一个新的...

    Android开发中Intent用法总结

    当一个Activity要启动另外一个Activity的时候,也许一个以前较为熟悉的模式是:调用一个new函数,直接创建具有窗口特征类的对象,又或者直接调用一个启动函数来启动。这种方式简洁、明了,但是却违背了Android开发的...

    Android Activity中onStart()和onResume()的区别分析

    ① Active/Runing 一个新 Activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。 ② Paused 当 Activity 被另一个透明或者 Dialog 样式的 Activity 覆盖时的状态。此时它...

    Android acitivity &Intent;

    如果一个Activity是Paused或者Stopped状态,系统可以将该Activity从内存中删除,Android系统采用两种方式进行删除,要么要求该Activity结束,要么直接终止它的进程。当该Activity再次显示给用户时,它必须重新开始和...

Global site tag (gtag.js) - Google Analytics