android 开发Parcelable 怎么传值ArrayList

public class TradeEntity implements Parcelable{
    public String id;

    //有关进度条的参数
    ArrayList<TradeStateNodeInfo> nodes;
    public TradeEntity() {
        nodes = new ArrayList<TradeStateNodeInfo>();
    }
    /////////////////////////实现parcel接口///////////////////////////////
    @Override
    public int describeContents() {
        return 0;
    }
    @Override
    public void writeToParcel(Parcel out, int arg1) {
        out.writeString(id);
        out.writeList(nodes);
    }
    private TradeEntity(Parcel in)
    {
        id = in.readString();
        nodes = in.readArrayList(TradeStateNodeInfo.class.getClassLoader());
    }
    public static final Parcelable.Creator<TradeEntity> CREATOR = new Parcelable.Creator<TradeEntity>()
    {
        public TradeEntity createFromParcel(Parcel in)
        {
            return new TradeEntity(in);
        }

        public TradeEntity[] newArray(int size)
        {
            return new TradeEntity[size];
        }
    };
}
时间: 2024-08-03 04:47:05

android 开发Parcelable 怎么传值ArrayList的相关文章

当在类中的 Parcelable 接口使用 ArrayList &lt; customObject &gt; android 系统: nullPointerException

我想使调用音乐使用 parcelable,所以我可以访问两个不同的活动中的音乐的实例的类.我不想使用可序列化的速度的目的.当我尝试将它使用传递时,我总是收到 nullPointerException: Intent in = getIntent(); thisInstance = (Music) in.getExtras().get("MusicInstance"); 音乐班: (ArrayList 是在底部的顶部和 parcelable 类) public class Music i

Android开发当中Parcelable接口的使用

对于Android来说传递复杂类型,主要是将自己的类转换为基础的字节数组,Activity之间传递数据是通过Intent实现的. Android序列化对象主要有两种方法,实现Serializable接口.或者实现Parcelable接口.实现Serializable接口是Java SE本身就支持的,而Parcelable是Android特有的功能,效率比实现Serializable接口高,而且还可以用在进程间通信(IPC)中.实现Serializable接口非常简单,声明一下就可以了.而实现Pa

Android开发--List与ArrayList区别

List是一个接口,而ArrayList是一个类.  ArrayList继承并实现了List.  所以List不能被构造,但可以向上面那样为List创建一个引用,而ArrayList就可以被构造.  List list;     //正确   list=null;  List list=new List();    //   是错误的用法 List list = new ArrayList();这句创建了一个ArrayList的对象后把上溯到了List.此时它是一个List对象了,有些Array

Android开发艺术探索——第二章:IPC机制(中)

Android开发艺术探索--第二章:IPC机制(中) 好的,我们继续来了解IPC机制,在上篇我们可能就是把理论的知识写完了,然后现在基本上是可以实战了. 一.Android中的IPC方式 本节我们开始详细的分析各中跨进程的方式,具体方式有很多,比如可以通过在Intent中附加extras来传递消息,或者通过共享文件的方式来共享数据,还可以采用Binder方式来跨进程通信,另外,ContentProvider天生就是支持扩进程访问的,所以通过Socket也可以实现IPC,上述的各种方法都能实现I

Android开发——进程间通信之AIDL(二)

0.  前言 不论是Android还是其他操作系统,都会有自己的IPC机制,所谓IPC(Inter-Process Communication)即进程间通信.首先线程和进程是很不同的概念,线程是CPU调用的最小单元,进程一般在PC和移动设备上指一个程序或者一个应用,一个进程可以包含多个线程. IPC方式有很多,在Android中常用的IPC方式包括Bundle.文件.Messenger.AIDL.ContentProvider和Socket等方式. Android开发--进程间通信之AIDL(一

Android中Parcelable的插件使用

在Android开发的过程中,针对对象的序列化推荐使用Parcelable,而不是Seralizable,因为Parceable的效率比较高. 这样,针对Android中大量的对象,手写实现Parcelable的代价,就比较高了.楼主github上发现一个针对Intelij和AndroidStudio的Parcelable的插件,只需集成,然后直接快捷键,实现Parcelable的接口,这样不是很爽么?... 1. Parcelable插件地址:https://github.com/mcharm

Android开发新手必备16个知识

Android开发新手必备,这是我在麦子学院论坛里面看见的,觉得很不错,分享给大家: 1.Activity生命周期,横竖屏切换时候Activity状态变化. 生命周期: 完成的生命周期: 即从一个Activity出现到消失,对应的周期方法是:onCreate到onDestroy : 启动: onCreate()->onStart()->onResume三个方法: BACK键: 当我们按BACK键时,我们这个应用程序将结束,这时候我们将先后调用onPause()->onStop()->

android开发中应该注意的问题

1. Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效. 2. 数据库表段字段常量和SQL逻辑分离,更清晰. 3. 全局变量放全局类中,模块私有放自己的管理类中,不要相信庞大的管理的东西会带来什么好处,可能是一场灾难. 4. 如果数据没有必要加载,私有模块数据务必延迟初始化,谨记为用户节省内存,总不会有坏处. 5. 异常抛出,集中到合适的位置处理,不要抛出来异常立即捕获,搞的到处是catch. 6. 地址

Android开发艺术探索读书笔记——进程间通信

1. 多进程使用场景 1) 应用某些模块因为特殊需求需要运行在单独进程中.如消息推送,使消息推送进程与应用进程能单独存活,消息推送进程不会因为应用程序进程crash而受影响. 2) 为加大一个应用可使用的内存,需要多进程来获取多份内存空间. 2. 如何开启多进程 给四大组件(Activity.Service.Receiver.ContentProvider)在AndroidMainfest中指定android:process属性指定. 如果进程以":"开头的进程,代表应用的私有进程,其