• Android学习笔记--Intent


    Intent是android四大组件之间交互的一种重要方式。Intent可以指明当前要执行的动作,也可以指明要传递的数据。Intent可以用来启动活动,启动服务,发送广播。
    Intent分为两种:1.显式Intent 2.隐式Intent
    显示Intent使用方法:
    例(启动活动)
    Intent有多个重载的构造方法。其中一个是Intent(Context packageContext, Class<?> cls) 第一个参数是上下文Context对象, 因为Activity, Service, Broadcast均为Context的子类,所以可以直接传入。 后一个参数是要启动的活动。通过这个构造函数就可以构建出“意图”。然后将这个Intent对象传给startActivity()方法就可以启动另外的活动了。
    隐式Intent使用方法:
    例(启动活动)
    隐式Intent不直接指明要启动的活动。而是通过描述要启动的组件的特征,借助系统分析这个Intent, 对系统内的所有组件的特征进行筛选过滤出合适的组件。所有的组件,如果想被隐式的Intent启动,都要通过在标签下配置的内容,可以指定当前活动能够响应的 action 和 category。只有中的内容同时能够匹 配上 Intent 中指定的 action 和 category 时,这个活动才能响应该 Intent。

    Intent向下一个活动传递数据
    启动活动时传递数据使用的是一系列putExtra(键,值)方法的重载。他可以把数据暂存在Intent中,在启动了下一个活动之后,再把数据从intent中取出来。在下一个活动中使用getIntent()获取到启动它的那个intent对象,然后调用getStringIntent(键)方法,获取到传来的数据getXXIntent, XX为传来数据的类型。

    Intent返回数据给上一个活动
    使用startActivityForResult(Intent, 请求码)启动下一个活动,来向启动方返回数据,请求码为了让上一个活动能够识别出这是哪一个活动返回给他的。这个方法期望在活动销毁的时候能够返回一个结果给上一个活动。
    setResult(RESULT_OK, intent)专门用来向上一个活动返回数据的方法,第一个参数是返回码。由于我们是使用 startActivityForResult()方法来启动 SecondActivity 的,在 SecondActivity 被销毁之后会回调上一个活动的 onActivityResult()方法,因此我们需要在 FirstActivity 中重 写这个方法来得到返回的数据。

  • 相关阅读:
    胖虎都看得懂的CSS入门
    Python-ORM之sqlalchemy的简单使用
    类似fabric主机管理demo
    Redis 数据库学习
    sublime 3插件安装记录
    斐波那契数列—java实现
    mysql基础操作记录
    [转]修改github已提交的用户名和邮箱
    python nose的html报告优化
    python report中文显示乱码
  • 原文地址:https://www.cnblogs.com/zharma/p/5418869.html
Copyright © 2020-2023  润新知