Android:日常学习笔记(5)——探究活动(2)
Android:日常学习笔记(5)——探究活动(2)
使用Intent在活动之间穿梭
什么是Intent
Intent时Android程序中各组件之间进行交互的一种重要方式,他不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。
Intent一般可被用于启动活动、启动服务以及发送广播等场景。分为显式和隐式。
使用显式的Intent
1.创建两个活动
    2.在活动一里面显式添加Intent
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first_layout);
        Button button = (Button) findViewById(R.id.button);
        //在活动中可以通过findViewById来获取布局文件中定义的元素
        button.setOnClickListener(new View.OnClickListener() {
        //为button注册一个监听器
            public void onClick(View v) {
                Toast.makeText(FirstActivity.this,"You click the button",Toast.LENGTH_SHORT).show();
                Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
                startActivity(intent);
                /**
                 * intent 构造方法中第一个为上下文,第二个为要穿梭到的活动类,即在上下文活动的基础上打开第二个活动。
                 * 通过 startActivity(intent)来执行这个Intent。
                 * */
            }
        });
    }
3.点击按钮穿梭,Back键返回上下文
使用隐式Intent
说明
          相比显式Intent,隐式Intent含蓄了很多,它并不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action和category等信息,然后交由系统去分析这个Intent,并帮助我们找出合适的活动(可以响应我们这个隐式Intent的活动)去启动。
实例
说明:
红色方框内的内容表明SecondActivity可以响应com.example.zy.android1.ACTION_START这个活动,category指定了可以响应的类型种类,这里是默认值。
更多隐式Intent的用法
  使用隐式的Intent,我们不仅可以启动自己程序内的活动,还可以启动其他程序的活动,这使得Android多个应用之间的功能共享成为了可能。比如说你想在APP内显示网页,你没有必要去自己实现一个浏览器,而是只需要调用系统的浏览器来打开你的网页即可。
打开指定网页
      
手机拨号
      
向下一个活动传递数据
说明
          在启动活动时传递数据的思路很简单,Intent提供了一系列putExtra()方法的重载,可以把我们想要传递的数据暂存在Intent中,启动另一个活动后,只需把这些数据再从Intent中取出就可以了。
实例 
    

说明:
getIntent()方法可以获得用于启动SecondActivity的Intent。
返回数据给上一个活动
 说明
          返回上一个活动并没有一个用于启动活动的Intent来传递数据。Activity有一个startActivityForResult()方法也是用于启动活动的,但是这个方法期望在活动销毁的时候能够返回一个结果给上一个活动。
public void startActivityForResult(Intent intent,int requestCode)
—intent - The intent to start
—requestCode If >= 0, this code will be returned in onActivityResult() when the activity exits.
实例
    


    
Android:日常学习笔记(5)——探究活动(2)的更多相关文章
- Android:日常学习笔记(6)——探究活动(4)
		
Android:日常学习笔记(6)——探究活动(4) 活动的启动模式 standard模式 standard是活动默认的启动模式,在不进行显示定义的情况下,所有活动都会自动使用这种启动模式. stan ...
 - Android:日常学习笔记(6)——探究活动(3)
		
Android:日常学习笔记(6)——探究活动(3) 活动的生命周期 返回栈 Android中的活动是可以叠加的,我们每启动一个新活动,就会覆盖在原来的活动上,点击Back以后销毁最上面的活动,下面的 ...
 - Android:日常学习笔记(4)——探究活动(1)
		
Android:日常学习笔记(4)——探究活动 什么是活动: 活动是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互. 手动创建活动 创建空活动 1.新建活动时选择Add ...
 - Android:日常学习笔记(9)———探究持久化技术
		
Android:日常学习笔记(9)———探究持久化技术 引入持久化技术 什么是持久化技术 持久化技术就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失 ...
 - Android:日常学习笔记(7)———探究UI开发(4)
		
Android:日常学习笔记(7)———探究UI开发(4) UI概述 View 和 ViewGrou Android 应用中的所有用户界面元素都是使用 View 和 ViewGroup 对象构建而成 ...
 - Android:日常学习笔记(9)———探究广播机制
		
Android:日常学习笔记(9)———探究广播机制 引入广播机制 Andorid广播机制 广播是任何应用均可接收的消息.系统将针对系统事件(例如:系统启动或设备开始充电时)传递各种广播.通过将 In ...
 - Android:日常学习笔记(8)———探究UI开发(5)
		
Android:日常学习笔记(8)———探究UI开发(5) ListView控件的使用 ListView概述 A view that shows items in a vertically scrol ...
 - Android:日常学习笔记(8)———探究UI开发(3)
		
Android:日常学习笔记(8)———探究UI开发(3) 详解四种基本布局 前言 布局定义用户界面的视觉结构,如Activity或应用小部件的 UI.您可以通过两种方式声明布局: 在 XML 中声明 ...
 - Android:日常学习笔记(8)———探究UI开发(2)
		
Android:日常学习笔记(8)———探究UI开发(2) 对话框 说明: 对话框是提示用户作出决定或输入额外信息的小窗口. 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件. 提示 ...
 
随机推荐
- Linux学习之inode说明
			
硬盘是常见的存储设备,最小单位叫做扇区,大小512kb. 文件存储在硬盘中,文件存储最小单位叫做块,大小通常为4k. iNode用于存放文件的元信息,元信息如下: 所有者 所有组 权限 时间戳,cti ...
 - c++ about SLL(Static-Link Library) and DLL(Dynamic-Link Library)
			
First thing first, Wiki: http://en.wikipedia.org/wiki/Dynamic-link_library http://en.wikipedia.org/w ...
 - java中.currentTimeMillis的用法和含义
			
用法:可以用法获取当前时间的毫秒数,可以通过毫秒数进行时间比较,时间转化以及时间格式化等.public class SystemTime {public static void main(String ...
 - jQuery 属性操作方法
			
方法 描述 addClass() 向匹配的元素添加指定的类名. attr() 设置或返回匹配元素的属性和值. hasClass() 检查匹配的元素是否拥有指定的类. html() 设置或返回匹配的元素 ...
 - OpenCV学习笔记廿一:opencv_contrib模块
			
一,简介: 该库为新加入代码库的算法.
 - linux以下C 利用openssl的AES库加密,解密
			
OpenSSL提供了AES加解密算法的API const char *AES_options(void); AES算法状态,是所有支持或者是部分支持. 返回值:"aes(full)" ...
 - Java StuNote 1
			
1. JAVA语言历史 无心插柳柳成荫,有心栽花花不开. JAVA由SUN Microsystem公司研发. 2. JAVA语言特点 a) 跨平台.一次编译.到处执行. b) 速度慢.但非常稳定, 没 ...
 - 【BZOJ1912】[Apio2010]patrol 巡逻 树形DP
			
[BZOJ1912][Apio2010]patrol 巡逻 Description Input 第一行包含两个整数 n, K(1 ≤ K ≤ 2).接下来 n – 1行,每行两个整数 a, b, 表示 ...
 - 160823、ionic上拉/下拉更新数据
			
<!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset="UTF- ...
 - 20160924-1——mysql存储引擎
			
一.主要存储引擎 5.5以后的版本,默认存储引擎从myisam改成了innodb:线上推荐都用innodb 二.innodb存储引擎 (一)结构 INNODB存储引擎大致分三部分,图中已经(1)(2) ...
 
			
		
说明: