如何用Intent得到一个实体类,

我是在一个播放页面,想要得到一个语音数据,但是,从语音条页面发送的是一个实体对象的,在接收的类里面怎么接收呀?
下面是接收的代码行,报错

img

从一个Adapter里面发送的信息

img


里面的 (Parcelable) 好像不能这么写,会报不能转换的错误,那这里我只给传一个网络语音的网络地址吗?比如:

intent.putExtra("myTuyuVoiceUrl", tuyuEntity.getVoiceUrl());

下面是整段代码

/**
         * fromMyTuyu等 在有音乐数据条页面的setOnItemClickListener中设置了 intent.putExtra(..."1"),
         * 本类如果得到等于1,那么就播放谁。好分辨数据来源或列表item
         * */
        fromMyTuyu = getIntent().getStringExtra("fromMyTuyu");//得到 将fromAlbum 放入意图中的类的Intent信息
        fromMyTuyu = setNotNull(fromMyTuyu);//设置非空
        playTuyuEntity = getIntent().getDataString("myTuyuEntity",playTuyuEntity);
        initSystemUI();
        initView();

        if (fromMyTuyu != null && fromMyTuyu.length()>0){
            if (fromMyTuyu.equals("1")){
                startPlayLocalTuyu(playTuyuEntity);
            }
        }

这里面的 playTuyuEntity = getIntent().getDataString("myTuyuEntity",playTuyuEntity); 应该是不行的,不能在后面带数据或实体类的。
那么,就接收一个

String voiceUrl = getIntent().getStringExtra("myTuyuVoiceUrl");

但是,我在下面的playTuyu()中有需要一个实体类的,一些操作,
然后,得到了路径

 private void playTuyuOngoing(TuyuEntityImpl tuyuEntity){
        mLrcView.reset();

        //播放
        TuyuPlayerManager.getInstance().startPlay(tuyuEntity.getVoiceUrl());


如果,将上边的getIntent.getDataString 一行擦去,也不知道哪里错了哈。。

实体类得实现Parcelable接口,然后在目标activity就能通过getIntent().getParcelableExtra(name)得到对象
也可以实现Serializable接口,可以getIntent().getSerializableExtra()得到,但是得到的是Serializable,必须强转一下
传递对象需要序列化,序列化的方式通常有2种,一种是java自带的Serializable,一种就是Android的Parcelable

实体类如果可以转json,那么json可以转字符串,然后在接收的地方可以把字符串再转json,最后转实体类。
如果实体类不能转json,那么最好缩小接收范围,比如播放地址