Android学习笔记三:用Intent串联activity

一:Intent

Intent可以理解为 意图。

我们可以通过创建intent实例来定义一个跳转意图,意图包括:要跳转到哪个页面、需要传递什么数据。

然后通过startActivity(intent)来启动跳转。

有两种方式定义Intent:显式Intent、隐式Intent。

二:显式Intent

1)我们可以在actvity的java文件中,通过代码显示定义Intent,参数为:从哪个页面,跳转到哪个页面。

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);

2) 我们还可以通过putExtra(key,value)的方法,往intent传入数据,携带到跳转到目标页。

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra(name, data);
startActivity(intent);

在跳转目标页到java文件中,通过getIntent()提取链接到该activyty的intent实例,然后通过intent实例.getXXExtra(name)提取数据,XX是数据类型。

3)我们也可以在跳转发起页获取到跳转目标页回传到数据

跳转发起页:

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, 1);//第一个参数是intent,第二个是请求码

//重写结果回传函数,监听结果码以及回传的intent
//第一个参数:请求码:用于校验是否该页面发起的跳转请求的回传结果
//第二个参数:结果码:回传的结果码类型
//第三个参数:Intent实例:跳转目标页通过一个intent来携带数据,返回发起页。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {//根据请求码来匹配是哪个跳转请求的回传结果
        case 1:
            if(resultCode == RESULT_OK) {//根据结果码,执行不同结果码对应的操作
                String name = "return_data";
                String returnData = data.getStringExtra(name);//通过回传的intent提取数据
                ......//使用数据:赋值给变量、调用其他函数、赋值给视图控件等
            }
            break;
        default:
    }
}

跳转目标页:

Intent intent1 = new Intent();//创建回传的intent实例
intent1.putExtra(name, data);//携带数据
setResult(RESULT_OK, intent1);//作为结果进行回传
时间: 2024-12-12 21:02:11

Android学习笔记三:用Intent串联activity的相关文章

Android学习笔记三:Intent实现页面跳转

在主Activity的OnCreate()方法中,通过findViewById得到Activiity_main中已定义的组件,例如Button.EditText等,注意需要强制转型view到具体的类型. 给取得的组件btn添加监听器如OnClickListener(),在其中实例化Intent对象,参数为要跳转的出发类和目标类. 用putExtra()方法添加内容到intent对象中,内容为K-V对.K中可写标记,V中存要传输的内容. public void onClick(View arg0)

Android学习笔记(三三):Activity生命周期

Android很大的应用场景是手机,有一些应用具有特别的优先级别,例如电话,同时设备的内存是有限的.因在某些情况下系统将踢走activity,以便是否内存.因此在开发过程中,我们需要管理好activity的生命周期.右图是Android的docs中提供的activity的时间触发图. 四大状态 一般来讲,某一时刻,Activity处在下面四个状态之一: Active:已由用户启动,正在前台运行. Paused:已由用户启动,正在运行且可视,但是由于提示或者其他覆盖部分的屏幕.这是用户可以看到ac

Android学习笔记——Intents 和 Intent Filters(二)

本人邮箱:[email protected],欢迎交流讨论. 欢迎转载,转载请注明网址:http://www.cnblogs.com/JohnTsai/p/3993488.html 知识点: 继续昨天的Intents 和 Intent Filters的学习 组成一个Intent(Building an Intent): Intent 对象携带信息(例如明确的组件名或应该接收intent的组件种类(intent category)),Android系统使用这些 信息决定开启哪个组件.还携带了接收的

Android学习笔记——Intents 和 Intent Filters(一)

本人邮箱:[email protected],欢迎交流讨论. 欢迎转载,转载请注明网址:http://www.cnblogs.com/JohnTsai/p/3991792.html 知识点:Intents 和 Intent Filters的定义和作用以及用法. Intent Intent这个单词的意思是“意图”,正如它的意思,它在Android中就是表达了实现某项功能的意图(intention to do an  action). 定义: Intent是传送消息的对象(messaging obj

Android学习笔记(三)

ContentProvider简介 ContentProvider是不同应用程序之间进行数据交换的标准API,当一个应用程序需要把自己的数据暴露给其他程序使用时,该应用程序便可通过提供ContentProvider来实现,其他应用程序就可通过ContentResolver来操作ContentProvider暴露的数据.如果某一应用程序通过ContentProvider暴露了自己的数据操作接口,则不管该应用程序是否启动,其他应用程序都可以通过该接口来操作该应用程序的内部数据,包括增加.删除.修改.

Android学习笔记?从零开始?第三天?Activity

Android学习笔记?从零开始?第三天?Activity 转载请注明出处:CLeopard http://blog.csdn.net/cleopard 今天主要是对Activity的学习. –>点击进入Android学习笔记导图 http://blog.csdn.net/cleopard/article/details/44037813 –>19本Android经典教程+104个Github上火爆项目开源源码 http://download.csdn.net/album/detail/151

Android学习笔记-Activity&Intent

界面activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="matc

Pro Android学习笔记(十二):了解Intent(下)

解析Intent,寻找匹配Activity 如果给出component名字(包名.类名)是explicit intent,否则是implicit intent.对于explicit intent,关键就是component 名字,在<intent-fliter>中声明的其他属性被忽略.对于implicit intent,则根据action,category和data来进行匹配.然而一个intent fliter中可以声明多个actions,多个categories,多个data属性,因此可以满

Pro Android学习笔记(一三七):Home Screen Widgets(3):配置Activity

文章转载仅仅能用于非商业性质,且不能带有虚拟货币.积分.注冊等附加条件.转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei. 通过widget定义.我们在widget列表中看到了我们的TestWidget.当我们拖拽widget到主页时.假设在appwidet-provider中定义了android:configure的java类,在widget实例创建后会立即唤起配置activity.这个activity主要完毕两个任务:1.配置初始化数据