Activity 和 Intent

一、Intent指向Activity

二、利用 Intent 向第二个 Activity 传数据

三、利用 Intent 接受第二个 Activity 的返回值

四、利用 Intent 调用 内置应用程序

一、Intent指向Activity

        Button btnStartAty1=(Button) findViewById(R.id.btnStartAty1);
        btnStartAty1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent i=new Intent(MainActivity.this,aty1.class);
                startActivity(i);
            }
        });

代码解释:

在按钮 btnStartAty1 的点击事件中,创建一个Intent对象(参数:MainActivity是当前Activity,aty1是Intent指向的Activity),

startActivity(i) 就是以Intent作为参数来启动Activity,这样,我们只要点击MainActivity中的btnStartAty1,

程序就会从MainActivity切换到Activity Aty1。

二、利用 Intent 向第二个 Activity 传数据

利用Intent传值,是在是在一中的基础上进行的,分为传递单个值和多个值,如下代码

        Button btnCloseAty1=(Button) findViewById(R.id.btnCloseAty1);
btnCloseAty1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
        
        Button btnSendToAty2=(Button) findViewById(R.id.btnSendToAty2);
        btnSendToAty2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                
                ////绑定数据——putExtra传值
                //Intent i=new Intent(aty1.this,aty2.class);
                //i.putExtra("Name", "aty2");
                //startActivity(i);
                
                //绑定成一捆数据——putExtras
                Intent i=new Intent(aty1.this,aty2.class);
                Bundle extras=new Bundle();
                extras.putString("Name", "aty2");
                extras.putString("Gender", "male");
                i.putExtras(extras);
                startActivity(i);
            }

在第二个 Activity 中取值的代码:

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.aty2);
        
        ////获取绑定的数据
        //String defaultName=getIntent().getStringExtra("Name");
        
       
//获取一捆数据
        Bundle extras=getIntent().getExtras();
        
String defaultName==extras.getString("Name");
        String defaultGender=extras.getString("Gender");
    }

三、利用 Intent 接受第二个 Activity 的返回值

         Button btnGetReturndata=(Button) findViewById(R.id.btnGetReturndata);
 btnGetReturndata.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent i=new Intent(aty2.this,aty3.class);
                
                startActivityForResult(i,0);
            }
        });

在第二个Activity中设置返回的值:

        Intent i=new Intent();
i.putExtra("result", "this string is passed by aty3");
        
        setResult(0,i);
        finish();

Activity 和 Intent的更多相关文章

  1. Android 学习Activity(1)activity和intent

    工具是:JDK环境配置+SDK+ADT工具 一.Activity  主要作用: 1.用户与应用程序的接口 2.控件的容器 二.创建Activity要点:(在src中的目录下包里) 1.一个Activi ...

  2. 常见的Activity Action Intent常量

    Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”. 目标组件一般要通过Intent来声明自己的条件,一般通过组件中的<intent-filter&g ...

  3. 【转】Android Activity和Intent机制学习笔记----不错

    原文网址:http://www.cnblogs.com/feisky/archive/2010/01/16/1649081.html Activity Android中,Activity是所有程序的根 ...

  4. Android Activity和Intent机制学习笔记

    转自 http://www.cnblogs.com/feisky: Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具 ...

  5. Activity及Intent

    1.Activity 在一个Android应用程序中,Activity是为用户操作而展示的可视化界面.比如你要打电话,这个时候的拨号界面就是一个Activity,你要发短信给你的女朋友,这个短信窗口就 ...

  6. 二、activity与Intent

    (一) 多个activity之间的跳转(无值传递) 第一步:创建activity(其实就是jave文件),并进行注册 在AndroidManifest.xml中 <activity androi ...

  7. 【Android开发学习笔记】【第三课】Activity和Intent

    首先来看一个Activity当中启动另一个Activity,直接上代码说吧: (1)首先要多个Activity,那么首先在res-layout下新建一个 Other.xml,用来充当第二个Activi ...

  8. 5、四大组件之一-Activity与Intent

    一.Activity的定义及作用 1)官方定义:Activity是Android应用程序提供交互界面的一个重要组件 . 也是Android最重要的组件之一 2)Activity是业务类 , 是承载应用 ...

  9. 多个Activity和Intent(转)

    根据www.mars-droid.com:Andriod开发视频教学,先跳过书本<Beginning Android 2>的几个章,我是这两个资源一起看,需要进行一下同步.先初步了解一下应 ...

随机推荐

  1. MouseOver/MouseOut vs MouseEnter/MouseLeave

    参考 http://www.oschina.net/question/234345_45280 这是jQuery提供的函数 要注意MouseOut 和 MouseLeave的区别 比如对元素A绑定Mo ...

  2. Xamarin.Android开发实践(四)

    原文:Xamarin.Android开发实践(四) Xamarin.Android下获取与解析JSON 一.新建项目 1.新建一个Android项目,并命名为为NetJsonList 2.右击引用,选 ...

  3. cocos2d-x游戏开发系列教程-超级玛丽10-怪物与马里奥冲突检测

    在超级玛丽游戏中,马里奥在移动,怪物也在移动,当他们遇见时,需要判断是马里奥身亡还是怪物身亡. 这个判断的代码在怪物类的检测函数实现中. 比如蘑菇怪的冲突检测函数: bool CMMonsterMus ...

  4. Android开发 第一篇

    关于android开发,new项目通知: 之前的new -> android project,现在更改为new -> android application project,同学们可以继续 ...

  5. Uva 12569 Planning mobile robot on Tree (EASY Version)

    基本思路就是Bfs: 本题的一个关键就是如何判段状态重复. 1.如果将状态用一个int型数组表示,即假设为int state[17],state[0]代表机器人的位置,从1到M从小到大表示障碍物的位置 ...

  6. POJ 1741 Tree【Tree,点分治】

    树上的算法真的很有意思……哈哈. 给一棵边带权树,问两点之间的距离小于等于K的点对有多少个. 将无根树转化成有根树进行观察.满足条件的点对有两种情况:两个点的路径横跨树根,两个点位于同一颗子树中. 如 ...

  7. Kali Linux 安全渗透教程&lt;第三更&gt;1.2 安全渗透所需工具

    了解了渗透測试的概念后.接下来就要学习进行渗透測试所使用的各种工具.在做渗透測试之前.须要先了解渗透所需的工具.渗透測试所需的工具如表1-1所看到的: 表1-1  渗透所需工具 splint unhi ...

  8. [转]Windows7 64bit下配置Apache+PHP+MySQL

    原文链接:http://blog.csdn.net/sbz0409/article/details/12946375 1.准备资料: 首先下载文件:Apache2.4.16 64bit,http:// ...

  9. HDU 4121

    http://www.bnuoj.com/v3/problem_show.php?pid=10277 //#pragma comment(linker, "/STACK:16777216&q ...

  10. POJ1985 DFS【STL__vector_的应用】

    vector     向量 相当于一个数组    在内存中分配一块连续的内存空间进行存储.支持不指定vector大小的存储.STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacit ...