zoukankan      html  css  js  c++  java
  • Android_Intent_note

    Activity间传递参数的方法
    方法1. 通过putExtra()传递基本数据类型
    方法2. 通过putExtras()传递Bundle数据类型
    方法3. 通过Application读写全局变量

    方法4. 把基本的数据类型封装到一个对象中,然后通过intent传递该对象
    需要考虑对Person对象进行序列化

    Java中的序列化使用Serializable
    Android中的序列化使用Parcelable

    用法如下:
    1. 需要对可序列化的类,实现Parcelable接口
    2. 实现Parcelable接口中的抽象方法
    2.1 describeContents() 该方法直接返回0
    2.2 writeToParcel(Parcel out, int flags) 把需要序列化的参数写入out中 比如:
    out.writeString(name);
    out.writeInt(age);
    out.writeDouble(weight);
    3. 定义一个静态的属性CREATOR 是Parcelable.Creator的对象
    在该匿名内部类中,实现Parcelable.Creator中的两个方法(泛型参数为类名)
    方法1.
    createFromParcel(Parcel in) 对in进行反序列化(需要通过Person的构造器实现)
    方法2.
    newArray(Parcel in) 反序列化多个元素时使用

    4. 定义私有的构造器 从in中反序列对应的参数(反序列化参数的顺序必须与序列化参数的顺序保持一致)


    当SecondActivity需要回传参数时:
    1. MainActivity启动SecondActivity时需要调用startActivityForResult()
    并定义请求码
    2. SecondActivity在合适的使用调用setResult()设置返回码和返回的参数
    然后调用finish()结束当前Activity
    3. MainActivity需要重写onActivityResult()捕获SecondActivity返回的结果

    常用的返回码为:
    RESULT_OK 成功
    RESULT_CANCEL 失败
    RESULT_FIRST_USER 用户自定义的返回码
    RESULT_FIRST_USER + 1
    RESULT_FIRST_USER + 2
    ……

  • 相关阅读:
    Java查找指定文件中指定字符的个数
    推荐系统(CTR领域)实战入门指南
    xgboost 实践
    pandas 获取列名
    pandas 标签映射成数值的几种方法
    pandas 删除列
    pandas 聚合求和等操作
    dataframe检查重复值,去重
    linux 解压缩文件(tar和zip)
    kaggle——Bag of Words Meets Bags of Popcorn(IMDB电影评论情感分类实践)
  • 原文地址:https://www.cnblogs.com/fangg/p/5566234.html
Copyright © 2011-2022 走看看