Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 如何在Service和Activity之间传递复杂数据?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们如何在服务和活动之间传递复杂数据(例如,员工对象)?

这里,服务和活动在不同的包中.可能是不同的应用.

解决方法

>首先序列化要传递的对象.
>将序列化对象放在intent extras中.
>在接收端,只需获取序列化对象,然后对其进行反序列化.

说,

employee employee = new employee();

然后,

intent.putExtra("employee",serializeObject(employeE));

接收时,

byte[] semployee = extras.getByteArray("employee");

employee =(employeE)deserializeObject(semployeE);

仅供参,

public static byte[] serializeObject(Object o) throws Exception,IOException {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    ObjectOutput out = new ObjectOutputStream(bos);
    try {
        out.writeObject(o);
        // Get the bytes of the serialized object
        byte[] buf = bos.toByteArray();

        return buf;
    } catch (IOException E) {
        Log.e(LOG_TAG,"serializeObject",E);
        throw new Exception(E);
    } finally {
        if (out != null) {
            out.close();
        }
    }
}

public static Object deserializeObject(byte[] b)
        throws StreamCorruptedException,IOException,ClassnotFoundException,Exception {
    ObjecTinputStream in = new ObjecTinputStream(
            new ByteArrayInputStream(b));
    try {
        Object object = in.readObject();
        return object;
    } catch (Exception E) {
        Log.e(LOG_TAG,"deserializeObject",E);
        throw new Exception(E);
    } finally {
        if (in != null) {
            in.close();
        }
    }
}

大佬总结

以上是大佬教程为你收集整理的android – 如何在Service和Activity之间传递复杂数据?全部内容,希望文章能够帮你解决android – 如何在Service和Activity之间传递复杂数据?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。